1 2009-06-15 Adele Peterson <adele (a] apple.com> 2 3 Reviewed by Darin Adler. 4 5 Fix for <rdar://problem/6907228> Pasting a paragraph as quotation leaves you typing in blue instead of black; repros 6 7 * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): 8 When inserting a newline after the blockquote, we don't want to apply the original style after the insertion. 9 10 2009-06-15 Sam Weinig <sam (a] webkit.org> 11 12 Reviewed by Anders Carlsson. 13 14 Remove outdated comment. 15 16 * bindings/js/JSDOMWindowBase.h: 17 18 2009-06-15 Sam Weinig <sam (a] webkit.org> 19 20 Reviewed by Anders Carlsson. 21 22 Bring CustomGetPropertyNames more inline with the other 23 extended attributes prefixed with Custom, by making it 24 require a complete implementation. 25 26 * bindings/js/JSDOMWindowCustom.cpp: 27 (WebCore::JSDOMWindow::getPropertyNames): 28 * bindings/js/JSHistoryCustom.cpp: 29 (WebCore::JSHistory::getPropertyNames): 30 * bindings/js/JSLocationCustom.cpp: 31 (WebCore::JSLocation::getPropertyNames): 32 * bindings/js/JSStorageCustom.cpp: 33 (WebCore::JSStorage::getPropertyNames): 34 * bindings/scripts/CodeGeneratorJS.pm: 35 36 2009-06-15 Sam Weinig <sam (a] webkit.org> 37 38 Reviewed by Anders Carlsson. 39 40 Remove commented out ondataunavailable attribute event listener which 41 has now been removed from HTML 5. 42 43 * page/DOMWindow.idl: 44 45 2009-06-15 Sam Weinig <sam (a] webkit.org> 46 47 Reviewed by Anders Carlsson. 48 49 Move entire custom implementation of getOwnPropertySlot and put 50 for JSDOMWindow into JSDOMWindowCustom, eliminating the bit in 51 JSDOMWindowBase. 52 53 * bindings/js/JSDOMWindowBase.cpp: 54 * bindings/js/JSDOMWindowBase.h: 55 * bindings/js/JSDOMWindowCustom.cpp: 56 (WebCore::nonCachingStaticFunctionGetter): 57 (WebCore::childFrameGetter): 58 (WebCore::indexGetter): 59 (WebCore::namedItemGetter): 60 (WebCore::JSDOMWindow::getOwnPropertySlot): 61 (WebCore::JSDOMWindow::put): 62 (WebCore::JSDOMWindow::getPropertyAttributes): 63 * bindings/js/JSDOMWindowCustom.h: 64 * page/DOMWindow.idl: 65 66 2009-06-15 Jeremy Orlow (jorlow (a] chromium.org) 67 68 Reviewed by Dimitri Glazkov. 69 70 https://bugs.webkit.org/show_bug.cgi?id=26356 71 Define the functions in V8CustomBindings.h. "Forgot" this in my 72 earlier patch since it wasn't fully upstreamed when I wrote the 73 patch. 74 75 * bindings/v8/custom/V8CustomBinding.h: 76 77 2009-06-15 Andre Boule <aboule (a] apple.com> 78 79 Reviewed by Cameron Zwarich and Dan Bernstein. 80 81 - fix <rdar://problem/6967975> crash with NSString drawAtPoint 82 83 No test possible because this crash can only occur if the client uses 84 WebKit text drawing without ever using WebCore text, and DumpRenderTree 85 cannot do either. 86 87 * platform/graphics/FontCache.cpp: 88 (WebCore::FontCache::purgeInactiveFontData): Null-check 89 gFontPlatformDataCache. 90 91 2009-06-15 Simon Fraser <simon.fraser (a] apple.com> 92 93 Reviewed by Mark Rowe. 94 95 <rdar://problem/6974857> 96 97 Define ENABLE_3D_RENDERING when building on 10.6, and move ENABLE_3D_RENDERING 98 switch from config.h to wtf/Platform.h. 99 100 * Configurations/FeatureDefines.xcconfig: 101 * config.h: 102 103 2009-06-15 Pavel Feldman <pfeldman (a] chromium.org> 104 105 Reviewed by Timothy Hatcher. 106 107 Make WebInspector's console evaluation/completion asynchronous. 108 This way of evaluation allows serializing calls between 109 InspectorController and its frontend. 110 111 https://bugs.webkit.org/show_bug.cgi?id=26350 112 113 * inspector/front-end/Console.js: 114 (WebInspector.Console.prototype.completions): 115 (WebInspector.Console.prototype._reportCompletions): 116 (WebInspector.Console.prototype._evalInInspectedWindow): 117 (WebInspector.Console.prototype._enterKeyPressed.printResult): 118 (WebInspector.Console.prototype._enterKeyPressed): 119 * inspector/front-end/DatabaseQueryView.js: 120 * inspector/front-end/ObjectPropertiesSection.js: 121 (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression): 122 * inspector/front-end/ScriptsPanel.js: 123 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): 124 * inspector/front-end/TextPrompt.js: 125 (WebInspector.TextPrompt.prototype.complete): 126 (WebInspector.TextPrompt.prototype._completionsReady): 127 128 2009-06-15 Kevin McCullough <kmccullough (a] apple.com> 129 130 Reviewed by Tim Hatcher. 131 132 Reverted previous change as the old behavior was correct for heavy view. 133 134 * inspector/front-end/BottomUpProfileDataGridTree.js: 135 (WebInspector.BottomUpProfileDataGridNode.prototype._populate): 136 137 2009-06-15 Kevin McCullough <kmccullough (a] apple.com> 138 139 Reviewed by Tim Hatcher. 140 141 <rdar://problem/6968125> Profiler 'Call' count is incorrect in Heavy 142 view (26418) 143 144 - Removed code that copied call and time data from it's ancestor. 145 146 * inspector/front-end/BottomUpProfileDataGridTree.js: 147 (WebInspector.BottomUpProfileDataGridNode.prototype._populate): 148 149 2009-06-15 Chris Marrin <cmarrin (a] apple.com> 150 151 Reviewed by Simon Fraser <simon.fraser (a] apple.com>. 152 153 https://bugs.webkit.org/show_bug.cgi?id=26163 154 155 Added logic to updateTransitions similar to that in updateKeyframeAnimations 156 which detects and removes stale transitions. 157 158 Test: transitions/cancel-transition.html 159 160 * page/animation/CompositeAnimation.cpp: 161 (WebCore::CompositeAnimation::updateTransitions): 162 * page/animation/ImplicitAnimation.cpp: 163 (WebCore::ImplicitAnimation::ImplicitAnimation): 164 * page/animation/ImplicitAnimation.h: 165 (WebCore::ImplicitAnimation::active): 166 (WebCore::ImplicitAnimation::setActive): 167 168 2009-06-15 Dan Bernstein <mitz (a] apple.com> 169 170 Reviewed by Tim Hatcher. 171 172 - allow the source code font in the Web Inspector to be customized 173 174 * css/view-source.css: Use the default monospace font family and size 175 for source code. 176 * inspector/front-end/inspector.css: Use the default monospace font 177 family and size for console I/O. 178 179 2009-06-15 Simon Hausmann <simon.hausmann (a] nokia.com> 180 181 Reviewed by and done with Tor Arne Vestb. 182 183 Fix initialization of uninitialized members in FontFallbackListQt, leading 184 to random crashes when rendering text. 185 186 * platform/graphics/qt/FontFallbackListQt.cpp: 187 (WebCore::FontFallbackList::FontFallbackList): 188 (WebCore::FontFallbackList::invalidate): 189 190 2009-06-15 Xan Lopez <xlopez (a] igalia.com> 191 192 Reviewed by Holger Freyther. 193 194 https://bugs.webkit.org/show_bug.cgi?id=25895 195 [Gtk] Segfault when deleting the last/only character in an entry if a11y is enabled 196 197 Use computeOffsetInContainerNode instead of the inline 198 offsetInContainerNode to return the caret offset, since the former 199 can handle all types of anchoring. Otherwise we'll hit an ASSERT 200 in some situations in debug builds, and crash. 201 202 * editing/gtk/SelectionControllerGtk.cpp: 203 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 204 205 2009-06-15 Joe Ligman <joseph.ligman (a] nokia.com> 206 207 Reviewed by Simon Hausmann. 208 209 [Qt] Fix build break 210 Rename JSONObject to InspectorJSONObject 211 212 https://bugs.webkit.org/show_bug.cgi?id=26340 213 214 * GNUmakefile.am: 215 * WebCore.pro: 216 * WebCore.vcproj/WebCore.vcproj: 217 * WebCore.xcodeproj/project.pbxproj: 218 * WebCoreSources.bkl: 219 * inspector/ConsoleMessage.cpp: 220 (WebCore::ConsoleMessage::addToConsole): 221 * inspector/InspectorDOMStorageResource.cpp: 222 (WebCore::InspectorDOMStorageResource::bind): 223 * inspector/InspectorDatabaseResource.cpp: 224 (WebCore::InspectorDatabaseResource::bind): 225 * inspector/InspectorFrontend.cpp: 226 (WebCore::InspectorFrontend::newInspectorJSONObject): 227 (WebCore::InspectorFrontend::addMessageToConsole): 228 (WebCore::InspectorFrontend::addResource): 229 (WebCore::InspectorFrontend::updateResource): 230 (WebCore::InspectorFrontend::addDatabase): 231 (WebCore::InspectorFrontend::addDOMStorage): 232 * inspector/InspectorFrontend.h: 233 * inspector/InspectorJSONObject.cpp: Copied from WebCore/inspector/JSONObject.cpp. 234 (WebCore::InspectorJSONObject::InspectorJSONObject): 235 (WebCore::InspectorJSONObject::set): 236 (WebCore::InspectorJSONObject::scriptObject): 237 (WebCore::InspectorJSONObject::createNew): 238 * inspector/InspectorJSONObject.h: Copied from WebCore/inspector/JSONObject.h. 239 * inspector/InspectorResource.cpp: 240 (WebCore::populateHeadersObject): 241 (WebCore::InspectorResource::createScriptObject): 242 (WebCore::InspectorResource::updateScriptObject): 243 * inspector/JSONObject.cpp: Removed. 244 * inspector/JSONObject.h: Removed. 245 246 2009-06-12 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 247 248 Reviewed by Simon Hausmann. 249 250 Refactor handling of options in the build-webkit script 251 252 Options are now defined in one place, and then reused when creating 253 the usage help text, the arguments to GetOptions(), and when passing 254 the options on to the underlying port-dependent build systems. 255 256 This allows the Qt port to read the defaults for the options from the 257 pro file (dynamically), and to pass the options on to qmake at build. 258 259 * WebCore.pro: 260 261 2009-06-14 chris fleizach <cfleizach (a] apple.com> 262 263 Reviewed by Darin Adler. 264 265 Bug 26399: REGRESSION: java applet accessibility broken 266 https://bugs.webkit.org/show_bug.cgi?id=26399 267 268 Accessibility could not access the elements in a java applet 269 when going down the AX hierarchy. 270 271 Test: DRT does not allow java applets so add a manual test: 272 manual-tests/accessibility/java-applet.html 273 274 * accessibility/AccessibilityRenderObject.cpp: 275 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 276 * accessibility/mac/AccessibilityObjectMac.mm: 277 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 278 * accessibility/mac/AccessibilityObjectWrapper.mm: 279 (-[AccessibilityObjectWrapper attachmentView]): 280 * manual-tests/accessibility: Added. 281 * manual-tests/accessibility/java-applet.html: Added. 282 * manual-tests/accessibility/resources: Added. 283 * manual-tests/accessibility/resources/AppletTest.class: Added. 284 * manual-tests/accessibility/resources/AppletTest.java: Added. 285 (AppletTest): 286 (AppletTest.init): 287 288 2009-06-14 Sam Weinig <sam (a] webkit.org> 289 290 Reviewed by Cameron Zwarich. 291 292 Rename the CustomGetOwnPropertySlot and CustomPutFunction extended attributes 293 to DelegatingGetOwnPropertySlot and DelegatingPutFunction to more clearly describe 294 their functionality (customGetOwnPropertySlot and customPut member functions have 295 been renamed getOwnPropertySlotDelegate and putDelegate). CustomGetOwnPropertySlot 296 and CustomPutFunction have been repurposed to mean a complete custom implementation 297 of the function which is inline with other extended attributes prefixed with Custom. 298 299 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 300 (WebCore::JSCSSStyleDeclaration::putDelegate): 301 * bindings/js/JSDOMWindowCustom.h: 302 (WebCore::JSDOMWindow::getOwnPropertySlotDelegate): 303 (WebCore::JSDOMWindow::putDelegate): 304 * bindings/js/JSHTMLAppletElementCustom.cpp: 305 (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate): 306 (WebCore::JSHTMLAppletElement::putDelegate): 307 * bindings/js/JSHTMLEmbedElementCustom.cpp: 308 (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate): 309 (WebCore::JSHTMLEmbedElement::putDelegate): 310 * bindings/js/JSHTMLObjectElementCustom.cpp: 311 (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate): 312 (WebCore::JSHTMLObjectElement::putDelegate): 313 * bindings/js/JSHistoryCustom.cpp: 314 (WebCore::JSHistory::getOwnPropertySlotDelegate): 315 (WebCore::JSHistory::putDelegate): 316 * bindings/js/JSLocationCustom.cpp: 317 (WebCore::JSLocation::getOwnPropertySlotDelegate): 318 (WebCore::JSLocation::putDelegate): 319 (WebCore::JSLocationPrototype::putDelegate): 320 * bindings/js/JSStorageCustom.cpp: 321 (WebCore::JSStorage::putDelegate): 322 * bindings/js/JSWorkerContextCustom.cpp: 323 (WebCore::JSWorkerContext::getOwnPropertySlotDelegate): 324 * bindings/scripts/CodeGeneratorJS.pm: 325 * css/CSSStyleDeclaration.idl: 326 * html/HTMLAppletElement.idl: 327 * html/HTMLEmbedElement.idl: 328 * html/HTMLObjectElement.idl: 329 * page/DOMWindow.idl: 330 * page/History.idl: 331 * page/Location.idl: 332 * storage/Storage.idl: 333 * workers/WorkerContext.idl: 334 335 2009-06-14 Dan Bernstein <mitz (a] apple.com> 336 337 Reviewed by Darin Adler. 338 339 - fix https://bugs.webkit.org/show_bug.cgi?id=26395 340 <rdar://problem/6971333> REGRESSION (r40813-r40884): No caret after 341 going back/forward to page with focused text field 342 343 No test, since the back/forward cache is disabled in DumpRenderTree 344 345 * loader/FrameLoader.cpp: 346 (WebCore::FrameLoader::open): Added a call to CachedPage::restore(), 347 which was removed in r40870. 348 349 2009-06-14 Darin Adler <darin (a] apple.com> 350 351 * editing/TextIterator.cpp: 352 (WebCore::BitStack::push): Use named constant instead of hardcoded numbers. 353 (WebCore::BitStack::top): Ditto. 354 355 2009-06-14 Darin Adler <darin (a] apple.com> 356 357 Reviewed by Dan Bernstein. 358 359 Bug 26364: Search can find text that's hidden by overflow:hidden 360 https://bugs.webkit.org/show_bug.cgi?id=26364 361 <rdar://problem/6952081> 362 363 Test: fast/text/find-hidden-text.html 364 365 * editing/TextIterator.cpp: 366 (WebCore::BitStack::BitStack): Added. 367 (WebCore::BitStack::push): Added. 368 (WebCore::BitStack::pop): Added. 369 (WebCore::BitStack::top): Added. 370 (WebCore::BitStack::size): Added. 371 (WebCore::parentOrShadowParent): Added. Helper function for walking up 372 the parent node chain, crossing shadow tree boundaries. 373 (WebCore::depthCrossingShadowBoundaries): Added for use in assertions. 374 Counts the depth of a node using the parentOrShadowParent function. 375 (WebCore::fullyClipsContents): Added. Returns true for an element that 376 fully clips its contents, currently defined as a box that has zero width 377 or height and hides overflow. We can add other cases here later. 378 (WebCore::ignoresContainerClip): Added. Returns true for an element that 379 ignores its container clip, currently defined as an element with absolute 380 or fixed positioning. 381 (WebCore::pushFullyClippedState): Added. Pushes a bit on the stack indicating 382 if the node in question fully clips its contents. 383 (WebCore::setUpFullyClippedStack): Added. Pushes a bit for each ancestor of 384 a node. Used when creating an iterator. 385 (WebCore::TextIterator::TextIterator): Removed code to initialize 386 m_inShadowContent. Call setUpFullyClippedStack. 387 (WebCore::TextIterator::advance): Use parentOrShadowParent. Call pop when moving 388 up to a parent node, and also one extra time when moving to a sibling node. 389 Call pushFullyClippedState when moving to a child node, or when moving to a 390 sibling node after the aforementioned call to pop. 391 (WebCore::TextIterator::handleTextNode): Return early if the node is fully clipped. 392 (WebCore::TextIterator::handleReplacedElement): Ditto. 393 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): 394 Call setUpFullyClippedStack. 395 (WebCore::SimplifiedBackwardsTextIterator::advance): Same changes as 396 TextIterator::advance above. 397 398 * editing/TextIterator.h: Added BitStack class and added m_fullyClippedStack to both 399 TextIterator and SimplifiedBackwardsTextIterator. Removed unneeded m_inShadowContent. 400 401 2009-06-14 David Hyatt <hyatt (a] apple.com> 402 403 Reviewed by Simon Fraser. 404 405 https://bugs.webkit.org/show_bug.cgi?id=26362 406 407 Back out Simon's fix and replace it with a better one that doesn't needlessly destroy RenderObjects. 408 Use NoInherit rather than Detach for child index changes, and don't worry about other pseudo-class state 409 changes, since they were handled already with setNeedsStyleRecalcs on the affected objects themselves. 410 411 * dom/Element.cpp: 412 (WebCore::Element::recalcStyle): 413 * dom/Node.cpp: 414 (WebCore::Node::diff): 415 * rendering/style/RenderStyle.h: 416 (WebCore::InheritedFlags::setChildIndex): 417 418 2009-06-14 David Hyatt <hyatt (a] apple.com> 419 420 Reviewed by Dan Bernstein. 421 422 Move all of the mutable member variables from Font into the refcounted FontFallbackList. This makes 423 copying of Fonts more efficient and also effectively makes all of the mutations of a Font object happen 424 inside the FontFallbackList. 425 426 * WebCore.base.exp: 427 * platform/graphics/Font.cpp: 428 (WebCore::Font::Font): 429 (WebCore::Font::operator=): 430 (WebCore::Font::primaryFont): 431 (WebCore::Font::update): 432 * platform/graphics/Font.h: 433 (WebCore::Font::setWordSpacing): 434 (WebCore::Font::setLetterSpacing): 435 * platform/graphics/FontFallbackList.cpp: 436 (WebCore::FontFallbackList::FontFallbackList): 437 (WebCore::FontFallbackList::invalidate): 438 (WebCore::FontFallbackList::determinePitch): 439 * platform/graphics/FontFallbackList.h: 440 (WebCore::FontFallbackList::primarySimpleFontData): 441 (WebCore::FontFallbackList::primaryFontData): 442 * platform/graphics/FontFastPath.cpp: 443 (WebCore::Font::glyphDataForCharacter): 444 445 2009-06-14 Simon Fraser <simon.fraser (a] apple.com> 446 447 Reviewed by Darin Adler 448 449 https://bugs.webkit.org/show_bug.cgi?id=26362 450 451 Fix an issue noted on quirksmode.com where dynamically adding siblings does not 452 update :nth-child style correctly. 453 454 Test: fast/css/nth-child-dynamic.html 455 456 * dom/Node.h: 457 Change diff() to take const RenderStyle* 458 * dom/Node.cpp: 459 (WebCore::Node::diff): 460 When comparing styles to decide whether to detach and reattach, we 461 need to look at whether the pseudoclass-related data in the style 462 changed (since RenderStyle::diff doesn't check this). 463 464 * rendering/style/RenderStyle.cpp: 465 (WebCore::RenderStyle::getCachedPseudoStyle): 466 (WebCore::RenderStyle::inheritedNotEqual): 467 Make these methods const. 468 * rendering/style/RenderStyle.h: 469 (WebCore::InheritedFlags::styleType): 470 (WebCore::InheritedFlags::pseudoClassStateEquivalent): 471 Make methods const. 472 Add new method that compares the pseudoclass-related members. 473 474 2009-06-13 Peter Kasting <pkasting (a] google.com> 475 476 Reviewed by Kevin Ollivier. 477 478 https://bugs.webkit.org/show_bug.cgi?id=25709 part eleven 479 Write a wx implementation so the wx port can compile. For now this is 480 mostly a copy of the Cairo port, but in the future it can be changed to 481 use a wxBitmap as the storage type everywhere (just as Cairo can 482 probably be changed). 483 484 Also ASSERT for any other ports who call getAddr() (I don't think there 485 are any, and besides, they probably won't link, but this doesn't hurt). 486 487 Also fixes a dumb Cairo build bustage typo introduced in part ten. 488 489 * platform/graphics/wx/ImageSourceWx.cpp: 490 (WebCore::ImageSource::createFrameAtIndex): 491 * platform/image-decoders/ImageDecoder.h: 492 (WebCore::RGBA32Buffer::getAddr): 493 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 494 (WebCore::RGBA32Buffer::setStatus): 495 * platform/image-decoders/wx: Added. 496 * platform/image-decoders/wx/ImageDecoderWx.cpp: Added. 497 (WebCore::RGBA32Buffer::RGBA32Buffer): 498 (WebCore::RGBA32Buffer::clear): 499 (WebCore::RGBA32Buffer::zeroFill): 500 (WebCore::RGBA32Buffer::copyBitmapData): 501 (WebCore::RGBA32Buffer::setSize): 502 (WebCore::RGBA32Buffer::asNewNativeImage): 503 (WebCore::RGBA32Buffer::hasAlpha): 504 (WebCore::RGBA32Buffer::setHasAlpha): 505 (WebCore::RGBA32Buffer::setStatus): 506 (WebCore::RGBA32Buffer::operator=): 507 (WebCore::RGBA32Buffer::width): 508 (WebCore::RGBA32Buffer::height): 509 * webcore-wx.bkl: 510 511 2009-06-13 Stephen White <senorblanco (a] chromium.org> 512 513 Reviewed by Dimitri Glazkov. Landed by Adam Barth. 514 515 https://bugs.webkit.org/show_bug.cgi?id=26320 516 517 Some minor code cleanup for chromium/skia port. Removed #ifdef's 518 around skia API changes, since the new version seems solid and we 519 don't need to go back. Added some comments to 520 TransparencyWin.h, as requested by Brett in 521 https://bugs.webkit.org/show_bug.cgi?id=24584. 522 523 * platform/graphics/chromium/FontCacheLinux.cpp: 524 (WebCore::FontCache::createFontPlatformData): 525 * platform/graphics/chromium/TransparencyWin.h: 526 * platform/graphics/skia/PathSkia.cpp: 527 (WebCore::Path::boundingRect): 528 (WebCore::boundingBoxForCurrentStroke): 529 * platform/graphics/skia/SkiaUtils.cpp: 530 (WebCore::SkPathContainsPoint): 531 532 2009-06-13 Adam Barth <abarth (a] webkit.org> 533 534 Reviewed by Darin Fisher. 535 536 https://bugs.webkit.org/show_bug.cgi?id=24492 537 538 Moved registerURLSchemeAsLocal and registerURLSchemeAsNoAccess from 539 FrameLoader to SecurityOrigin. 540 541 * WebCore.base.exp: 542 * loader/FrameLoader.cpp: 543 (WebCore::FrameLoader::loadFrameRequest): 544 (WebCore::FrameLoader::canLoad): 545 * loader/FrameLoader.h: 546 * page/SecurityOrigin.cpp: 547 (WebCore::localSchemes): 548 (WebCore::noAccessSchemes): 549 (WebCore::SecurityOrigin::SecurityOrigin): 550 (WebCore::SecurityOrigin::isLocal): 551 (WebCore::SecurityOrigin::registerURLSchemeAsLocal): 552 (WebCore::SecurityOrigin::shouldTreatURLAsLocal): 553 (WebCore::SecurityOrigin::shouldTreatURLSchemeAsLocal): 554 (WebCore::SecurityOrigin::registerURLSchemeAsNoAccess): 555 (WebCore::SecurityOrigin::shouldTreatURLSchemeAsNoAccess): 556 * page/SecurityOrigin.h: 557 558 2009-06-13 Ben Murdoch <benm (a] google.com> 559 560 Reviewed by David Kilzer. Landed by Adam Barth. 561 562 https://bugs.webkit.org/show_bug.cgi?id=26189 563 564 This patch changes the way PageGroups create their localStorage 565 objects. Rather than creating a local storage object for the page group 566 when a page is added to the group, the local storage object is now 567 created lazily when the local storage object is requested by the 568 DOMWindow. 569 570 * page/PageGroup.cpp: 571 (WebCore::PageGroup::closeLocalStorage): Before attempting to close a local storage object for a page group, ensure one has been created. 572 (WebCore::PageGroup::addPage): Do not automatically try to create a local storage object when a page is added to the group. 573 (WebCore::PageGroup::localStorage): Create a local storage object if one does not exist and return it. 574 * page/PageGroup.h: Add private hasLocalStorage method to PageGroup. 575 576 577 2009-06-13 Ben Murdoch <benm (a] google.com> 578 579 Reviewed by Eric Seidel. Landed by Adam Barth. 580 581 https://bugs.webkit.org/show_bug.cgi?id=26189 582 583 Add ENABLE(DOM_STORAGE) guards to the dom storage source files. 584 585 * storage/LocalStorage.cpp: Add ENABLE(DOM_STORAGE) guards to the file. 586 * storage/LocalStorage.h: Ditto 587 * storage/LocalStorageArea.cpp: Ditto 588 * storage/LocalStorageArea.h: Ditto 589 * storage/LocalStorageTask.cpp: Ditto 590 * storage/LocalStorageTask.h: Ditto 591 * storage/LocalStorageThread.cpp: Ditto 592 * storage/LocalStorageThread.h: Ditto 593 * storage/SessionStorage.cpp: Ditto 594 * storage/SessionStorage.h: Ditto 595 * storage/SessionStorageArea.cpp: Ditto 596 * storage/SessionStorageArea.h: Ditto 597 * storage/Storage.cpp: Ditto 598 * storage/Storage.h: Ditto 599 * storage/StorageArea.cpp: Ditto 600 * storage/StorageArea.h: Ditto 601 * storage/StorageEvent.cpp: Ditto 602 * storage/StorageEvent.h: Ditto 603 * storage/StorageMap.cpp: Ditto 604 * storage/StorageMap.h: Ditto 605 * storage/StorageEvent.idl: Add Conditional=DOM_STORAGE attribute. 606 * storage/Storage.idl: Ditto 607 608 2009-06-13 Peter Kasting <pkasting (a] google.com> 609 610 Reviewed by Eric Seidel. 611 612 https://bugs.webkit.org/show_bug.cgi?id=25709 part ten 613 Make Skia use the root directory ImageDecoder.h and factor out most 614 Skia-specific bits into skia/ImageDecoderSkia.cpp. Also fix a pair of 615 style violations in ImageDecoderCairo.cpp. This is the last patch for 616 this bug, everything beyond this is an enhancement rather than 617 unforking. 618 619 * platform/image-decoders/ImageDecoder.h: 620 (WebCore::RGBA32Buffer::getAddr): 621 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 622 (WebCore::RGBA32Buffer::hasAlpha): 623 (WebCore::RGBA32Buffer::setHasAlpha): 624 (WebCore::setStatus): 625 * platform/image-decoders/skia/ImageDecoder.h: Removed. 626 * platform/image-decoders/skia/ImageDecoderSkia.cpp: Added. 627 (WebCore::RGBA32Buffer::RGBA32Buffer): 628 (WebCore::RGBA32Buffer::clear): 629 (WebCore::RGBA32Buffer::zeroFill): 630 (WebCore::RGBA32Buffer::copyBitmapData): 631 (WebCore::RGBA32Buffer::setSize): 632 (WebCore::RGBA32Buffer::asNewNativeImage): 633 (WebCore::RGBA32Buffer::hasAlpha): 634 (WebCore::RGBA32Buffer::setHasAlpha): 635 (WebCore::RGBA32Buffer::setStatus): 636 (WebCore::RGBA32Buffer::operator=): 637 (WebCore::RGBA32Buffer::width): 638 (WebCore::RGBA32Buffer::height): 639 640 2009-06-13 Victor Wang <victorw (a] chromium.org> 641 642 Reviewed by Eric Seidel. Landed by Adam Barth. 643 644 https://bugs.webkit.org/show_bug.cgi?id=26333 645 Alert during a dragenter event handler will crash the renderer 646 647 This crash is casued by calling NULL pointer m_documentUnderMouse in 648 DragController::tryDocumentDrag() 649 650 tryDHTMLDrag fires dragenter event. The event listener that listens 651 to this event may create a nested message loop (open a modal dialog), 652 which could process dragleave event and reset m_documentUnderMouse in 653 dragExited. 654 655 Fix the crash by checking m_documentUnderMouse after tryDHTMLDrag and 656 do not continue if the pointer has been set to NULL. 657 658 Test: DRT does not show alerts so add a manual test: 659 manual-tests/drag-enter-alert.html 660 661 * manual-tests/drag-enter-alert.html: Added. 662 * manual-tests/resources/drag-image.png: Added. 663 * page/DragController.cpp: 664 (WebCore::DragController::tryDocumentDrag): 665 666 2009-06-13 Nate Chapin <japhet (a] google.com> 667 668 Reviewed by Dimitri Glazkov. Landed by Adam Barth. 669 670 Moved V8 Bindings for V8CustomXPathNSResolver to svn.webkit.org. 671 672 https://bugs.webkit.org/show_bug.cgi?id=26227 673 674 * bindings/v8/custom/V8CustomXPathNSResolver.cpp: Added. 675 (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver): Moved from src.chromium.org. 676 (WebCore::V8CustomXPathNSResolver::~V8CustomXPathNSResolver): Moved from src.chromium.org. 677 (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI): Moved from src.chromium.org. 678 * bindings/v8/custom/V8CustomXPathNSResolver.h: Added. 679 * bindings/v8/custom/V8DocumentCustom.cpp: Updated includes. 680 (WebCore::CALLBACK_FUNC_DECL): Updated class name. 681 682 2009-06-13 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 683 684 Reviewed by Mark Rowe. Landed by Adam Barth. 685 686 Remove obsolete declarations for old Symbian port 687 https://bugs.webkit.org/show_bug.cgi?id=26339 688 689 * platform/graphics/FloatPoint.h: Remove declarations for native SYMBIAN adaptation. 690 * platform/graphics/FloatRect.h: Ditto. 691 * platform/graphics/IntPoint.h: Ditto. 692 * platform/graphics/IntRect.h: Ditto. 693 * platform/graphics/IntSize.h: Ditto. 694 695 2009-06-13 Dirk Schulze <krit (a] webkit.org> 696 697 Reviewed by Eric Seidel. 698 699 Added subRegion calculation to SVG filter. Every filter effect is 700 clipped to the filter region (according to the spec). This makes 701 ImageBuffers for filter effects smaller and we just need to take 702 care about big filter regions. 703 SVGFEImage needed a correction, to avoid an ASSERT. The two filter 704 effects feOffset and feFlood help to test the new subRegion code. 705 706 Tests: svg/filters/subRegion-one-effect.svg 707 svg/filters/subRegion-two-effects.svg 708 709 * platform/graphics/filters/FEBlend.h: 710 (WebCore::FEBlend::uniteChildEffectSubregions): 711 * platform/graphics/filters/FEColorMatrix.h: 712 (WebCore::FEColorMatrix::uniteChildEffectSubregions): 713 * platform/graphics/filters/FEComponentTransfer.h: 714 (WebCore::FEComponentTransfer::uniteChildEffectSubregions): 715 * platform/graphics/filters/FEComposite.h: 716 (WebCore::FEComposite::uniteChildEffectSubregions): 717 * platform/graphics/filters/Filter.h: 718 (WebCore::Filter::setSourceImage): 719 (WebCore::Filter::sourceImage): 720 * platform/graphics/filters/FilterEffect.cpp: 721 (WebCore::FilterEffect::FilterEffect): 722 (WebCore::FilterEffect::calculateUnionOfChildEffectSubregions): 723 (WebCore::FilterEffect::calculateEffectRect): 724 * platform/graphics/filters/FilterEffect.h: 725 (WebCore::FilterEffect::setUnionOfChildEffectSubregions): 726 (WebCore::FilterEffect::unionOfChildEffectSubregions): 727 (WebCore::FilterEffect::hasX): 728 (WebCore::FilterEffect::setHasX): 729 (WebCore::FilterEffect::hasY): 730 (WebCore::FilterEffect::setHasY): 731 (WebCore::FilterEffect::hasWidth): 732 (WebCore::FilterEffect::setHasWidth): 733 (WebCore::FilterEffect::hasHeight): 734 (WebCore::FilterEffect::setHasHeight): 735 (WebCore::FilterEffect::setEffectBuffer): 736 (WebCore::FilterEffect::uniteChildEffectSubregions): 737 * platform/graphics/filters/SourceAlpha.h: 738 (WebCore::SourceAlpha::calculateEffectRect): 739 * platform/graphics/filters/SourceGraphic.cpp: 740 (WebCore::SourceGraphic::calculateEffectRect): 741 (WebCore::SourceGraphic::apply): 742 * platform/graphics/filters/SourceGraphic.h: 743 * rendering/SVGRenderSupport.cpp: 744 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 745 (WebCore::SVGRenderBase::finishRenderSVGContent): 746 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 747 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 748 * svg/graphics/SVGResourceFilter.cpp: 749 (WebCore::SVGResourceFilter::prepareFilter): 750 (WebCore::SVGResourceFilter::applyFilter): 751 * svg/graphics/SVGResourceFilter.h: 752 * svg/graphics/filters/SVGFEConvolveMatrix.h: 753 (WebCore::FEConvolveMatrix::uniteChildEffectSubregions): 754 * svg/graphics/filters/SVGFEDiffuseLighting.h: 755 (WebCore::FEDiffuseLighting::uniteChildEffectSubregions): 756 * svg/graphics/filters/SVGFEDisplacementMap.h: 757 (WebCore::FEDisplacementMap::uniteChildEffectSubregions): 758 * svg/graphics/filters/SVGFEFlood.cpp: 759 (WebCore::FEFlood::apply): 760 * svg/graphics/filters/SVGFEGaussianBlur.h: 761 (WebCore::FEGaussianBlur::uniteChildEffectSubregions): 762 * svg/graphics/filters/SVGFEImage.cpp: 763 (WebCore::FEImage::FEImage): 764 * svg/graphics/filters/SVGFEImage.h: 765 * svg/graphics/filters/SVGFEMerge.cpp: 766 (WebCore::FEMerge::uniteEffectRect): 767 * svg/graphics/filters/SVGFEMerge.h: 768 * svg/graphics/filters/SVGFEMorphology.h: 769 (WebCore::FEMorphology::uniteChildEffectSubregions): 770 * svg/graphics/filters/SVGFEOffset.cpp: 771 (WebCore::FEOffset::apply): 772 * svg/graphics/filters/SVGFEOffset.h: 773 (WebCore::FEOffset::uniteChildEffectSubregions): 774 * svg/graphics/filters/SVGFESpecularLighting.h: 775 (WebCore::FESpecularLighting::uniteEffectRect): 776 * svg/graphics/filters/SVGFETile.cpp: 777 (WebCore::FETile::uniteChildEffectSubregions): 778 * svg/graphics/filters/SVGFETile.h: 779 * svg/graphics/filters/SVGFilter.cpp: 780 (WebCore::SVGFilter::calculateEffectSubRegion): 781 * svg/graphics/filters/SVGFilter.h: 782 (WebCore::SVGFilter::effectBoundingBoxMode): 783 (WebCore::SVGFilter::filterRegion): 784 (WebCore::SVGFilter::sourceImageRect): 785 786 2009-06-13 Peter Kasting <pkasting (a] google.com> 787 788 Bustage: Fix broken GIFs on Cairo due to subtle typo. Fix a warning. 789 790 * platform/image-decoders/ImageDecoder.h: 791 (WebCore::RGBA32Buffer::copyRowNTimes): 792 * platform/image-decoders/bmp/BMPImageReader.cpp: 793 (WebCore::BMPImageReader::processBitmasks): 794 795 2009-06-13 Peter Kasting <pkasting (a] google.com> 796 797 GTK bustage fix. "inline" is handled differently by different compilers. 798 799 * platform/image-decoders/ImageDecoder.h: 800 (WebCore::RGBA32Buffer::getAddr): 801 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: 802 803 2009-06-13 Peter Kasting <pkasting (a] google.com> 804 805 Reviewed by Eric Seidel. 806 807 https://bugs.webkit.org/show_bug.cgi?id=25709 part nine 808 Factor Cairo-specific implementation out of ImageDecoder.h into 809 ImageDecoderCairo.cpp. Add some comments to functions declared 810 in ImageDecoder.h. 811 812 * GNUmakefile.am: 813 * WebCore.vcproj/WebCore.vcproj: 814 * platform/image-decoders/ImageDecoder.h: 815 * platform/image-decoders/cairo: Added. 816 * platform/image-decoders/cairo/ImageDecoderCairo.cpp: Added. 817 (WebCore::RGBA32Buffer::RGBA32Buffer): 818 (WebCore::RGBA32Buffer::clear): 819 (WebCore::RGBA32Buffer::zeroFill): 820 (WebCore::RGBA32Buffer::copyBitmapData): 821 (WebCore::RGBA32Buffer::setSize): 822 (WebCore::RGBA32Buffer::asNewNativeImage): 823 (WebCore::RGBA32Buffer::hasAlpha): 824 (WebCore::RGBA32Buffer::setHasAlpha): 825 (WebCore::RGBA32Buffer::operator=): 826 (WebCore::RGBA32Buffer::width): 827 (WebCore::RGBA32Buffer::height): 828 (WebCore::RGBA32Buffer::getAddr): 829 830 2009-06-13 David Hyatt <hyatt (a] apple.com> 831 832 Reviewed by Darin Adler. 833 834 Cleanup of the new MidpointState class. Turn it into a struct instead. Fix a mistaken 835 assertion removal and some unintentional whitespace changes. 836 837 * platform/text/BidiResolver.h: 838 (WebCore::MidpointState::reset): 839 * rendering/RenderBlock.h: 840 * rendering/bidi.cpp: 841 (WebCore::BidiRun::operator delete): 842 (WebCore::chopMidpointsAt): 843 (WebCore::checkMidpoints): 844 (WebCore::addMidpoint): 845 (WebCore::appendRunsForObject): 846 (WebCore::RenderBlock::findNextLineBreak): 847 848 2009-06-12 David Hyatt <hyatt (a] apple.com> 849 850 Reviewed by Dan Bernstein. 851 852 https://bugs.webkit.org/show_bug.cgi?id=26367 853 854 Remove the global variables in bidi.cpp. Make a new struct, MidpointState, that holds all of the 855 midpoint information. Add the remaining global variables as arguments passed down through functions 856 as needed. 857 858 * platform/text/BidiResolver.h: 859 (WebCore::MidpointState::MidpointState): 860 (WebCore::MidpointState::reset): 861 (WebCore::BidiResolver::midpointState): 862 * rendering/RenderBlock.h: 863 * rendering/bidi.cpp: 864 (WebCore::BidiRun::operator delete): 865 (WebCore::chopMidpointsAt): 866 (WebCore::checkMidpoints): 867 (WebCore::addMidpoint): 868 (WebCore::appendRunsForObject): 869 (WebCore::RenderBlock::bidiReorderLine): 870 (WebCore::RenderBlock::layoutInlineChildren): 871 (WebCore::RenderBlock::determineStartPosition): 872 (WebCore::skipNonBreakingSpace): 873 (WebCore::shouldCollapseWhiteSpace): 874 (WebCore::requiresLineBox): 875 (WebCore::RenderBlock::generatesLineBoxesForInlineChild): 876 (WebCore::RenderBlock::skipTrailingWhitespace): 877 (WebCore::RenderBlock::skipLeadingWhitespace): 878 (WebCore::shouldSkipWhitespaceAfterStartObject): 879 (WebCore::RenderBlock::findNextLineBreak): 880 881 2009-06-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 882 883 Build fix for Qt. After recent ImageDeocder.h changes. I want 884 the original change to be backed out as the whole Skia merging 885 is going in the wrong direction. The discussion will happen in 886 the bugtracker. 887 888 https://bugs.webkit.org/show_bug.cgi?id=25709. 889 890 * platform/image-decoders/ImageDecoder.h: 891 892 2009-06-12 Jan Michael Alonzo <jmalonzo (a] webkit.org> 893 894 Gtk build fix: include cstdio so we can use sscanf 895 896 Gtk/Win Cairo build fix: use isASCIISpace instead of isspace 897 Suggested by Brent Fulgham 898 899 * platform/image-decoders/xbm/XBMImageDecoder.cpp: 900 (WebCore::XBMImageDecoder::decodeDatum): 901 902 2009-06-12 Peter Kasting <pkasting (a] google.com> 903 904 Yet another Skia bustage fix. 905 906 * platform/image-decoders/skia/ImageDecoder.h: 907 (WebCore::RGBA32Buffer::setSize): Avoid symbol name clash. The better fix is to take an IntSize(); I'll do that later. 908 909 2009-06-12 Peter Kasting <pkasting (a] google.com> 910 911 Fix remaining Cairo build bustage from 912 https://bugs.webkit.org/show_bug.cgi?id=25709 changes. Use 913 Vector<char> in place of std::string. 914 915 * platform/image-decoders/xbm/XBMImageDecoder.cpp: 916 (WebCore::XBMImageDecoder::setData): 917 (WebCore::XBMImageDecoder::decodeHeader): 918 (WebCore::XBMImageDecoder::decodeDatum): 919 * platform/image-decoders/xbm/XBMImageDecoder.h: 920 921 2009-06-12 David Levin <levin (a] chromium.org> 922 923 Reviewed by Darin Adler. 924 925 UString shouldn't create sharedBuffer for SmallStrings. 926 https://bugs.webkit.org/show_bug.cgi?id=26347 927 928 Change the call to use the method UString::Rep::sharedBuffer due 929 to changes in UString. 930 931 No noticable change in behavior, so no test. 932 933 * platform/text/StringImpl.cpp: 934 (WebCore::StringImpl::create): 935 936 2009-06-12 Peter Kasting <pkasting (a] google.com> 937 938 Fix Chromium and some of Cairo build bustage, fallout from 939 https://bugs.webkit.org/show_bug.cgi?id=25709 changes. 940 941 * WebCore.vcproj/WebCore.vcproj: Add missing XBM decoder files. 942 * platform/image-decoders/skia/ImageDecoder.h: 943 (WebCore::RGBA32Buffer::copyRowNTimes): Fix typo that broke Skia GIF decoding. 944 945 2009-06-12 Simon Fraser <simon.fraser (a] apple.com> 946 947 Reviewed by Dan Bernstein 948 949 https://bugs.webkit.org/show_bug.cgi?id=26095 950 951 Fix crash when a renderer for an anonymous node is composited 952 by null-checking renderer()->node(). 953 954 Test: compositing/generated-content.html 955 956 * rendering/RenderLayerBacking.cpp: 957 (WebCore::RenderLayerBacking::createGraphicsLayer): 958 (WebCore::RenderLayerBacking::rendererHasBackground): 959 (WebCore::RenderLayerBacking::rendererBackgroundColor): 960 (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): 961 (WebCore::RenderLayerBacking::paintIntoLayer): 962 963 2009-06-12 Simon Fraser <simon.fraser (a] apple.com> 964 965 Fix build when ACCELERATED_COMPOSITING is defined. 966 967 * loader/EmptyClients.h: 968 (WebCore::EmptyChromeClient::attachRootGraphicsLayer): 969 (WebCore::EmptyChromeClient::setNeedsOneShotDrawingSynchronization): 970 (WebCore::EmptyChromeClient::scheduleViewUpdate): 971 Add stubs for the compositing-related ChromeClient methods. 972 973 * rendering/RenderLayerCompositor.cpp: 974 (WebCore::RenderLayerCompositor::updateRootLayerPosition): 975 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 976 docWidth()/docHeight() became private. Use overflowWidth()/overflowHeight() instead, which 977 matches what is used to size the WebHTMLView. 978 979 2009-06-12 jorlow <jorlow (a] chromium.org> 980 981 Reviewed by David Levin. 982 983 https://bugs.webkit.org/show_bug.cgi?id=26356 984 http://crbug.com/14006 985 Create custom bindings for v8. The rest of these files are still 986 forked (so the review is happening on the chromium review site). 987 These bindings have been tested on a hacked up Chromium instance 988 (also running --single-process) and Android. 989 990 * bindings/v8/custom/V8StorageCustom.cpp: Added. 991 992 2009-06-12 Dmitry Titov <dimich (a] chromium.org> 993 994 Reviewed by David Levin. 995 996 https://bugs.webkit.org/show_bug.cgi?id=26359 997 [v8] Add XMLHttpRequest to WorkerContextExecutionProxy. 998 999 * bindings/v8/WorkerContextExecutionProxy.cpp: 1000 (WebCore::WorkerContextExecutionProxy::ToV8Object): Add type == V8ClassIndex::XMLHTTPREQUEST to the convertable types. 1001 (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): same. 1002 * bindings/v8/WorkerContextExecutionProxy.h: fix typo in the comment. 1003 1004 2009-06-12 Peter Kasting <pkasting (a] google.com> 1005 1006 Reviewed by Eric Seidel. 1007 1008 https://bugs.webkit.org/show_bug.cgi?id=25709 part eight 1009 Replace placeholder Cairo BMP, ICO, XBM decoders with real ones. Remove 1010 all the decoders from skia/ since they are now just mirrors of the Cairo 1011 ones. 1012 1013 * GNUmakefile.am: 1014 * WebCore.vcproj/WebCore.vcproj: 1015 * WebCoreSources.bkl: 1016 * platform/graphics/cairo/ImageSourceCairo.cpp: 1017 (WebCore::createDecoder): Pass IntSize() to ICOImageDecoder() so it will always decode the largest icon. Enable XBM decoding on Windows. 1018 * platform/graphics/skia/ImageSourceSkia.cpp: 1019 * platform/graphics/wx/ImageSourceWx.cpp: 1020 (WebCore::createDecoder): Pass IntSize() to ICOImageDecoder() so it will always decode the largest icon. 1021 * platform/image-decoders/bmp/BMPImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/BMPImageDecoder.cpp. 1022 * platform/image-decoders/bmp/BMPImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/BMPImageDecoder.h. 1023 * platform/image-decoders/bmp/BMPImageReader.cpp: Copied from WebCore/platform/image-decoders/skia/BMPImageReader.cpp. 1024 * platform/image-decoders/bmp/BMPImageReader.h: Copied from WebCore/platform/image-decoders/skia/BMPImageReader.h. 1025 * platform/image-decoders/ico/ICOImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/ICOImageDecoder.cpp. 1026 * platform/image-decoders/ico/ICOImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/ICOImageDecoder.h. 1027 * platform/image-decoders/skia/BMPImageDecoder.cpp: Removed. 1028 * platform/image-decoders/skia/BMPImageDecoder.h: Removed. 1029 * platform/image-decoders/skia/BMPImageReader.cpp: Removed. 1030 * platform/image-decoders/skia/BMPImageReader.h: Removed. 1031 * platform/image-decoders/skia/GIFImageDecoder.cpp: Removed. 1032 * platform/image-decoders/skia/GIFImageDecoder.h: Removed. 1033 * platform/image-decoders/skia/GIFImageReader.cpp: Removed. 1034 * platform/image-decoders/skia/GIFImageReader.h: Removed. 1035 * platform/image-decoders/skia/ICOImageDecoder.cpp: Removed. 1036 * platform/image-decoders/skia/ICOImageDecoder.h: Removed. 1037 * platform/image-decoders/skia/JPEGImageDecoder.cpp: Removed. 1038 * platform/image-decoders/skia/JPEGImageDecoder.h: Removed. 1039 * platform/image-decoders/skia/PNGImageDecoder.cpp: Removed. 1040 * platform/image-decoders/skia/PNGImageDecoder.h: Removed. 1041 * platform/image-decoders/skia/XBMImageDecoder.cpp: Removed. 1042 * platform/image-decoders/skia/XBMImageDecoder.h: Removed. 1043 * platform/image-decoders/xbm/XBMImageDecoder.cpp: Replaced with WebCore/platform/image-decoders/skia/XBMImageDecoder.cpp. 1044 * platform/image-decoders/xbm/XBMImageDecoder.h: Replaced with WebCore/platform/image-decoders/skia/XBMImageDecoder.h. 1045 1046 2009-06-11 Peter Kasting <pkasting (a] google.com> 1047 1048 Reviewed by Eric Seidel. 1049 1050 https://bugs.webkit.org/show_bug.cgi?id=25709 part seven 1051 Update Skia's ImageDecoder.h with a few changes designed to reduce the 1052 delta between specific implementations of ImageDecoder.h. Update 1053 Cairo's ImageDecoder.h to sync up with the API changes in the Skia 1054 version in the last two chage sets. Update Cairo's PNG/JPEG/GIF 1055 decoders to use the APIs as well. All the Cairo image decoder changes 1056 are direct copies of the Skia versions except ImageDecoder.h, which is 1057 modified in the necessary ways for the differences between Cairo and 1058 Skia. 1059 1060 * platform/graphics/cairo/ImageSourceCairo.cpp: 1061 (WebCore::ImageSource::createFrameAtIndex): Use new RGBA32Buffer::asNewNativeImage() API. 1062 * platform/image-decoders/ImageDecoder.h: Sync up with Skia version. 1063 (WebCore::RGBA32Buffer::): 1064 (WebCore::RGBA32Buffer::RGBA32Buffer): 1065 (WebCore::RGBA32Buffer::clear): 1066 (WebCore::RGBA32Buffer::zeroFill): 1067 (WebCore::RGBA32Buffer::copyBitmapData): 1068 (WebCore::RGBA32Buffer::copyRowNTimes): 1069 (WebCore::RGBA32Buffer::setSize): 1070 (WebCore::RGBA32Buffer::asNewNativeImage): 1071 (WebCore::RGBA32Buffer::hasAlpha): 1072 (WebCore::RGBA32Buffer::disposalMethod): 1073 (WebCore::RGBA32Buffer::setHasAlpha): 1074 (WebCore::RGBA32Buffer::setDisposalMethod): 1075 (WebCore::RGBA32Buffer::setRGBA): 1076 (WebCore::RGBA32Buffer::operator=): 1077 (WebCore::RGBA32Buffer::width): 1078 (WebCore::RGBA32Buffer::height): 1079 (WebCore::RGBA32Buffer::getAddr): 1080 * platform/image-decoders/gif/GIFImageDecoder.cpp: Sync up with Skia version. 1081 (WebCore::GIFImageDecoder::initFrameBuffer): 1082 (WebCore::GIFImageDecoder::haveDecodedRow): 1083 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Sync up with Skia version. 1084 (WebCore::JPEGImageDecoder::outputScanlines): 1085 * platform/image-decoders/png/PNGImageDecoder.cpp: Sync up with Skia version. 1086 (WebCore::PNGImageDecoder::rowAvailable): 1087 * platform/image-decoders/skia/ImageDecoder.h: Add various typedefs or helper functions to minimize differences with Cairo version. Reorder functions slightly to match reordering of Cairo's m_hasAlpha variable, which I moved to increase readability. 1088 (WebCore::RGBA32Buffer::): 1089 (WebCore::RGBA32Buffer::copyRowNTimes): 1090 (WebCore::RGBA32Buffer::setSize): 1091 (WebCore::RGBA32Buffer::asNewNativeImage): 1092 (WebCore::RGBA32Buffer::hasAlpha): 1093 (WebCore::RGBA32Buffer::disposalMethod): 1094 (WebCore::RGBA32Buffer::setHasAlpha): 1095 (WebCore::RGBA32Buffer::setStatus): 1096 (WebCore::RGBA32Buffer::setDisposalMethod): 1097 (WebCore::RGBA32Buffer::setRGBA): 1098 (WebCore::RGBA32Buffer::operator=): 1099 (WebCore::RGBA32Buffer::width): 1100 (WebCore::RGBA32Buffer::height): 1101 (WebCore::RGBA32Buffer::getAddr): 1102 * platform/image-decoders/skia/JPEGImageDecoder.cpp: Add #include needed by JPEG headers on some platforms, plus comment. 1103 1104 2009-06-12 Brent Fulgham <bfulgham (a] webkit.org> 1105 1106 Unreviewed build correction. 1107 1108 Revert accidental configuration checkin. Was not meant to 1109 be part of the last changeset. 1110 1111 * config.h: 1112 1113 2009-06-12 Brent Fulgham <bfulgham (a] webkit.org> 1114 1115 Reviewed by Eric Seidel. 1116 1117 https://bugs.webkit.org/show_bug.cgi?id=26353 1118 Corrects handling of Cairo fonts that were getting out of 1119 sync due to default copy construction. Also refactors 1120 some incorrect platform font destruction code that belongs 1121 in the font object's destructor. 1122 1123 * platform/graphics/win/FontPlatformData.h: 1124 * platform/graphics/win/FontPlatformDataCGWin.cpp: 1125 (WebCore::FontPlatformData::~FontPlatformData): 1126 * platform/graphics/win/FontPlatformDataCairoWin.cpp: 1127 (WebCore::FontPlatformData::platformDataInit): 1128 (WebCore::FontPlatformData::FontPlatformData): 1129 (WebCore::FontPlatformData::setFont): 1130 (WebCore::FontPlatformData::~FontPlatformData): 1131 * platform/graphics/win/FontPlatformDataWin.cpp: 1132 * platform/graphics/win/SimpleFontDataCGWin.cpp: 1133 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 1134 (WebCore::SimpleFontData::platformInit): 1135 (WebCore::SimpleFontData::platformWidthForGlyph): 1136 * platform/graphics/win/SimpleFontDataWin.cpp: 1137 1138 2009-06-12 Peter Kasting <pkasting (a] google.com> 1139 1140 Reviewed by Eric Seidel. 1141 1142 * ChangeLog-2007-10-14: Update my email address. 1143 * ChangeLog-2008-08-10: Update my email address. 1144 1145 2009-06-12 Nate Chapin <japhet (a] google.com> 1146 1147 Reviewed by David Levin. 1148 1149 Upstream V8Helpers. 1150 1151 https://bugs.webkit.org/show_bug.cgi?id=26332 1152 1153 * bindings/v8/V8Helpers.cpp: Added. 1154 (wrapNPObject): Moved from v8_helpers.cpp. 1155 (toV8Context): Moved from v8_helpers.cpp. 1156 (toV8Proxy): Moved from v8_helpers.cpp. 1157 * bindings/v8/V8Helpers.h: Added. 1158 1159 2009-06-12 Jessie Berlin <jberlin (a] apple.com> 1160 1161 Reviewed by Mark Rowe. 1162 1163 https://bugs.webkit.org/show_bug.cgi?id=24792 1164 rdar://problem/6933055 1165 1166 Changes the radius in which cursor movement around the 4 arrow icon 1167 while pan-scrolling does not cause scrolling from around 10 pixels to 1168 15 pixels, similar to what is found in IE and Firefox. 1169 1170 * page/EventHandler.cpp: 1171 (WebCore::EventHandler::setPanScrollCursor): 1172 Factor out the no-pan-scroll radius. 1173 * platform/ScrollView.h: 1174 Create a constant for the no-pan-scroll radius. 1175 * rendering/RenderLayer.cpp: 1176 (WebCore::RenderLayer::panScrollFromPoint): 1177 Factor out the no-pan-scroll radius. 1178 1179 2009-06-12 Xan Lopez <xlopez (a] igalia.com> 1180 1181 Reviewed by Gustavo Noronha. 1182 1183 https://bugs.webkit.org/show_bug.cgi?id=25609 1184 [GTK] Implement support for get_selection and get_n_selections 1185 1186 Only use the VisibleSelection object if it actually belongs to the 1187 object we are using. 1188 1189 This is pretty hacky-ish, but I can't seem to find a direct API to 1190 get the VisibleSelection for a given object, only the global one. 1191 1192 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1193 (selectionBelongsToObject): 1194 (webkit_accessible_text_get_n_selections): 1195 (webkit_accessible_text_get_selection): 1196 1197 2009-06-03 Eric Seidel <eric (a] webkit.org> 1198 1199 Reviewed by Darin Adler. 1200 1201 Crash at Node::nodeIndex() 1202 https://bugs.webkit.org/show_bug.cgi?id=26044 1203 1204 This crash seems to be caused by calling nodeIndex() on 1205 and invalid Node pointer. As far as I can tell, the most likely 1206 explanation is that the Range holding the node is actually 1207 deleted already (thus the memory is junk). Looking at the code 1208 Range changes m_start.container() in its destructor to tell if 1209 the range is detached or not. If somehow m_start.container() was 1210 cleared, the range will never be detached and the Document will end 1211 up with pointers to deleted ranges. I don't know how to reproduce this 1212 any reproduction I could think of would hit ASSERTS in Debug mode. 1213 One reproduction I tried, did not crash in Release mode, even though it 1214 did in Debug mode. 1215 1216 I'm making a speculative fix by always detaching the Range from the document 1217 during ~Range. This is safer, and all we lose is an ASSERT to prevent double-detach. 1218 1219 Another solution would be to instead store an m_attached bool on the Range object, or 1220 expose a Document::isRangeAttached(range) call. Either of those solutions 1221 could affect performance, so I went with this solution for now. 1222 1223 I also removed the RangeBoundaryPoint default constructor 1224 as it is not used anywhere (and is more likely to cause confusion). 1225 1226 Since I can't reproduce the crash, no test. 1227 1228 * dom/Document.cpp: 1229 (WebCore::Document::detachRange): 1230 * dom/Range.cpp: 1231 (WebCore::Range::~Range): 1232 (WebCore::Range::detach): 1233 * dom/RangeBoundaryPoint.h: 1234 (WebCore::RangeBoundaryPoint::RangeBoundaryPoint): 1235 RangeBoundaryPoints always have an m_containerNode, ASSERT that. 1236 (WebCore::RangeBoundaryPoint::set): 1237 ASSERT(container) to match all the other functions. 1238 All callers already ASSERT(container). Since we only 1239 have reports if this crash from Release mode, I can only 1240 assume that those ASSERTs would have been hit in a Debug reproduction. 1241 1242 2009-06-11 Shinichiro Hamaji <hamaji (a] chromium.org> 1243 1244 Reviewed by Adam Barth. 1245 1246 https://bugs.webkit.org/show_bug.cgi?id=25512 1247 Handle texts after unfinished special tags (i.e., script, style, textarea, 1248 title, xmp, and iframe) as the text node under the tags in view-source mode. 1249 Before this change, all texts in unfinished special tags cannot be seen even in view-source mode. 1250 1251 This was already done only for title. This change allows other special tags to be handled as well. 1252 1253 Test: fast/frames/viewsource-unfinished-tags.html 1254 1255 * html/HTMLTokenizer.cpp: 1256 (WebCore::HTMLTokenizer::parseNonHTMLText): 1257 (WebCore::HTMLTokenizer::parseTag): 1258 (WebCore::HTMLTokenizer::write): 1259 * html/HTMLTokenizer.h: 1260 (WebCore::HTMLTokenizer::State::inAnyNonHTMLText): 1261 1262 2009-06-11 Yongjun Zhang <yongjun.zhang (a] nokia.com> 1263 1264 Reviewed by Ariya Hidayat. 1265 1266 https://bugs.webkit.org/show_bug.cgi?id=26291 1267 1268 [Qt] build break in ImageDecoderQt.cpp. 1269 1270 * platform/graphics/qt/ImageDecoderQt.cpp: 1271 (WebCore::ImageDecoderQt::reset): 1272 (WebCore::ImageDecoderQt::setData): 1273 (WebCore::ImageDecoderQt::isSizeAvailable): 1274 * platform/image-decoders/ImageDecoder.h: 1275 (WebCore::ImageDecoder::setSize): 1276 1277 2009-06-11 Simon Hausmann <simon.hausmann (a] nokia.com> 1278 1279 Rubber-stamped by Ariya Hidayat. 1280 1281 Removed obsolete and unmaintained files from the old Symbian port. 1282 1283 * platform/symbian/FloatPointSymbian.cpp: Removed. 1284 * platform/symbian/FloatRectSymbian.cpp: Removed. 1285 * platform/symbian/IntPointSymbian.cpp: Removed. 1286 * platform/symbian/IntRectSymbian.cpp: Removed. 1287 * platform/symbian/IntSizeSymbian.cpp: Removed. 1288 * platform/text/symbian/StringImplSymbian.cpp: Removed. 1289 * platform/text/symbian/StringSymbian.cpp: Removed. 1290 1291 2009-06-10 Peter Kasting <pkasting (a] google.com> 1292 1293 Reviewed by Eric Seidel. 1294 1295 https://bugs.webkit.org/show_bug.cgi?id=25709 part six 1296 Miscellaneous tiny changes. The important bits here are the ANSI C++ 1297 compliance fix in skia/ImageDecoders.h (needed to compile this file on 1298 non-MSVC) and some behavioral fixes for the XBM decoder that Chromium 1299 unit tests partly exposed. Other changes are mostly cosmetic. 1300 1301 * platform/image-decoders/ImageDecoder.h: Make some variables private again. This will break QTWebKit but those guys have agreed to wait on my finishing the ImageDecoder changes. 1302 * platform/image-decoders/gif/GIFImageDecoder.cpp: 1303 (WebCore::GIFImageDecoder::initFrameBuffer): Use IntPoint() instead of the redundant IntPoint(0, 0). 1304 (WebCore::GIFImageDecoder::frameComplete): Use IntPoint() instead of the redundant IntPoint(0, 0). 1305 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 1306 (WebCore::JPEGImageDecoder::outputScanlines): Remove obvious comments. 1307 * platform/image-decoders/png/PNGImageDecoder.cpp: 1308 (WebCore::PNGImageDecoder::rowAvailable): Remove obvious comments. 1309 * platform/image-decoders/skia/BMPImageReader.cpp: 1310 (WebCore::BMPImageReader::decodeBMP): Make more in line with other decoders' comments and structure, use a ref to decrease verbosity. 1311 (WebCore::BMPImageReader::processRLEData): Use a ref to decrease verbosity. 1312 (WebCore::BMPImageReader::processNonRLEData): Use a ref to decrease verbosity. 1313 * platform/image-decoders/skia/GIFImageDecoder.cpp: Use IntPoint() instead of the redundant IntPoint(0, 0). 1314 (WebCore::GIFImageDecoder::initFrameBuffer): Use IntPoint() instead of the redundant IntPoint(0, 0). 1315 (WebCore::GIFImageDecoder::frameComplete): Use IntPoint() instead of the redundant IntPoint(0, 0). 1316 * platform/image-decoders/skia/ImageDecoder.h: 1317 (WebCore::RGBA32Buffer::copyRowNTimes): Fix ANSI violation that MSVC let me compile (!). 1318 * platform/image-decoders/skia/JPEGImageDecoder.cpp: 1319 (WebCore::JPEGImageDecoder::outputScanlines): Remove obvious comments. 1320 * platform/image-decoders/skia/PNGImageDecoder.cpp: 1321 (WebCore::PNGImageDecoder::rowAvailable): Remove obvious comments. 1322 * platform/image-decoders/skia/XBMImageDecoder.cpp: 1323 (WebCore::XBMImageDecoder::frameBufferAtIndex): Return 0 for non-zero indexes, don't try to decode unnecessarily after failure or when the size couldn't be computed, make more in line with other decoders' comments and structure, call RGBA32Buffer::setRect() appropriately. 1324 1325 2009-06-10 Ojan Vafai <ojan (a] chromium.org> 1326 1327 Reviewed by Eric Seidel. 1328 1329 The shadow node inside empty textareas gets collapsed in disabled 1330 textareas. This is a regression from moving the overflow from 1331 the shadow node to it's parent. The fix is to return true in 1332 RenderBlock::hasLineIfEmpty for textarea shadow nodes as we 1333 currently do for input shadow nodes. 1334 1335 https://bugs.webkit.org/show_bug.cgi?id=26296 1336 1337 Test: fast/forms/empty-textarea-toggle-disabled.html 1338 1339 * rendering/RenderBlock.cpp: 1340 (WebCore::RenderBlock::hasLineIfEmpty): 1341 1342 2009-06-10 Xan Lopez <xlopez (a] igalia.com> 1343 1344 Reviewed by Gustavo Noronha. 1345 1346 https://bugs.webkit.org/show_bug.cgi?id=25609 1347 [GTK] Implement support for get_selection and get_n_selections 1348 1349 Implement atk_text_get_n_selections. 1350 1351 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1352 (webkit_accessible_text_get_n_selections): 1353 1354 2009-06-10 Dan Bernstein <mitz (a] apple.com> 1355 1356 Reviewed by Anders Carlsson. 1357 1358 - fix <rdar://problem/6958664> REGRESSION (r42665): When I drag to pan a 1359 Google map in iPhoto Places, it drags a map tile instead 1360 1361 Calling stopLoadRequest() from notifyFinished() removed the 1362 ScriptElementData from the CachedScript's client set, which could make 1363 it eligible for purging. The fix is to call removeClient() only after 1364 executing the script, which protects it from being purged while it is 1365 in the document's queue of scripts to execute soon. 1366 1367 * dom/ScriptElement.cpp: 1368 (WebCore::ScriptElementData::execute): Call removeClient() here. 1369 (WebCore::ScriptElementData::notifyFinished): Instead of calling 1370 stopLoadRequest(), which calls removeClient(), just reset 1371 m_cachedScript. 1372 1373 2009-06-10 Jan Michael Alonzo <jmalonzo (a] webkit.org> 1374 1375 Reviewed by Mark Rowe and Eric Seidel. 1376 1377 Update WebInspector localizedStrings.js with new resource tracking strings 1378 https://bugs.webkit.org/show_bug.cgi?id=26247 1379 1380 * English.lproj/localizedStrings.js: 1381 1382 2009-06-10 Feng Qian <feng (a] chromium.org> 1383 1384 Reviewed by Eric Seidel. 1385 1386 Add Android specific files. 1387 https://bugs.webkit.org/show_bug.cgi?id=26280 1388 1389 * platform/text/android: Added. 1390 * platform/text/android/TextBreakIteratorInternalICU.cpp: Added. 1391 1392 2009-06-10 Feng Qian <feng (a] chromium.org> 1393 1394 Reviewed by Eric Seidel. 1395 1396 Add Android specific file to WebCore/platform/android (part 9). 1397 https://bugs.webkit.org/show_bug.cgi?id=26266 1398 1399 * platform/android/TemporaryLinkStubs.cpp: Added. 1400 1401 2009-06-10 Feng Qian <feng (a] chromium.org> 1402 1403 Reviewed by Eric Seidel. 1404 1405 Add Android platform specific files. 1406 https://bugs.webkit/org/show_bug.cgi?id=26265 (part 8). 1407 1408 * platform/android/SystemTimeAndroid.cpp: Added. 1409 * platform/android/WidgetAndroid.cpp: Added. 1410 1411 2009-06-10 Feng Qian <feng (a] chromium.org> 1412 1413 Reviewed by Eric Seidel. 1414 1415 Add Android port files to WebCore/platform. (part 6). 1416 https://bugs.webkit.org/show_bug.cgi?id=26264 1417 1418 * platform/android/RenderThemeAndroid.cpp: Added. 1419 * platform/android/RenderThemeAndroid.h: Added. 1420 1421 2009-06-10 Feng Qian <feng (a] chromium.org> 1422 1423 Reviewed by Eric Seidel. 1424 1425 Add Android port files to WebCore/platform (part 7). 1426 https://bugs.webkit.org/show_bug.cgi?id=23296 1427 1428 * platform/android/ScreenAndroid.cpp: Added. 1429 * platform/android/ScrollViewAndroid.cpp: Added. 1430 * platform/android/SearchPopupMenuAndroid.cpp: Added. 1431 1432 2009-06-10 Feng Qian <feng (a] chromium.org> 1433 1434 Reviewed by Eric Seidel. 1435 1436 Add Android port files to WebCore/platform (part 5). 1437 https://bugs.webkit.org/show_bug.cgi?id=23296 1438 1439 * platform/android/LocalizedStringsAndroid.cpp: Added. 1440 * platform/android/PopupMenuAndroid.cpp: Added. 1441 1442 2009-06-10 Feng Qian <feng (a] chromium.org> 1443 1444 Reviewed by Eric Seidel. 1445 1446 Add Android port files to WebCore/platform (part 4). 1447 https://bugs.webkit.org/show_bug.cgi?id=23296 1448 1449 * platform/android/KeyEventAndroid.cpp: Added. 1450 * platform/android/KeyboardCodes.h: Added. 1451 1452 2009-06-10 Feng Qian <feng (a] chromium.org> 1453 1454 Reviewed by Eric Seidel. 1455 1456 Add Android port files to WebCore/platform (part 3). 1457 https://bugs.webkit.org/show_bug.cgi?id=23296 1458 1459 * platform/android/FileChooserAndroid.cpp: Added. 1460 * platform/android/FileSystemAndroid.cpp: Added. 1461 1462 2009-06-10 Feng Qian <feng (a] chromium.org> 1463 1464 Reviewed by Eric Seidel. 1465 1466 Add Android port files to WebCore/platform (part 2). 1467 https://bugs.webkit.org/show_bug.cgi?id=23296 1468 1469 * platform/android/CursorAndroid.cpp: Added. 1470 * platform/android/DragDataAndroid.cpp: Added. 1471 * platform/android/EventLoopAndroid.cpp: Added. 1472 1473 2009-06-10 Nate Chapin <japhet (a] google.com> 1474 1475 Reviewed by David Levin. 1476 1477 Finish moving V8Custom from src.chromium.org to svn.webkit.org. 1478 1479 https://bugs.webkit.org/show_bug.cgi?id=26258 1480 1481 * bindings/v8/custom/V8CustomBinding.cpp: Finished upstreaming. 1482 (WebCore::ACCESSOR_GETTER): Moved from v8_custom.cpp. 1483 (WebCore::INDEXED_ACCESS_CHECK): Moved from v8_custom.cpp. 1484 (WebCore::NAMED_ACCESS_CHECK): Moved from v8_custom.cpp. 1485 (WebCore::V8Custom::GetTargetFrame): Moved from v8_custom.cpp. 1486 (WebCore::V8Custom::DowncastSVGPathSeg): Moved from v8_custom.cpp. 1487 * bindings/v8/custom/V8CustomBinding.h: Finished upstreaming. 1488 * bindings/v8/custom/V8DatabaseCustom.cpp: Updated includes. 1489 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Updated includes. 1490 * bindings/v8/custom/V8SQLTransactionCustom.cpp: Updated includes. 1491 * bindings/v8/custom/V8WebKitPointConstructor.cpp: Added. 1492 (WebCore::CALLBACK_FUNC_DECL): Moved from v8_custom.cpp. 1493 1494 2009-06-10 Takeshi Yoshino <tyoshino (a] google.com> 1495 1496 Reviewed by Justin Garcia. 1497 1498 Bug 26214: RenderTextControl: Remove ASSERT for checking that visiblePositionForIndex()'s return is not null. 1499 https://bugs.webkit.org/show_bug.cgi?id=26214 1500 1501 visiblePositionForIndex can return an instance that returns true for 1502 isNotNull(). One of common case is when the corresponding input element has 1503 "-webkit-user-select: none" style attribute. We should allow the case instead 1504 of putting ASSERT. 1505 1506 Test: fast/forms/input-select-webkit-user-select-none.html 1507 1508 * rendering/RenderTextControl.cpp: 1509 (WebCore::RenderTextControl::setSelectionRange): 1510 1511 2009-06-10 Roland Steiner <rolandsteiner (a] google.com> 1512 1513 Reviewed by Eric Seidel. 1514 1515 Bug 26197: Incorrect variable initialization in PlatformContextSkia.cpp 1516 https://bugs.webkit.org/show_bug.cgi?id=26197 1517 1518 The PlatformContextSkia constructor does a (very likely) wrong size 1519 initialization for its m_stateStack member: 1520 1521 m_stateStack(sizeof(State)) 1522 1523 The intended initialization is probably rather 1524 1525 m_stateStack(1) 1526 1527 However, since this doesn't buy much (see also comment #4), 1528 I removed the initialization completely. 1529 1530 * platform/graphics/skia/PlatformContextSkia.cpp: 1531 (PlatformContextSkia::PlatformContextSkia): remove member initialization 1532 1533 2009-06-10 Dean McNamee <deanm (a] chromium.org> 1534 1535 Reviewed by Eric Seidel. 1536 1537 When there is no backing bitmap, return a transparent pattern. 1538 https://bugs.webkit.org/show_bug.cgi?id=26061 1539 1540 Test: fast/canvas/canvas-empty-image-pattern.html 1541 1542 * platform/graphics/skia/PatternSkia.cpp: 1543 (WebCore::Pattern::createPlatformPattern): 1544 1545 2009-06-10 Dean McNamee <deanm (a] chromium.org> 1546 1547 Reviewed by Eric Seidel. 1548 1549 Fix a crash for radial gradients with a zero radius. 1550 https://bugs.webkit.org/show_bug.cgi?id=26059 1551 1552 Test: fast/gradients/crash-on-zero-radius.html 1553 1554 * platform/graphics/skia/GradientSkia.cpp: 1555 (WebCore::Gradient::platformGradient): 1556 1557 2009-06-10 Peter Kasting <pkasting (a] google.com> 1558 1559 Reviewed by Eric Seidel. 1560 1561 https://bugs.webkit.org/show_bug.cgi?id=25709 part five 1562 Rewrite users of ImageDecoder.h to use "safe" API calls, Skia side. 1563 This tweaks the RGBA32Buffer interfaces to be implementable by Cairo as 1564 well and modifies Skia's usage of those interfaces accordingly. Once a 1565 similar change lands on the Cairo side, the Skia and Cairo decoders 1566 should be identical except for the implementation of RGBA32Buffer. 1567 1568 * platform/graphics/skia/ImageSourceSkia.cpp: 1569 (WebCore::ImageSource::createFrameAtIndex): Use new RGBA32Buffer::asNewNativeImage() function. 1570 * platform/image-decoders/skia/BMPImageReader.cpp: 1571 (WebCore::BMPImageReader::processNonRLEData): Use new RGBA32Buffer::zeroFill() function. 1572 * platform/image-decoders/skia/GIFImageDecoder.cpp: 1573 (WebCore::GIFImageDecoder::haveDecodedRow): Rewrite to use RGBA32Buffer::setRGBA(x, y, ...) calls as well as other RGBA32Buffer interface calls instead of knowing the underlying types inside the buffer; also try and add clarity. 1574 * platform/image-decoders/skia/ImageDecoder.h: Removed bitmap(), width(), and height(). 1575 (WebCore::RGBA32Buffer::zeroFill): Added. 1576 (WebCore::RGBA32Buffer::copyBitmapData): Avoid using bitmap(), which is going away. 1577 (WebCore::RGBA32Buffer::copyRowNTimes): Added. 1578 (WebCore::RGBA32Buffer::setSize): Use new zeroFill() function. 1579 (WebCore::RGBA32Buffer::asNewNativeImage): Added. 1580 (WebCore::RGBA32Buffer::setRGBA): Condensed two versions into one that takes coordinates instead of a raw pointer. 1581 1582 2009-06-10 Xan Lopez <xlopez (a] igalia.com> 1583 1584 Reviewed by Gustavo Noronha. 1585 1586 https://bugs.webkit.org/show_bug.cgi?id=25671 1587 [GTK] Implement support for set_caret_offset 1588 1589 Make an implementation that actually works. 1590 1591 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1592 (webkit_accessible_text_set_caret_offset): 1593 1594 2009-06-10 Darin Fisher <darin (a] chromium.org> 1595 1596 Reviewed by Dimitri Glazkov. 1597 1598 https://bugs.webkit.org/show_bug.cgi?id=26294 1599 1600 Make sure all member variables are initialized so that the default 1601 assignment operator and copy constructors do not read uninitialized 1602 memory. 1603 1604 * platform/network/ResourceResponseBase.cpp: 1605 1606 2009-06-10 Yury Semikhatsky <yurys (a] chromium.org> 1607 1608 Reviewed by Timothy Hatcher. 1609 1610 Update main resource meta-data when resource tracking is disabled. 1611 1612 https://bugs.webkit.org/show_bug.cgi?id=26253 1613 1614 * inspector/InspectorController.cpp: 1615 (WebCore::InspectorController::getTrackedResource): 1616 (WebCore::InspectorController::willSendRequest): 1617 (WebCore::InspectorController::didReceiveResponse): 1618 (WebCore::InspectorController::didReceiveContentLength): 1619 (WebCore::InspectorController::didFinishLoading): 1620 (WebCore::InspectorController::didFailLoading): 1621 * inspector/InspectorController.h: 1622 1623 2009-06-10 Xan Lopez <xlopez (a] igalia.com> 1624 1625 Reviewed by Gustavo Noronha. 1626 1627 https://bugs.webkit.org/show_bug.cgi?id=25609 1628 [GTK] Implement support for get_selection and get_n_selections 1629 1630 Implement atk_text_get_selection. 1631 1632 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1633 (webkit_accessible_text_get_selection): 1634 1635 2009-06-10 Xan Lopez <xlopez (a] igalia.com> 1636 1637 Reviewed by Gustavo Noronha. 1638 1639 Do not check if our parent class has the finalize method, it's 1640 guaranteed to be there. 1641 1642 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1643 (webkit_accessible_finalize): 1644 1645 2009-06-10 Brent Fulgham <bfulgham (a] webkit.org> 1646 1647 Build correct for Windows Cairo targets. 1648 1649 * WebCore.vcproj/WebCore.vcproj: Disable warning 4611 (interaction 1650 between '_setjmp' and C++ object destruction is non-portable) for 1651 the two Cairo targets. This used to be disabled in a #pragma, 1652 but recent refactoring removed these lines. 1653 1654 2009-06-10 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 1655 1656 Reviewed by Simon Hausmann. 1657 1658 Fix the build of PluginView on Qt with 64-bit where we disable plugins 1659 at compile time. 1660 1661 Use the FooNone.cpp files at compile-time. 1662 1663 * plugins/PluginPackageNone.cpp: 1664 * plugins/mac/PluginPackageMac.cpp: 1665 * plugins/mac/PluginViewMac.cpp: 1666 1667 2009-06-10 Simon Hausmann <simon.hausmann (a] nokia.com> 1668 1669 Fix the Qt build. 1670 1671 ImageDecoderQt needs m_size and m_sizeAvailable to be protected. 1672 1673 * platform/image-decoders/ImageDecoder.h: 1674 1675 2009-06-10 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 1676 1677 Reviewed by Simon Hausmann. 1678 1679 [Qt] Use absolute path for install_name on Mac 1680 1681 * WebCore.pro: 1682 1683 2009-06-10 Xan Lopez <xlopez (a] igalia.com> 1684 1685 Reviewed by Jan Alonzo. 1686 1687 https://bugs.webkit.org/show_bug.cgi?id=25415 1688 [GTK][ATK] Please implement support for get_text_at_offset 1689 1690 Reduce duplicated code to access the text of a AtkText 1691 object. doAXStringForRange calls text() internally, so we are 1692 doing exactly the same after the change. 1693 1694 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1695 (getGailTextUtilForAtk): 1696 (getPangoLayoutForAtk): 1697 1698 2009-06-10 Xan Lopez <xlopez (a] igalia.com> 1699 1700 Reviewed by Jan Alonzo. 1701 1702 https://bugs.webkit.org/show_bug.cgi?id=25415 1703 [GTK][ATK] Please implement support for get_text_at_offset 1704 1705 Pass a PangoLayout to the GailTextUtil function calls. 1706 1707 It's needed for LINE boundary calls to work correctly. 1708 1709 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1710 (updateLayout): 1711 (getPangoLayoutForAtk): 1712 (webkit_accessible_text_get_text_after_offset): 1713 (webkit_accessible_text_get_text_at_offset): 1714 1715 2009-06-10 Xan Lopez <xlopez (a] igalia.com> 1716 1717 Reviewed by Jan Alonzo. 1718 1719 https://bugs.webkit.org/show_bug.cgi?id=25415 1720 [GTK][ATK] Please implement support for get_text_at_offset 1721 1722 Use GailUtilText instead of my crappy partial reimplementation of 1723 it. This should add support for LINE boundaries too, although it's 1724 mostly untested for now. 1725 1726 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 1727 (getGailTextUtilForAtk): 1728 (webkit_accessible_text_get_text_after_offset): 1729 (webkit_accessible_text_get_text_at_offset): 1730 1731 2009-06-10 Jan Michael Alonzo <jmalonzo (a] webkit.org> 1732 1733 Gtk build fix: include <stdio.h> as it is required in jpeglib.h 1734 1735 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 1736 1737 2009-06-09 Peter Kasting <pkasting (a] google.com> 1738 1739 Reviewed by Eric Seidel. 1740 1741 https://bugs.webkit.org/show_bug.cgi?id=25709 part four 1742 Most of the remaining Cairo changes needed before merging Skia/Cairo 1743 image decoders. Most of these involve plumbing more error detection and 1744 handling (or, in some cases, merely the capability to detect errors, as 1745 e.g. Skia detects and handles image allocation failure while Cairo 1746 currently doesn't). There is also some general cleanup and 1747 simplification; RGBA32Buffer::m_height and all associated functions have 1748 been removed (set but never used) and some places now rely on superclass 1749 implementations. 1750 1751 * platform/image-decoders/ImageDecoder.h: 1752 (WebCore::RGBA32Buffer::RGBA32Buffer): Remove m_height, ensureHeight() and associated stuff 1753 (WebCore::RGBA32Buffer::copyBitmapData): Add API function so refcounted backing stores (like Skia uses) can be used with GIFs 1754 (WebCore::RGBA32Buffer::setSize): Zero-fill image to avoid garbage 1755 (WebCore::RGBA32Buffer::height): Remove 1756 (WebCore::RGBA32Buffer::ensureHeight): Remove 1757 (WebCore::ImageDecoder::ImageDecoder): Keep member initialization in order, force subclasses to go through size() instead of accessing m_size directly 1758 (WebCore::ImageDecoder::isSizeAvailable): Check that decoding hasn't failed 1759 (WebCore::ImageDecoder::size): Check that decoding hasn't failed 1760 (WebCore::ImageDecoder::setSize): Protect against integer overflow 1761 (WebCore::ImageDecoder::isOverSize): Protect against integer overflow 1762 * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove prepEmptyFrameBuffer() 1763 (WebCore::GIFImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling 1764 (WebCore::GIFImageDecoder::sizeNowAvailable): Add return values for better failure handling, rely on superclass setSize() for overflow protection 1765 (WebCore::GIFImageDecoder::initFrameBuffer): Add return values for better failure handling, remove prepEmptyFrameBuffer(), use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), use RGBA32Buffer::copyBitmapData() so backing store can be refcounted internally (Cairo won't be, Skia is), rely on superclass size() for better failure handling 1766 (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation, remove RGBA32Buffer::ensureHeight() 1767 (WebCore::GIFImageDecoder::frameComplete): Remove RGBA32Buffer::ensureHeight() 1768 * platform/image-decoders/gif/GIFImageDecoder.h: Remove prepEmptyFrameBuffer(), add return values for better failure handling 1769 * platform/image-decoders/gif/GIFImageReader.cpp: 1770 (GIFImageReader::do_lzw): Protect against array overflow, add comments 1771 (GIFImageReader::read): Protect against array overflow, be more tolerant of bad data, better failure handling 1772 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files) 1773 (WebCore::JPEGImageReader::decode): Better failure handling 1774 (WebCore::JPEGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling 1775 (WebCore::JPEGImageDecoder::outputScanlines): Use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), rely on superclass size() for better failure handling, remove RGBA32Buffer::ensureHeight() 1776 * platform/image-decoders/jpeg/JPEGImageDecoder.h: Rely on superclass setSize() for overflow protection 1777 * platform/image-decoders/png/PNGImageDecoder.cpp: Remove MSVC-specific warning disable (bfulgham will move into build files) 1778 (WebCore::PNGImageDecoder::PNGImageDecoder): Don't allocate a slot in the framebuffer cache until it's needed 1779 (WebCore::PNGImageDecoder::isSizeAvailable): Rely on superclass isSizeAvailable() for better failure handling 1780 (WebCore::PNGImageDecoder::frameBufferAtIndex): Don't allocate a slot in the framebuffer cache until it's needed 1781 (WebCore::PNGImageDecoder::decode): Don't allocate a slot in the framebuffer cache until it's needed 1782 (WebCore::PNGImageDecoder::decodingFailed): Fix style violation 1783 (WebCore::PNGImageDecoder::headerAvailable): Rely on superclass isSizeAvailable() and setSize() for overflow protection and better failure handling 1784 (WebCore::PNGImageDecoder::rowAvailable): Don't allocate a slot in the framebuffer cache until it's needed, use RGBA32Buffer::setSize() to handle potential allocation failures (won't happen with Cairo port, can in Skia), remove RGBA32Buffer::ensureHeight() 1785 (WebCore::PNGImageDecoder::pngComplete): Don't allocate a slot in the framebuffer cache until it's needed 1786 1787 2009-06-09 Kevin Ollivier <kevino (a] theolliviers.com> 1788 1789 wx build fix, adding JSCore/assembler to the list of include dirs, and 1790 adding editing/ReplaceNodeSpanCommand.cpp to the build. 1791 1792 * WebCoreSources.bkl: 1793 * webcore-base.bkl: 1794 1795 2009-06-09 Yury Semikhatsky <yurys (a] chromium.org> 1796 1797 Reviewed by Timothy Hatcher. 1798 1799 When checking if the loader is the main resource loader make sure that the loader's frame is the main frame. 1800 1801 https://bugs.webkit.org/show_bug.cgi?id=26218 1802 1803 * inspector/InspectorController.cpp: 1804 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 1805 (WebCore::InspectorController::identifierForInitialRequest): 1806 (WebCore::InspectorController::isMainResourceLoader): 1807 * inspector/InspectorController.h: 1808 1809 2009-06-09 Pierre d'Herbemont <pdherbemont (a] apple.com> 1810 1811 Reviewed by Eric Seidel. 1812 1813 https://bugs.webkit.org/show_bug.cgi?id=26190 1814 1815 Test: media/controls-css-overload.html 1816 1817 * rendering/RenderMedia.cpp: 1818 (WebCore::RenderMedia::updateControls): Prevent NULL dereference in case containers gets hidden. 1819 1820 2009-06-08 Peter Kasting <pkasting (a] google.com> 1821 1822 Reviewed by Eric Seidel. 1823 1824 https://bugs.webkit.org/show_bug.cgi?id=25709 part three 1825 Various minor cleanups to the Skia files. Mostly non-functional, except 1826 for two specific changes: 1827 * JPEGs and PNGs were always marked as transparent; now they are only 1828 marked as transparent when they actually are. I doubt this has much 1829 of an effect but in theory it could be used to optimize their display. 1830 * Instead of arbitrarily disallowing images over 32 * 1024 * 1024 px^2, 1831 only disallow images which are so large they will cause overflow in 1832 other parts of the code. This should fix the testcase on 1833 http://code.google.com/p/chromium/issues/detail?id=3643. 1834 1835 * platform/image-decoders/skia/BMPImageReader.h: 1836 (WebCore::BMPImageReader::setRGBA): Use simpler non-static setRGBA() form 1837 * platform/image-decoders/skia/GIFImageDecoder.cpp: 1838 (WebCore::GIFImageDecoder::initFrameBuffer): Remove unneeded code, use more readable setRGBA() form 1839 (WebCore::GIFImageDecoder::haveDecodedRow): Fix style violation 1840 * platform/image-decoders/skia/GIFImageDecoder.h: Remove unneeded code 1841 * platform/image-decoders/skia/ImageDecoder.h: 1842 (WebCore::RGBA32Buffer::setSize): setSize() should just setStatus() when it fails since all callers were doing it 1843 (WebCore::ImageDecoder::isOverSize): Ease "oversized" image constraints to allow any image that won't overflow 1844 * platform/image-decoders/skia/JPEGImageDecoder.cpp: 1845 (WebCore::JPEGImageDecoder::outputScanlines): Remove unneeded code, mark JPEGs as non-transparent 1846 * platform/image-decoders/skia/PNGImageDecoder.cpp: 1847 (WebCore::PNGImageDecoder::decodingFailed): Fix style violation 1848 (WebCore::PNGImageDecoder::rowAvailable): Mark un-decoded PNGs as non-transparent (this will get reset later as needed) 1849 * platform/image-decoders/skia/XBMImageDecoder.cpp: 1850 (WebCore::XBMImageDecoder::frameBufferAtIndex): Remove unneeded code 1851 1852 2009-06-09 Darin Fisher <darin (a] chromium.org> 1853 1854 Fix Chromium build bustage. 1855 1856 CachedResource.cpp no longer compiles if USE(JSC) is not defined. The 1857 problem is that this file is using a macro from StdLibExtras.h without 1858 including that file. It just happenes to get that file via a JSC 1859 specific include. 1860 1861 * loader/CachedResource.cpp: 1862 1863 2009-06-09 Dean McNamee <deanm (a] chromium.org> 1864 1865 Reviewed by Oliver Hunt. 1866 1867 Make sure the graphics backends are in sync with the canvas lineWidth state. 1868 https://bugs.webkit.org/show_bug.cgi?id=26187 1869 1870 Test: fast/canvas/canvas-line-width.html 1871 1872 * html/CanvasRenderingContext2D.cpp: 1873 (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): 1874 1875 2009-06-09 Michael Nordman <michaeln (a] google.com> 1876 1877 Reviewed by Eric Seidel. 1878 1879 Proactively cancel pending requests at DocLoader dtor time, 1880 otherwise crashes can occur. 1881 1882 https://bugs.webkit.org/show_bug.cgi?id=26230 1883 http://code.google.com/p/chromium/issues/detail?id=12161 1884 1885 Test: fast/frames/javascript-url-as-framesrc-crash.html 1886 1887 * loader/DocLoader.cpp: 1888 (WebCore::DocLoader::~DocLoader): 1889 1890 2009-06-09 Eric Seidel <eric (a] webkit.org> 1891 1892 Reviewed by Darin Adler. 1893 1894 Fix ASSERT seen in shadow tree testing 1895 https://bugs.webkit.org/show_bug.cgi?id=25092 1896 1897 Test: svg/custom/use-mutation-event-crash.svg 1898 1899 * svg/SVGUseElement.cpp: 1900 (WebCore::SVGUseElement::instanceForShadowTreeElement): 1901 1902 2009-06-09 Brent Fulgham <bfulgham (a] webkit.org> 1903 1904 Reviewed by Eric Seidel. 1905 1906 Fixes https://bugs.webkit.org/show_bug.cgi?id=22891 1907 Scrolling in Windows Cairo Broken if no background color set. 1908 1909 * platform/graphics/cairo/GradientCairo.cpp: 1910 (WebCore::Gradient::fill): Use the GraphicsContext save and restore 1911 methods (rather than the Cairo-only functions) so that the Windows 1912 device context is kept in sync. 1913 * platform/graphics/cairo/GraphicsContextCairo.cpp: 1914 (WebCore::GraphicsContext::GraphicsContext): Add new constructor call 1915 to sync Windows HDC with Cairo surface. 1916 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 1917 (WebCore::GraphicsContextPlatformPrivate::syncContext): Provide 1918 declaration for Windows HDC sync method (and stub for non-Windows 1919 Cairo implementations). 1920 * platform/graphics/cairo/ImageCairo.cpp: 1921 (WebCore::BitmapImage::draw): Use GraphicsContext save and restore 1922 methods (rather than the Cairo-only functions) so that the Windows 1923 device context is kept in sync. 1924 * platform/graphics/win/GraphicsContextCairoWin.cpp: 1925 (WebCore::CairoContextWithHDC): New method to create a valid Cairo 1926 context for a given HDC. 1927 (WebCore::GraphicsContext::GraphicsContext): Modify constructor to 1928 use new CairoContextWithHDC call. 1929 (WebCore::GraphicsContext::getWindowsContext): Revise to match 1930 behavior of CG implementation. 1931 (WebCore::GraphicsContext::releaseWindowsContext): Revise to match 1932 behavior of CG implementation. 1933 (WebCore::GraphicsContextPlatformPrivate::concatCTM): Get rid of 1934 incorrect new HDC, and use object's HDC member for dealing with 1935 concatCTM operations. 1936 (WebCore::GraphicsContextPlatformPrivate::syncContext): New method 1937 to sync Windows HDC with Cairo context. 1938 * platform/graphics/win/ImageCairoWin.cpp: 1939 (WebCore::BitmapImage::getHBITMAPOfSize): Revise implementation to 1940 match CG behavior. 1941 1942 2009-06-09 Jian Li <jianli (a] chromium.org> 1943 1944 Reviewed by David Levin. 1945 1946 Bug 26196: Fix the problem that worker's importScripts fails if the 1947 script URL is redirected from different origin. 1948 https://bugs.webkit.org/show_bug.cgi?id=26196 1949 1950 Test: http/tests/workers/worker-importScripts.html 1951 1952 The fix is to pass an additional enum parameter to the loader in 1953 order to tell it to perform the redirect origin check or not. 1954 1955 * loader/DocumentThreadableLoader.cpp: 1956 (WebCore::DocumentThreadableLoader::create): 1957 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): 1958 (WebCore::DocumentThreadableLoader::willSendRequest): 1959 * loader/DocumentThreadableLoader.h: 1960 * loader/ThreadableLoader.cpp: 1961 (WebCore::ThreadableLoader::create): 1962 (WebCore::ThreadableLoader::loadResourceSynchronously): 1963 * loader/ThreadableLoader.h: 1964 (WebCore::): 1965 * loader/WorkerThreadableLoader.cpp: 1966 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 1967 (WebCore::WorkerThreadableLoader::loadResourceSynchronously): 1968 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 1969 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 1970 * loader/WorkerThreadableLoader.h: 1971 (WebCore::WorkerThreadableLoader::create): 1972 * workers/WorkerContext.cpp: 1973 (WebCore::WorkerContext::importScripts): 1974 * xml/XMLHttpRequest.cpp: 1975 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 1976 1977 2009-06-09 Anand K. Mistry <amistry (a] google.com> 1978 1979 Reviewed by Dimitri Glazkov. 1980 1981 Paint bitmaps with the alpha channel in Skia. 1982 https://bugs.webkit.org/show_bug.cgi?id=26037 1983 1984 Test: fast/canvas/drawImage-with-globalAlpha.html 1985 1986 * platform/graphics/skia/ImageSkia.cpp: 1987 (WebCore::paintSkBitmap): 1988 * platform/graphics/skia/PlatformContextSkia.cpp: 1989 (PlatformContextSkia::getAlpha): 1990 * platform/graphics/skia/PlatformContextSkia.h: 1991 1992 2009-06-09 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 1993 1994 Reviewed by Xan Lopez. 1995 1996 https://bugs.webkit.org/show_bug.cgi?id=26104 1997 [GTK] Make NetworkRequest a proper GObject and expose SoupMessage 1998 1999 Refactor how SoupMessage is handled, so that our ResourceRequest 2000 object doesn't have to store it as a member, which complicates 2001 managing ResourceRequest's lifetime. 2002 2003 * platform/network/soup/ResourceHandleSoup.cpp: 2004 (WebCore::ResourceHandle::startHttp): 2005 * platform/network/soup/ResourceRequest.h: 2006 (WebCore::ResourceRequest::ResourceRequest): 2007 (WebCore::ResourceRequest::doUpdatePlatformRequest): 2008 (WebCore::ResourceRequest::doUpdateResourceRequest): 2009 * platform/network/soup/ResourceRequestSoup.cpp: 2010 (WebCore::ResourceRequest::toSoupMessage): 2011 (WebCore::ResourceRequest::updateFromSoupMessage): 2012 2013 2009-06-09 Simon Hausmann <simon.hausmann (a] nokia.com> 2014 2015 Fix the Qt build, the time functions moved into the WTF namespace. 2016 2017 * bridge/qt/qt_runtime.cpp: 2018 (JSC::Bindings::convertValueToQVariant): 2019 (JSC::Bindings::convertQVariantToValue): 2020 2021 2009-06-08 Brady Eidson <beidson (a] apple.com> 2022 2023 Reviewed by Antti Koivisto 2024 2025 <rdar://problem/6727495> Repro crash in WebCore::Loader::Host::servePendingRequests() and dupes. 2026 2027 Test: http/tests/loading/deleted-host-in-resource-load-delegate-callback.html 2028 2029 Loader::Host objects were manually managed via new/delete. 2030 There's a variety of circumstances where a Host might've been deleted while it was still in the middle 2031 of a resource load delegate callback. 2032 Changing them to be RefCounted then adding protectors in the callbacks makes this possibility disappear. 2033 2034 At the same time, remove ProcessingResource which was an earlier fix for this same problem that wasn't 2035 fully implemented. 2036 2037 * loader/loader.cpp: 2038 (WebCore::Loader::Loader): 2039 (WebCore::Loader::load): 2040 (WebCore::Loader::servePendingRequests): 2041 (WebCore::Loader::resumePendingRequests): 2042 (WebCore::Loader::cancelRequests): 2043 (WebCore::Loader::Host::didFinishLoading): 2044 (WebCore::Loader::Host::didFail): 2045 (WebCore::Loader::Host::didReceiveResponse): 2046 (WebCore::Loader::Host::didReceiveData): 2047 * loader/loader.h: 2048 (WebCore::Loader::Host::create): 2049 2050 2009-06-08 Dmitry Titov <dimich (a] chromium.org> 2051 2052 Reviewed by David Levin. 2053 2054 https://bugs.webkit.org/show_bug.cgi?id=26126 2055 Refactor methods of WorkerMessagingProxy used to talk to main-thread loader into new interface. 2056 2057 Split a couple of methods used to schedule cross-thread tasks between worker thread and loader thread 2058 implemented on WorkerMessagingProxy into a separate interface so the loading can be implemented in 2059 Chromium's workers. 2060 2061 No changes in functionality so no tests added. 2062 2063 * GNUmakefile.am: 2064 * WebCore.vcproj/WebCore.vcproj: 2065 * WebCore.xcodeproj/project.pbxproj: 2066 Added WorkerLoaderProxy.h to the bulid. 2067 2068 * bindings/js/WorkerScriptController.cpp: 2069 (WebCore::WorkerScriptController::evaluate): WorkerThread::workerObjectProxy() now returns & instead of * 2070 * bindings/v8/WorkerScriptController.cpp: 2071 (WebCore::WorkerScriptController::evaluate): same. 2072 * workers/WorkerContext.cpp: 2073 (WebCore::WorkerContext::~WorkerContext): same. 2074 (WebCore::WorkerContext::reportException): same. 2075 (WebCore::WorkerContext::addMessage): same. 2076 (WebCore::WorkerContext::postMessage): same. 2077 2078 * loader/WorkerThreadableLoader.cpp: 2079 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 2080 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 2081 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy): 2082 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): 2083 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData): 2084 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): 2085 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): 2086 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): 2087 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): 2088 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): 2089 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): 2090 Use WorkerLoaderProxy instead of WorkerMessagingProxy for the MainThreadBridge. 2091 Mostly rename. 2092 2093 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 2094 In addition to using WorkerLoaderProxy instead of WorkerMessagingProxy, the check for 2095 AskedToTerminate is removed. It seems to be an optimization for a very small number of cases 2096 when worker termination is requested a very short time before the request to load something 2097 (XHR or importScript) was dispatched on the main thread. 2098 2099 * loader/WorkerThreadableLoader.h: 2100 Now keeps a pointer to WorkerLoaderProxy rather then to a WorkerMessagingProxy. This allows 2101 to implement WorkerThreadableLoader for Chromium. 2102 2103 * workers/WorkerLoaderProxy.h: Added. 2104 (WebCore::WorkerLoaderProxy::~WorkerLoaderProxy): 2105 2106 * workers/WorkerMessagingProxy.cpp: 2107 (WebCore::WorkerMessagingProxy::startWorkerContext): 2108 (WebCore::WorkerMessagingProxy::postTaskToLoader): Added ASSERT since this needs to be implemented for nested workers. 2109 * workers/WorkerMessagingProxy.h: 2110 Derived from WorkerLoaderProxy, the methods for posting tasks cross-thread are now virtual. 2111 Removed unused postTaskToWorkerContext() method. 2112 2113 * workers/WorkerThread.cpp: 2114 (WebCore::WorkerThread::create): 2115 (WebCore::WorkerThread::WorkerThread): 2116 * workers/WorkerThread.h: 2117 (WebCore::WorkerThread::workerLoaderProxy): 2118 * workers/WorkerThread.cpp: 2119 (WebCore::WorkerThread::create): 2120 (WebCore::WorkerThread::WorkerThread): 2121 (WebCore::WorkerThread::workerThread): 2122 * workers/WorkerThread.h: 2123 (WebCore::WorkerThread::workerLoaderProxy): 2124 (WebCore::WorkerThread::workerObjectProxy): 2125 WorkerThread gets a new member of type WorkerLoaderProxy&, and accessor. 2126 Also, existing WorkerObjectProxy* member is now WorkerObjectProxy& because it can't be null. 2127 2128 2009-06-08 Dimitri Glazkov <dglazkov (a] chromium.org> 2129 2130 Reviewed by Eric Seidel. 2131 2132 https://bugs.webkit.org/show_bug.cgi?id=26238 2133 Add parseDate helper to HTTPParsers, which uses WTF::parseDateFromNullTerminatedCharacters. 2134 2135 * ForwardingHeaders/runtime/DateMath.h: Removed. 2136 * ForwardingHeaders/wtf/DateMath.h: Copied from WebCore/ForwardingHeaders/runtime/DateMath.h. 2137 * platform/network/HTTPParsers.cpp: 2138 (WebCore::parseDate): Added. 2139 * platform/network/HTTPParsers.h: 2140 * platform/network/ResourceResponseBase.cpp: 2141 (WebCore::parseDateValueInHeader): Changed to use the new helper. 2142 2143 2009-06-08 Adam Langley <agl (a] google.com> 2144 2145 Reviewed by Eric Siedel. 2146 2147 Chromium Linux ignored the background color on <select>s. Rather 2148 than encode magic colours, we start with a base color (specified 2149 via CSS) and derive the other colors from it. Thus, setting the 2150 CSS background-color now correctly changes the colour of the 2151 control. 2152 2153 This should not change the appearence controls without 2154 background-colors. However, <select>s with a background-color 2155 will now renderer correctly, which may require rebaselining 2156 pixel tests in the Chromium tree. 2157 2158 https://bugs.webkit.org/show_bug.cgi?id=26030 2159 http://code.google.com/p/chromium/issues/detail?id=12596 2160 2161 * platform/graphics/Color.cpp: 2162 (WebCore::Color::getHSL): new member 2163 * platform/graphics/Color.h: 2164 * rendering/RenderThemeChromiumLinux.cpp: 2165 (WebCore::RenderThemeChromiumLinux::systemColor): 2166 (WebCore::brightenColor): 2167 (WebCore::paintButtonLike): 2168 2169 2009-06-08 Victor Wang <victorw (a] chromium.org> 2170 2171 Reviewed by Dimitri Glazkov. 2172 2173 https://bugs.webkit.org/show_bug.cgi?id=26087 2174 Bug 26087: Removing element in JS crashes Chrome tab if it fired the change event 2175 2176 Fix tab crash caused by destroying the popup list that fired the change event on abandon. 2177 2178 If a popup list is abandoned (press a key to jump to an item 2179 and then use tab or mouse to get away from the select box), 2180 the current code fires a change event in PopupListBox::updateFromElemt(). 2181 The JS that listens to this event may destroy the object and cause the 2182 rest of popup list code crashes. 2183 2184 The updateFromElement() is called before abandon() and this causes 2185 the selected index to be discarded after updateFromElement(). From 2186 the code comments, this appears to be the reason why valueChanged is 2187 called in updateFromElement. 2188 2189 Fix the issue by removing the valueChanged call in updateFromElement, 2190 saving the selected index that we should accept on abandon and pass 2191 it to the valueChange in abandon(). 2192 2193 A manual test has been added. 2194 2195 * manual-tests/chromium: Added. 2196 * manual-tests/chromium/onchange-reload-popup.html: Added. 2197 * platform/chromium/PopupMenuChromium.cpp: 2198 (WebCore::PopupListBox::PopupListBox): 2199 (WebCore::PopupListBox::handleKeyEvent): 2200 (WebCore::PopupListBox::abandon): 2201 (WebCore::PopupListBox::updateFromElement): 2202 2203 2009-06-08 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 2204 2205 Reviewed by Simon Hausmann. 2206 2207 [Qt] Disable a few warnings on Windows 2208 2209 * WebCore.pro: 2210 2211 2009-06-08 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 2212 2213 Reviewed by Simon Hausmann. 2214 2215 [Qt] Don't enable ENABLE_PLUGIN_PACKAGE_SIMPLE_HASH on Windows 2216 2217 This define was brought in after refactoring some code from 2218 PluginPackage(Qt|Gtk).cpp into the shared PluginPackage.cpp. 2219 2220 * WebCore.pro: 2221 2222 2009-06-08 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 2223 2224 Reviewed by Simon Hausmann. 2225 2226 [Qt] Use $QMAKE_PATH_SEP instead of hardcoded / to fix Windows build 2227 2228 * WebCore.pro: 2229 2230 2009-06-08 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 2231 2232 Reviewed by Ariya Hidayat. 2233 2234 [Qt] Build fix when NETSCAPE_PLUGIN_API support is turned off 2235 https://bugs.webkit.org/show_bug.cgi?id=26244 2236 2237 * WebCore.pro: Define PLUGIN_PACKAGE_SIMPLE_HASH only if 2238 NETSCAPE_PLUGIN_API is turned on 2239 * plugins/PluginPackage.cpp: Guard initializeBrowserFuncs() 2240 * plugins/PluginViewNone.cpp: Match guards with PluginView.h 2241 2242 2009-06-07 Dan Bernstein <mitz (a] apple.com> 2243 2244 Reviewed by Sam Weinig. 2245 2246 - fix <rdar://problem/6931661> -[WebView _selectionIsAll] returns YES 2247 when the selection is inside a text field. 2248 2249 * editing/VisibleSelection.cpp: 2250 (WebCore::VisibleSelection::isAll): Return false if the selection is in 2251 a shadow tree. 2252 2253 2009-06-07 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 2254 2255 Reviewed by Holger Freyther. 2256 2257 https://bugs.webkit.org/show_bug.cgi?id=26106 2258 [GTK] Crashes when you keep a combo open during a page transition, then close it 2259 2260 Hide the combo popup and disconnect from its signals during 2261 PopupMenu destruction to handle this exceptional case with no 2262 crash. 2263 2264 * platform/gtk/PopupMenuGtk.cpp: 2265 (WebCore::PopupMenu::~PopupMenu): 2266 (WebCore::PopupMenu::menuUnmapped): 2267 2268 2009-06-06 Sam Weinig <sam (a] webkit.org> 2269 2270 Reviewed by Dan Bernstein. 2271 2272 Fix for <rdar://problem/6930540> 2273 REGRESSION (r43797): Serif and fantasy font-family names are wrong in result of getComputedStyle 2274 2275 Test: fast/css/font-family-builtins.html 2276 2277 * css/CSSComputedStyleDeclaration.cpp: 2278 (WebCore::identifierForFamily): Fix typo. Fantasy family should be 2279 -webkit-fantasy not, -webkit-serif. 2280 2281 2009-06-06 Sam Weinig <sam (a] webkit.org> 2282 2283 Reviewed by Brady Eidson. 2284 2285 Fix for <rdar://problem/6936235> 2286 Need to support StorageEvent.storageArea to meet the Web Storage spec 2287 2288 * storage/LocalStorageArea.cpp: 2289 (WebCore::LocalStorageArea::dispatchStorageEvent): Pass the localStorage for 2290 the frame being dispatched to. 2291 * storage/SessionStorageArea.cpp: 2292 (WebCore::SessionStorageArea::dispatchStorageEvent): Ditto, only for sessionStorage. 2293 2294 * storage/StorageEvent.cpp: 2295 (WebCore::StorageEvent::StorageEvent): 2296 (WebCore::StorageEvent::initStorageEvent): 2297 * storage/StorageEvent.h: 2298 (WebCore::StorageEvent::create): 2299 (WebCore::StorageEvent::storageArea): 2300 * storage/StorageEvent.idl: 2301 Add storageArea member. 2302 2303 2009-06-05 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 2304 2305 Reviewed by Anders Carlsson. 2306 2307 Fix WMLInputElement initialization code. Don't call initialize() on attach(), let 2308 WMLCardElement handle initialization once, after the document has been parsed. 2309 2310 To keep layout tests working introduce a new function in Document.idl: initializeWMLPageState(). 2311 WMLTestCase.js (the wml/ layout test framework) will use it to simulate a regular WML document, 2312 whose variable state gets initialized on WMLDocument::finishedParsing(). Force initialization 2313 of the WML variable state, right after the dynamically created elements have been inserted into the tree. 2314 2315 * dom/Document.cpp: 2316 (WebCore::Document::initializeWMLPageState): 2317 * dom/Document.h: 2318 * dom/Document.idl: 2319 * wml/WMLCardElement.cpp: 2320 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): 2321 * wml/WMLDocument.cpp: 2322 (WebCore::WMLDocument::finishedParsing): 2323 (WebCore::WMLDocument::initialize): 2324 * wml/WMLDocument.h: 2325 * wml/WMLInputElement.cpp: 2326 (WebCore::WMLInputElement::initialize): 2327 * wml/WMLInputElement.h: 2328 2329 2009-06-05 Sam Weinig <sam (a] webkit.org> 2330 2331 Reviewed by Anders Carlsson. 2332 2333 Add ononline and onoffline attributes for the <body> element. 2334 2335 * html/HTMLAttributeNames.in: Added ononlineAttr and onofflineAttr. 2336 * html/HTMLBodyElement.cpp: 2337 (WebCore::HTMLBodyElement::parseMappedAttribute): Map ononlineAttr 2338 and onofflineAttr to window event listeners. 2339 2340 2009-06-05 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 2341 2342 Reviewed by Simon Hausmann. 2343 2344 [Qt] Add missing includes of config.h 2345 2346 * platform/qt/QWebPopup.cpp: 2347 * platform/text/qt/TextBreakIteratorQt.cpp: 2348 2349 2009-06-05 Fumitoshi Ukai <ukai (a] google.com> 2350 2351 Reviewed by Dimitri Glazkov. 2352 2353 https://bugs.webkit.org/show_bug.cgi?id=26215 2354 Try to fix the Chromium build. 2355 2356 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 2357 (WebCore::fillBMPGlyphs): 2358 (WebCore::fillNonBMPGlyphs): 2359 2360 2009-06-05 Shinichiro Hamaji <hamaji (a] chromium.org> 2361 2362 Bug 26160: Compile fails in MacOSX when GNU fileutils are installed 2363 2364 <https://bugs.webkit.org/show_bug.cgi?id=26160> 2365 2366 Reviewed by Alexey Proskuryakov. 2367 2368 Use /bin/ln instead of ln for cases where this command is used with -h option. 2369 As this option is not supported by GNU fileutils, this change helps users 2370 who have GNU fileutils in their PATH. 2371 2372 * WebCore.xcodeproj/project.pbxproj: 2373 2374 2009-06-03 Ben Murdoch <benm (a] google.com> 2375 2376 <https://bugs.webkit.org/show_bug.cgi?id=25710> HTML5 Database stops executing transactions if the URL hash changes while a transaction is open and an XHR is in progress. 2377 2378 Reviewed by Alexey Proskuryakov. 2379 2380 Fix a bug that causes database transactions to fail if a history navigation to a hash fragment of the same document is made while resources (e.g. an XHR) are loading 2381 2382 Test: storage/hash-change-with-xhr.html 2383 2384 * loader/DocumentLoader.cpp: 2385 (WebCore::DocumentLoader::stopLoading): 2386 * loader/DocumentLoader.h: 2387 * loader/FrameLoader.cpp: 2388 (WebCore::FrameLoader::stopLoading): 2389 (WebCore::FrameLoader::stopAllLoaders): 2390 * loader/FrameLoader.h: 2391 * loader/FrameLoaderTypes.h: 2392 (WebCore::): 2393 * page/Page.cpp: 2394 (WebCore::Page::goToItem): 2395 * WebCore.base.exp: 2396 2397 2009-06-03 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 2398 2399 Reviewed by Simon Hausmann. 2400 2401 [Qt] Make sure the correct config.h is included when shadowbuilding 2402 2403 * WebCore.pro: 2404 2405 2009-06-05 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 2406 2407 Reviewed by Simon Hausmann. 2408 2409 Fix Qt build after r44452 2410 2411 * platform/network/qt/QNetworkReplyHandler.cpp: 2412 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 2413 2414 2009-06-05 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 2415 2416 Reviewed by Simon Hausmann. 2417 2418 [Qt] Remove some dead code (MenuEventProxy) 2419 2420 * WebCore.pro: 2421 * platform/ContextMenu.h: 2422 * platform/qt/ContextMenuQt.cpp: 2423 * platform/qt/MenuEventProxy.h: Removed. 2424 2425 2009-06-05 Xan Lopez <xlopez (a] igalia.com> 2426 2427 More build fixes. 2428 2429 * platform/graphics/gtk/GlyphPageTreeNodePango.cpp: 2430 (WebCore::GlyphPage::fill): 2431 2432 2009-06-05 Xan Lopez <xlopez (a] igalia.com> 2433 2434 Fix the GTK+ build. 2435 2436 * GNUmakefile.am: 2437 * platform/graphics/gtk/FontCacheGtk.cpp: 2438 (WebCore::FontCache::getFontDataForCharacters): 2439 * platform/graphics/gtk/GlyphPageTreeNodeGtk.cpp: 2440 (WebCore::GlyphPage::fill): 2441 2442 2009-06-05 Antti Koivisto <antti (a] apple.com> 2443 2444 Try to fix Windows (and possibly other platforms) build. 2445 2446 Restore ResourceResponseBase::lastModifiedDate() and setLastModifiedDate() removed in previous commit. 2447 for now since PluginStream used on some platforms expects them and calculations differ from plain 2448 Last-modified header value. 2449 2450 Also include <wtf/MathExtras.h> to get isfinite(). 2451 2452 * platform/network/ResourceResponseBase.cpp: 2453 (WebCore::ResourceResponseBase::adopt): 2454 (WebCore::ResourceResponseBase::copyData): 2455 (WebCore::ResourceResponseBase::setLastModifiedDate): 2456 (WebCore::ResourceResponseBase::lastModifiedDate): 2457 * platform/network/ResourceResponseBase.h: 2458 * platform/network/cf/ResourceResponseCFNet.cpp: 2459 (WebCore::ResourceResponse::platformLazyInit): 2460 2461 2009-06-03 Antti Koivisto <antti (a] apple.com> 2462 2463 Reviewed by Dave Kilzer. 2464 2465 https://bugs.webkit.org/show_bug.cgi?id=13128 2466 Safari not obeying cache header 2467 2468 Implement RFC 2616 cache expiration calculations in WebKit instead of 2469 relying on the networking layer. 2470 2471 * ForwardingHeaders/runtime/DateMath.h: Added. 2472 * WebCore.base.exp: 2473 * loader/Cache.cpp: 2474 (WebCore::Cache::revalidationSucceeded): 2475 * loader/CachedResource.cpp: 2476 (WebCore::CachedResource::CachedResource): 2477 (WebCore::CachedResource::isExpired): 2478 (WebCore::CachedResource::currentAge): 2479 (WebCore::CachedResource::freshnessLifetime): 2480 (WebCore::CachedResource::setResponse): 2481 (WebCore::CachedResource::updateResponseAfterRevalidation): 2482 (WebCore::CachedResource::mustRevalidate): 2483 * loader/CachedResource.h: 2484 * platform/network/ResourceResponseBase.cpp: 2485 (WebCore::ResourceResponseBase::ResourceResponseBase): 2486 (WebCore::ResourceResponseBase::adopt): 2487 (WebCore::ResourceResponseBase::copyData): 2488 (WebCore::ResourceResponseBase::setHTTPHeaderField): 2489 (WebCore::ResourceResponseBase::parseCacheControlDirectives): 2490 (WebCore::ResourceResponseBase::cacheControlContainsNoCache): 2491 (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate): 2492 (WebCore::ResourceResponseBase::cacheControlMaxAge): 2493 (WebCore::parseDateValueInHeader): 2494 (WebCore::ResourceResponseBase::date): 2495 (WebCore::ResourceResponseBase::age): 2496 (WebCore::ResourceResponseBase::expires): 2497 (WebCore::ResourceResponseBase::lastModified): 2498 (WebCore::ResourceResponseBase::isAttachment): 2499 (WebCore::ResourceResponseBase::compare): 2500 * platform/network/ResourceResponseBase.h: 2501 * platform/network/cf/ResourceResponseCFNet.cpp: 2502 (WebCore::ResourceResponse::platformLazyInit): 2503 * platform/network/mac/ResourceResponseMac.mm: 2504 (WebCore::ResourceResponse::platformLazyInit): 2505 2506 2009-06-04 Roland Steiner <rolandsteiner (a] google.com> 2507 2508 Reviewed by Eric Seidel. 2509 2510 Bug 26201: Remove superfluous 'if' statements in RenderTable::addChild 2511 https://bugs.webkit.org/show_bug.cgi?id=26201 2512 2513 * rendering/RenderTable.cpp: 2514 (WebCore::RenderTable::addChild): remove superfluous 'if' statements 2515 2516 2517 2009-06-04 Roland Steiner <rolandsteiner (a] google.com> 2518 2519 Reviewed by Eric Seidel. 2520 2521 Bug 26202: add macros for primitive values to simplify CSSStyleSelector::applyProperty 2522 https://bugs.webkit.org/show_bug.cgi?id=26202 2523 2524 * css/CSSStyleSelector.cpp: add HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE[_WITH_VALUE] macros 2525 (WebCore::CSSStyleSelector::applyProperty): use new macros 2526 2527 2009-06-04 Roland Steiner <rolandsteiner (a] google.com> 2528 2529 Reviewed by Eric Seidel 2530 2531 Bug 26203: Move parsing of 'attr(X)' values to own method 2532 https://bugs.webkit.org/show_bug.cgi?id=26203 2533 2534 * css/CSSParser.cpp: 2535 (WebCore::CSSParser::parseAttr): new method 2536 (WebCore::CSSParser::parseContent): use new parseAttr method 2537 * css/CSSParser.h: 2538 (WebCore::CSSParser::parseAttr): new method 2539 2540 2009-06-04 Roland Steiner <rolandsteiner (a] google.com> 2541 2542 Reviewed by Eric Seidel. 2543 2544 Bug 26205: RenderTableSection::addChild : correct comment 2545 https://bugs.webkit.org/show_bug.cgi?id=26205 2546 2547 * rendering/RenderTableSection.cpp: 2548 (WebCore::RenderTableSection::addChild): correct comment 2549 2550 2009-06-04 Roland Steiner <rolandsteiner (a] google.com> 2551 2552 Reviewed by Eric Seidel. 2553 2554 Bug 26204: RenderBlock : simplify handleSpecialChild, comment correction 2555 https://bugs.webkit.org/show_bug.cgi?id=26204 2556 2557 * rendering/RenderBlock.cpp: 2558 (WebCore::RenderBlock::handleSpecialChild): simplify usage 2559 (WebCore::RenderBlock::handlePositionedChild): simplify usage 2560 (WebCore::RenderBlock::handleFloatingChild): simplify usage 2561 (WebCore::RenderBlock::handleRunInChild): simplify usage 2562 (WebCore::RenderBlock::layoutBlock): correct comment 2563 (WebCore::RenderBlock::layoutBlockChildren): simplify loop, change call to handleSpecialChild 2564 * rendering/RenderBlock.h: 2565 (WebCore::RenderBlock::handleSpecialChild): change signature 2566 (WebCore::RenderBlock::handlePositionedChild): change signature 2567 (WebCore::RenderBlock::handleFloatingChild): change signature 2568 (WebCore::RenderBlock::handleRunInChild): change signature 2569 2570 2009-06-04 Dan Bernstein <mitz (a] apple.com> 2571 2572 - retry to fix the Tiger build 2573 2574 * platform/graphics/mac/SimpleFontDataMac.mm: 2575 (WebCore::initFontData): 2576 2577 2009-06-04 Dan Bernstein <mitz (a] apple.com> 2578 2579 - try to fix the Tiger build 2580 2581 * platform/graphics/SimpleFontData.h: 2582 2583 2009-06-04 Dan Bernstein <mitz (a] apple.com> 2584 2585 - try to fix the Leopard and Tiger builds 2586 2587 * platform/graphics/SimpleFontData.h: 2588 2589 2009-06-04 Dan Bernstein <mitz (a] apple.com> 2590 2591 - try to fix the Windows build 2592 2593 * platform/graphics/win/UniscribeController.cpp: 2594 (WebCore::UniscribeController::shapeAndPlaceItem): 2595 2596 2009-06-04 Dan Bernstein <mitz (a] apple.com> 2597 2598 Reviewed by Sam Weinig. 2599 2600 - make SimpleFontData's data members private 2601 - rename SimpleFontData's m_font member to m_platformData 2602 2603 * platform/graphics/Font.h: 2604 (WebCore::Font::spaceWidth): 2605 * platform/graphics/SimpleFontData.cpp: 2606 (WebCore::SimpleFontData::SimpleFontData): 2607 * platform/graphics/SimpleFontData.h: 2608 (WebCore::SimpleFontData::platformData): 2609 (WebCore::SimpleFontData::spaceWidth): 2610 (WebCore::SimpleFontData::adjustedSpaceWidth): 2611 (WebCore::SimpleFontData::syntheticBoldOffset): 2612 (WebCore::SimpleFontData::spaceGlyph): 2613 (WebCore::SimpleFontData::getNSFont): 2614 (WebCore::SimpleFontData::getQtFont): 2615 (WebCore::SimpleFontData::getWxFont): 2616 * platform/graphics/WidthIterator.cpp: 2617 (WebCore::WidthIterator::advance): 2618 * platform/graphics/cairo/FontCairo.cpp: 2619 (WebCore::Font::drawGlyphs): 2620 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 2621 (WebCore::SimpleFontData::platformInit): 2622 (WebCore::SimpleFontData::smallCapsFontData): 2623 (WebCore::SimpleFontData::determinePitch): 2624 (WebCore::SimpleFontData::platformWidthForGlyph): 2625 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 2626 (WebCore::SimpleFontData::platformInit): 2627 (WebCore::SimpleFontData::smallCapsFontData): 2628 (WebCore::SimpleFontData::containsCharacters): 2629 (WebCore::SimpleFontData::platformWidthForGlyph): 2630 * platform/graphics/gtk/FontGtk.cpp: 2631 (WebCore::setPangoAttributes): 2632 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 2633 (WebCore::SimpleFontData::platformInit): 2634 (WebCore::SimpleFontData::containsCharacters): 2635 (WebCore::SimpleFontData::determinePitch): 2636 (WebCore::SimpleFontData::platformWidthForGlyph): 2637 (WebCore::SimpleFontData::setFont): 2638 * platform/graphics/gtk/SimpleFontDataPango.cpp: 2639 (WebCore::SimpleFontData::platformInit): 2640 (WebCore::SimpleFontData::containsCharacters): 2641 (WebCore::SimpleFontData::determinePitch): 2642 (WebCore::SimpleFontData::platformWidthForGlyph): 2643 (WebCore::SimpleFontData::setFont): 2644 * platform/graphics/mac/CoreTextController.cpp: 2645 (WebCore::CoreTextController::adjustGlyphsAndAdvances): 2646 * platform/graphics/mac/FontMac.mm: 2647 (WebCore::Font::drawGlyphs): 2648 * platform/graphics/mac/FontMacATSUI.mm: 2649 (WebCore::initializeATSUStyle): 2650 (WebCore::overrideLayoutOperation): 2651 (WebCore::ATSULayoutParameters::initialize): 2652 * platform/graphics/mac/SimpleFontDataMac.mm: 2653 (WebCore::initFontData): 2654 (WebCore::SimpleFontData::platformInit): 2655 (WebCore::SimpleFontData::platformCharWidthInit): 2656 (WebCore::SimpleFontData::smallCapsFontData): 2657 (WebCore::SimpleFontData::containsCharacters): 2658 (WebCore::SimpleFontData::determinePitch): 2659 (WebCore::SimpleFontData::platformWidthForGlyph): 2660 (WebCore::SimpleFontData::checkShapesArabic): 2661 (WebCore::SimpleFontData::getCTFont): 2662 * platform/graphics/qt/SimpleFontDataQt.cpp: 2663 (WebCore::SimpleFontData::determinePitch): 2664 (WebCore::SimpleFontData::platformInit): 2665 (WebCore::SimpleFontData::platformCharWidthInit): 2666 * platform/graphics/win/FontCGWin.cpp: 2667 (WebCore::drawGDIGlyphs): 2668 (WebCore::Font::drawGlyphs): 2669 * platform/graphics/win/SimpleFontDataCGWin.cpp: 2670 (WebCore::SimpleFontData::platformInit): 2671 (WebCore::SimpleFontData::platformCharWidthInit): 2672 (WebCore::SimpleFontData::platformWidthForGlyph): 2673 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 2674 (WebCore::SimpleFontData::platformInit): 2675 (WebCore::SimpleFontData::platformDestroy): 2676 (WebCore::SimpleFontData::platformWidthForGlyph): 2677 (WebCore::SimpleFontData::setFont): 2678 * platform/graphics/win/SimpleFontDataWin.cpp: 2679 (WebCore::SimpleFontData::initGDIFont): 2680 (WebCore::SimpleFontData::smallCapsFontData): 2681 (WebCore::SimpleFontData::containsCharacters): 2682 (WebCore::SimpleFontData::determinePitch): 2683 (WebCore::SimpleFontData::widthForGDIGlyph): 2684 (WebCore::SimpleFontData::scriptFontProperties): 2685 * platform/graphics/wx/SimpleFontDataWx.cpp: 2686 (WebCore::SimpleFontData::platformInit): 2687 (WebCore::SimpleFontData::determinePitch): 2688 (WebCore::SimpleFontData::platformWidthForGlyph): 2689 2690 2009-06-04 Paul Godavari <paul (a] chromium.org> 2691 2692 Reviewed by Eric Seidel. 2693 2694 Initialize the width of PopupMenuListBox properly for Mac Chromium. 2695 2696 Added a test that works only with this patch applied. The test is 2697 a manual one, since the hit testing infrastructure in the layout 2698 tests sends keyboard and mouse events to the main window and not 2699 the cocoa control that implements the popup up, which means we can't 2700 select items from the popup up. 2701 2702 https://bugs.webkit.org/show_bug.cgi?id=25904 2703 2704 2705 * manual-tests/select-narrow-width.html: Added. 2706 * platform/chromium/PopupMenuChromium.cpp: 2707 (WebCore::PopupListBox::PopupListBox): 2708 (WebCore::PopupContainer::showExternal): 2709 2710 2009-06-04 Brent Fulgham <bfulgham (a] webkit.org> 2711 2712 Unreviewed Windows build correction. 2713 2714 * WebCore.vcproj/WebCore.vcproj: Add missing 'ReplaceNodeWithSpanCommand.cpp' 2715 and 'ReplaceNodeWithSpanCommand.h' 2716 2717 2009-02-03 Eric Seidel <eric (a] webkit.org> 2718 2719 Reviewed by Justin Garcia. 2720 2721 Make sure execCommand("bold") on <b style="text-decoration: underline">test</b> 2722 only removes the bold and not the underline. 2723 https://bugs.webkit.org/show_bug.cgi?id=23496 2724 2725 Test: editing/execCommand/convert-style-elements-to-spans.html 2726 2727 * WebCore.xcodeproj/project.pbxproj: 2728 * css/CSSStyleDeclaration.h: 2729 (WebCore::CSSStyleDeclaration::isEmpty): 2730 * dom/NamedAttrMap.h: 2731 (WebCore::NamedAttrMap::isEmpty): 2732 * editing/ApplyStyleCommand.cpp: 2733 (WebCore::isUnstyledStyleSpan): 2734 (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan): 2735 (WebCore::ApplyStyleCommand::applyBlockStyle): 2736 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 2737 (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): 2738 (WebCore::ApplyStyleCommand::replaceWithSpanOrRemoveIfWithoutAttributes): 2739 (WebCore::ApplyStyleCommand::removeCSSStyle): 2740 (WebCore::ApplyStyleCommand::applyTextDecorationStyle): 2741 (WebCore::ApplyStyleCommand::removeInlineStyle): 2742 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 2743 * editing/ApplyStyleCommand.h: 2744 * editing/CompositeEditCommand.cpp: 2745 (WebCore::CompositeEditCommand::replaceNodeWithSpanPreservingChildrenAndAttributes): 2746 * editing/CompositeEditCommand.h: 2747 * editing/RemoveNodePreservingChildrenCommand.cpp: 2748 (WebCore::RemoveNodePreservingChildrenCommand::RemoveNodePreservingChildrenCommand): 2749 * editing/ReplaceNodeWithSpanCommand.cpp: Added. 2750 (WebCore::ReplaceNodeWithSpanCommand::ReplaceNodeWithSpanCommand): 2751 (WebCore::swapInNodePreservingAttributesAndChildren): 2752 (WebCore::ReplaceNodeWithSpanCommand::doApply): 2753 (WebCore::ReplaceNodeWithSpanCommand::doUnapply): 2754 * editing/ReplaceNodeWithSpanCommand.h: Added. 2755 (WebCore::ReplaceNodeWithSpanCommand::create): 2756 2757 2009-06-04 Brent Fulgham <bfulgham (a] webkit.org> 2758 2759 Unreviewed build fix for Windows Cairo target. 2760 2761 Add missing post-build command to copy history/cf contents 2762 to output directory. 2763 2764 * WebCore.vcproj/WebCore.vcproj: Update Debug_Cairo and Release_Cairo 2765 target post-build steps with copy commands. 2766 2767 2009-06-04 Pierre d'Herbemont <pdherbemont (a] apple.com> 2768 2769 Reviewed by Simon Fraser. 2770 2771 <rdar://problem/6854695> Movie controller thumb fails to scale with full page zoom 2772 2773 Account for zoom level when drawing media controller thumb on Windows. 2774 2775 * rendering/RenderMediaControls.cpp: 2776 (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): 2777 2778 2009-06-04 David Hyatt <hyatt (a] apple.com> 2779 2780 Reviewed by Sam Weinig. 2781 2782 Move DOM window focus/blur out of SelectionController and into FocusController. Make sure it 2783 fires on the focused frame when the page activation state changes also. This is covered by an existing 2784 layout test (albeit badly). I have modified the test to be correct. 2785 2786 * editing/SelectionController.cpp: 2787 (WebCore::SelectionController::setFocused): 2788 * page/FocusController.cpp: 2789 (WebCore::FocusController::setFocusedFrame): 2790 (WebCore::FocusController::setActive): 2791 2792 2009-06-04 Albert J. Wong <ajwong (a] chromium.org> 2793 2794 Reviewed by Eric Seidel. 2795 2796 https://bugs.webkit.org/show_bug.cgi?id=26148 2797 Adding in empty files to stage the extract of RenderThemeChromiumSkia 2798 from RenderThemeChromiumLinux and RenderThemeChromiumWindows. 2799 2800 * rendering/RenderThemeChromiumSkia.cpp: Added. 2801 * rendering/RenderThemeChromiumSkia.h: Added. 2802 2803 2009-06-04 Andrei Popescu <andreip (a] google.com> 2804 2805 Reviewed by Alexey Proskuryakov. 2806 2807 https://bugs.webkit.org/show_bug.cgi?id=25562 2808 Potential crash after ApplicationCacheStorage::storeNewestCache() fails 2809 2810 Fix the crash by checking the return value of cacheStorage().storeNewestCache(this) 2811 in WebCore::ApplicationCacheGroup::checkIfLoadIsComplete. If storeNewestCache failed, 2812 we run the cache failure steps: 2813 2814 1. Fire the error events to all pending master entries, as well any other cache hosts 2815 currently associated with a cache in this group. 2816 2. Disassociate the pending master entries from the failed new cache. 2817 3. Reinstate the old "newest cache", if there was one. 2818 2819 We also introduce two other changes: 2820 2821 1. a mechanism to rollback storageID changes to the in-memory resource 2822 objects when the storing of an ApplicationCache object fails. 2823 2824 2. defer removing the pending master entries from the list of pending master entries 2825 until the entire load is complete. This matches the HTML 5 spec better. To track 2826 if the load is complete we now introduce a counter for those pending master entries 2827 that haven't yet finshed downloading. 2828 2829 * loader/appcache/ApplicationCacheGroup.cpp: 2830 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): initializes the new counter to 0 2831 (WebCore::ApplicationCacheGroup::selectCache): increments the counter when a new pending 2832 master entry is added. 2833 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): decrements the counter 2834 instead of removing the pending master entry. 2835 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): decrements the counter 2836 instead of removing the pending master entry. 2837 (WebCore::ApplicationCacheGroup::setNewestCache): removes an assertion that no longer 2838 holds true. In particular, the newest cache is not necessarily new anymore. We can 2839 set an old cache as the new cache. This can happen if we failed to store a newly 2840 downloaded cache to the database and we are now reinstating the former newest cache. 2841 (WebCore::ApplicationCacheGroup::manifestNotFound): resets the counter to 0. 2842 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): check if the loading is complete 2843 based on the counter instead of the list of pending master entries. Empty the list of 2844 master entries if the load is complete. 2845 * loader/appcache/ApplicationCacheGroup.h: add the new counter. 2846 * loader/appcache/ApplicationCacheStorage.cpp: introduce the journaling mechanism for 2847 in-memory resource objects. 2848 (WebCore::ResourceStorageIDJournal::~ResourceStorageIDJournal): 2849 (WebCore::ResourceStorageIDJournal::add): 2850 (WebCore::ResourceStorageIDJournal::commit): 2851 (WebCore::ResourceStorageIDJournal::Record::Record): 2852 (WebCore::ResourceStorageIDJournal::Record::restore): 2853 (WebCore::ApplicationCacheStorage::store): log the changes to the in-memory resource 2854 objects. 2855 (WebCore::ApplicationCacheStorage::storeNewestCache): create the journal object. 2856 * loader/appcache/ApplicationCacheStorage.h: modify the signature of 2857 bool store(ApplicationCache*) to add a pointer to the logger object used to 2858 trace the changes to the storageID of the resource objects. 2859 2860 2009-06-04 Jeremy Orlow <jorlow (a] chromium.org> 2861 2862 Reviewed by Darin Adler. 2863 2864 https://bugs.webkit.org/show_bug.cgi?id=26154 2865 Allow underscores in the hostnames we parse out of databaseIdentifiers. 2866 This code is used for HTML 5 database support. 2867 2868 * page/SecurityOrigin.cpp: 2869 (WebCore::SecurityOrigin::createFromDatabaseIdentifier): 2870 2871 2009-06-04 Mihnea Ovidenie <mihnea (a] adobe.com> 2872 2873 Reviewed by Darin Adler. 2874 2875 Bug 26084: Multiple missing images in webkit-mask-image prevent rendering 2876 https://bugs.webkit.org/show_bug.cgi?id=26084 2877 2878 When painting multiple images, make sure that at least one image is valid before pushing a transparency layer. 2879 2880 Added a manual test. 2881 2882 * manual-tests/mask-composite-missing-images.html: Added. 2883 * rendering/RenderBox.cpp: 2884 (WebCore::RenderBox::paintMaskImages): 2885 2886 2009-06-04 Jeremy Orlow <jorlow (a] chromium.org> 2887 2888 Reviewed by Darin Adler. 2889 2890 https://bugs.webkit.org/show_bug.cgi?id=26180 2891 Add a fast path for SecurityOrigin::equal. If "other == this" (where 2892 other is the other security origin), then we really don't need to do 2893 all the other (expensive) comparisons. We know it's equal. 2894 2895 * page/SecurityOrigin.cpp: 2896 (WebCore::SecurityOrigin::equal): 2897 2898 2009-06-03 David Hyatt <hyatt (a] apple.com> 2899 2900 Reviewed by Sam Weinig. 2901 2902 Improvements in how selection behaves with focus/activation and a reversion back to using isActive 2903 in the scrollbar theme code to remove a Chromium ifdef. 2904 2905 * editing/SelectionController.cpp: 2906 (WebCore::SelectionController::SelectionController): 2907 Make the controller set its focused state correctly upon initial creation. 2908 2909 (WebCore::SelectionController::setSelection): 2910 Make selection willing to shift the focus node if the selection is focused even if the 2911 selection is not active. Whether or not the Page is active is irrelevant to focus changes. 2912 2913 (WebCore::SelectionController::setFocused): 2914 * editing/SelectionController.h: 2915 (WebCore::SelectionController::isFocused): 2916 Add a new isFocused() method so that code can check if the Selection is focused without caring 2917 about the active state. 2918 2919 * page/Frame.cpp: 2920 (WebCore::Frame::setFocusedNodeIfNeeded): 2921 Allow focus shifts even when the selection is not active. 2922 2923 * platform/mac/ScrollbarThemeMac.mm: 2924 (WebCore::ScrollbarThemeMac::paint): 2925 Revert Dan's change to directly talk to AppKit for checking active state. Now that the WebCore isActive 2926 method works, ditch the Chromium-specific #ifdef and go back to the original code. 2927 2928 2009-06-04 Pierre d'Herbemont <pdherbemont (a] apple.com> 2929 2930 Reviewed by Darin Adler. 2931 2932 Test: media/before-load-member-access.html 2933 2934 https://bugs.webkit.org/show_bug.cgi?id=26081 2935 2936 * html/HTMLMediaElement.cpp: 2937 (WebCore::HTMLMediaElement::played): Ensure that if m_playedTimeRanges, 2938 is not initialized we return a valid range, and don't attempt to use it. 2939 2940 2009-06-03 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 2941 2942 Reviewed by Simon Hausmann. 2943 2944 Implement a way to invalidate the FontCache used by the Qt port. 2945 2946 * platform/graphics/qt/FontCacheQt.cpp: 2947 (WebCore::FontCache::invalidate): 2948 2949 2009-06-04 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 2950 2951 Reviewed by Ariya Hidayat. 2952 2953 https://bugs.webkit.org/show_bug.cgi?id=26015 2954 2955 [Qt] Single-threaded QtWebKit configuration 2956 2957 Turn off Database, DOM storage, icon database and Web Workers support 2958 when ENABLE_SINGLE_THREADED is turned on. 2959 2960 Set SQLITE_THREADSAFE to false to turn off SQLite mutexes 2961 when ENABLE_SINGLE_THREADED is turned on. 2962 2963 * WebCore.pro: 2964 2965 2009-06-03 Dan Bernstein <mitz (a] apple.com> 2966 2967 Reviewed by Sam Weinig. 2968 2969 - add some assertions that Font methods are used on the main thread 2970 2971 * platform/graphics/Font.cpp: 2972 (WebCore::Font::setShouldUseSmoothing): 2973 * platform/graphics/Font.h: 2974 (WebCore::Font::primaryFont): 2975 * platform/graphics/FontFastPath.cpp: 2976 (WebCore::Font::glyphDataForCharacter): 2977 2978 2009-06-03 Dan Bernstein <mitz (a] apple.com> 2979 2980 - Windows build fix 2981 2982 Rolled out apparently-accidental changes to config.h from r44398. These 2983 were not part of the patch as reviewed. 2984 2985 * config.h: 2986 2987 2009-06-03 Dmitry Titov <dimich (a] chromium.org> 2988 2989 Not reviewed, Chromium build fix. 2990 2991 https://bugs.webkit.org/show_bug.cgi?id=26177 2992 Reverting 'private' to 'protected' on 2 classes. 2993 Chromium glue layer (not yet in Webkit tree) relies on ability to derive 2994 Chromium-specific platform classes and access the data members. 2995 See bug for more details. 2996 2997 * platform/PlatformMouseEvent.h: 2998 * platform/PlatformWheelEvent.h: 2999 3000 2009-06-03 Chris Marrin <cmarrin (a] apple.com> 3001 3002 Reviewed by Simon Fraser <simonfr (a] apple.com>. 3003 3004 Fixed https://bugs.webkit.org/show_bug.cgi?id=26162 3005 3006 This corrects an error when destroying an animation 3007 or transition where endAnimation was never getting 3008 called and therefore the hardware animation was never 3009 getting removed. 3010 3011 This includes a manual-test since it's really impossible 3012 to make a meaningful automatic test for an animation 3013 bug like this. 3014 3015 This has no effect unless accelerated compositing is 3016 enabled. 3017 3018 * manual-tests/interrupted-compound-transform.html: Added. 3019 * page/animation/ImplicitAnimation.cpp: 3020 (WebCore::ImplicitAnimation::~ImplicitAnimation): 3021 * page/animation/KeyframeAnimation.cpp: 3022 (WebCore::KeyframeAnimation::~KeyframeAnimation): 3023 3024 2009-06-03 Adam Langley <agl (a] google.com> 3025 3026 Reviewed by Eric Seidel. 3027 3028 Make the scrollbar thumb size twice the width for Chromium Linux. This 3029 matches Firefox on Linux. 3030 3031 This will need layout test pixel results to be rebaselined in the 3032 Chromium tree. 3033 3034 http://code.google.com/p/chromium/issues/detail?id=12602 3035 https://bugs.webkit.org/show_bug.cgi?id=26176 3036 3037 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 3038 (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength): 3039 * platform/chromium/ScrollbarThemeChromiumLinux.h: 3040 3041 2009-06-03 Adam Langley <agl (a] google.com> 3042 3043 Reviewed by Eric Seidel. 3044 3045 Change Chromium scrollbar theme code to use different classes on 3046 Windows and Linux rather than suppling symbols. The ScrollbarTheme 3047 class is already using virtual dispatch, so there's no reason not to. 3048 3049 This should not affect any layout tests. 3050 3051 https://bugs.webkit.org/show_bug.cgi?id=26174 3052 3053 * platform/chromium/ScrollbarThemeChromium.cpp: 3054 * platform/chromium/ScrollbarThemeChromium.h: 3055 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 3056 (WebCore::ScrollbarTheme::nativeTheme): 3057 (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness): 3058 (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece): 3059 (WebCore::ScrollbarThemeChromiumLinux::paintButton): 3060 (WebCore::ScrollbarThemeChromiumLinux::paintThumb): 3061 (WebCore::ScrollbarThemeChromiumLinux::buttonSize): 3062 * platform/chromium/ScrollbarThemeChromiumLinux.h: Added. 3063 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 3064 (WebCore::ScrollbarTheme::nativeTheme): 3065 (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness): 3066 (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit): 3067 (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin): 3068 (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece): 3069 (WebCore::ScrollbarThemeChromiumWin::paintButton): 3070 (WebCore::ScrollbarThemeChromiumWin::paintThumb): 3071 (WebCore::ScrollbarThemeChromiumWin::getThemeState): 3072 (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState): 3073 (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState): 3074 (WebCore::ScrollbarThemeChromiumWin::buttonSize): 3075 * platform/chromium/ScrollbarThemeChromiumWin.h: Added. 3076 3077 2009-06-03 Pavel Feldman <pfeldman (a] chromium.org> 3078 3079 Reviewed by Timothy Hatcher. 3080 3081 Enabling debugger requires that Scripts panel is already attached to the 3082 render tree. The reason is that recompile events result in script sources 3083 being added into the source frames. Prior to the global options introduced, 3084 debugger was enabled from the Scripts panel, so that it was guaranteed to 3085 exist. The InspectorController::enableDebugger API calls with no inspector 3086 frontend showing were failing though. 3087 3088 https://bugs.webkit.org/show_bug.cgi?id=26145 3089 3090 * WebCore.base.exp: 3091 * inspector/InspectorController.cpp: 3092 (WebCore::InspectorController::setWindowVisible): 3093 (WebCore::InspectorController::scriptObjectReady): 3094 (WebCore::InspectorController::enableDebuggerFromFrontend): 3095 (WebCore::InspectorController::enableDebugger): 3096 * inspector/InspectorController.h: 3097 * inspector/InspectorController.idl: 3098 * inspector/InspectorFrontend.cpp: 3099 (WebCore::InspectorFrontend::attachDebuggerWhenShown): 3100 * inspector/InspectorFrontend.h: 3101 * inspector/front-end/ScriptsPanel.js: 3102 (WebInspector.ScriptsPanel.prototype.show): 3103 (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown): 3104 * inspector/front-end/inspector.js: 3105 (WebInspector.attachDebuggerWhenShown): 3106 3107 2009-06-03 Dan Bernstein <mitz (a] apple.com> 3108 3109 Reviewed by Anders Carlsson. 3110 3111 - fix a regression from the previous patch 3112 3113 * platform/graphics/Font.cpp: Initialize shouldUseFontSmoothing to true. 3114 3115 2009-06-03 Dan Bernstein <mitz (a] apple.com> 3116 3117 Reviewed by Anders Carlsson. 3118 3119 - eliminate WebCoreTextRenderer 3120 3121 * WebCore.base.exp: Updated. 3122 * WebCore.xcodeproj/project.pbxproj: Removed WebCoreTextRenderer.{h,mm} 3123 and promoted WebFontCache.h to private. 3124 * platform/graphics/Font.cpp: 3125 (WebCore::Font::setShouldUseSmoothing): Added this static setter for 3126 a new file-static boolean. 3127 (WebCore::Font::shouldUseSmoothing): Added this static getter. 3128 * platform/graphics/Font.h: Decleared setShouldUseSmoothing() and 3129 shouldUseSmoothing(). 3130 * platform/graphics/mac/FontMac.mm: 3131 (WebCore::Font::drawGlyphs): Use Font::shouldUseSmoothing() instead of 3132 WebCoreShouldUseFontSmoothing(). 3133 * platform/graphics/mac/WebLayer.mm: Removed unneeded #import. 3134 * platform/mac/WebCoreTextRenderer.h: Removed. 3135 * platform/mac/WebCoreTextRenderer.mm: Removed. 3136 3137 2009-06-03 David Levin <levin (a] chromium.org> 3138 3139 Reviewed by Dimitri Glazkov. 3140 3141 v8's ScriptController::evaluate should protect the Frame like the jsc version. 3142 https://bugs.webkit.org/show_bug.cgi?id=26172 3143 3144 This change is simply copying protections done for Frame in the method 3145 WebCore::ScriptController::evaluate in the file js/ScriptController.cpp. 3146 3147 * bindings/v8/ScriptController.cpp: 3148 (WebCore::ScriptController::evaluate): 3149 3150 2009-06-03 Dan Bernstein <mitz (a] apple.com> 3151 3152 Reviewed by John Sullivan. 3153 3154 - fix <rdar://problem/6841120> Use CTFontManager notifications instead 3155 of ATS notifications 3156 3157 * platform/graphics/FontCache.h: Made it an error to destroy a 3158 FontCache instance. 3159 * platform/graphics/mac/FontCacheMac.mm: 3160 (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Added 3161 this notification callback for the 3162 kCTFontManagerRegisteredFontsChangedNotification, which calls 3163 invalidate(). 3164 (WebCore::FontCache::platformInit): Register for 3165 kCTFontManagerRegisteredFontsChangedNotification. 3166 3167 2009-06-03 Kevin Watters <kevinwatters (a] gmail.com> 3168 3169 Reviewed by Kevin Ollivier. 3170 3171 Use CGContextShowGlyphsWithAdvances to get more accurate text rendering on Mac. 3172 3173 https://bugs.webkit.org/show_bug.cgi?id=26161 3174 3175 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: 3176 (WebCore::drawTextWithSpacing): 3177 3178 2009-06-03 Pavel Feldman <pfeldman (a] chromium.org> 3179 3180 Reviewed by Timothy Hatcher. 3181 3182 Reorder ResourcesPanel components initialization to unfreeze resource list scroller. 3183 3184 https://bugs.webkit.org/show_bug.cgi?id=26159 3185 3186 * inspector/front-end/ResourcesPanel.js: 3187 (WebInspector.ResourcesPanel): 3188 3189 2009-06-03 Pavel Feldman <pfeldman (a] chromium.org> 3190 3191 Reviewed by Timothy Hatcher. 3192 3193 - Fix for crash (preceded by assertion) in InspectorController::didCommitLoad 3194 when reloading or navigating with the Inspector open. 3195 - Fix for Inspector's Elements panel being empty when Inspector first appears. 3196 3197 https://bugs.webkit.org/show_bug.cgi?id=26134 3198 https://bugs.webkit.org/show_bug.cgi?id=26135 3199 3200 * inspector/InspectorController.cpp: 3201 (WebCore::InspectorController::scriptObjectReady): 3202 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 3203 (WebCore::InspectorController::identifierForInitialRequest): 3204 (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded): 3205 * inspector/InspectorController.h: 3206 3207 2009-06-03 Adam Roben <aroben (a] apple.com> 3208 3209 Windows build fix after r44379 3210 3211 * svg/graphics/SVGImage.cpp: Move EmptyClients.h back down below the 3212 other #includes to fix a compiler warning on Windows. 3213 3214 2009-06-02 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 3215 3216 Reviewed by Simon Hausmann. 3217 3218 Add workaround for crash in Linux Flash Player when hosted by 3219 another toolkit than GTK+. Bug fixed at the Flash Player bugzilla, 3220 issue (FP-2140). 3221 3222 * plugins/qt/PluginViewQt.cpp: 3223 (WebCore::PluginView::setNPWindowIfNeeded): 3224 3225 2009-06-01 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 3226 3227 Reviewed by Simon Hausmann. 3228 3229 Refactor the Qt plugin code to use NPP_SetWindow correctly, 3230 to make resizing of plugins work. 3231 3232 Attention was paid to make sure that the windowed plugins scroll 3233 synchronized with the page view. A manual test has been added. 3234 3235 * manual-tests/qt/plugin-iframe.html: Added. 3236 * plugins/PluginView.cpp: 3237 (WebCore::PluginView::setFrameRect): 3238 (WebCore::PluginView::frameRectsChanged): 3239 * plugins/PluginView.h: 3240 * plugins/qt/PluginContainerQt.cpp: 3241 (PluginContainerQt::PluginContainerQt): 3242 * plugins/qt/PluginContainerQt.h: 3243 * plugins/qt/PluginPackageQt.cpp: 3244 (WebCore::PluginPackage::load): 3245 * plugins/qt/PluginViewQt.cpp: 3246 (WebCore::PluginView::updatePluginWidget): 3247 (WebCore::PluginView::paint): 3248 (WebCore::PluginView::setParent): 3249 (WebCore::PluginView::setNPWindowRect): 3250 (WebCore::PluginView::setNPWindowIfNeeded): 3251 (WebCore::PluginView::handlePostReadFile): 3252 (WebCore::PluginView::getValue): 3253 (WebCore::PluginView::invalidateRect): 3254 (WebCore::PluginView::init): 3255 3256 2009-06-02 Darin Adler <darin (a] apple.com> 3257 3258 Reviewed by David Hyatt. 3259 3260 Bug 26112: viewless WebKit -- make events work 3261 https://bugs.webkit.org/show_bug.cgi?id=26112 3262 3263 The main fix here is to make mouse and wheel event coordinates in the coordinate 3264 system of the top level NSView rather than the NSWindow when in the viewless mode. 3265 This is the design Hyatt chose, but the event part of it wasn't done yet. 3266 3267 Also fix FrameView to do normal reference counting instead of a strange model with 3268 an explicit deref near creation time. 3269 3270 * WebCore.base.exp: Updated. 3271 3272 * page/EventHandler.cpp: 3273 (WebCore::EventHandler::eventLoopHandleMouseUp): Moved this function into the file 3274 to reduce conditionals in the header. 3275 (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto. 3276 3277 * page/EventHandler.h: Reduced includes. Fixed formatting of Objective-C types. 3278 Made currentNSEvent a static member function. Added sendContextMenuEvent and 3279 eventMayStartDrag functions that takes NSEvent * so the conversion to PlatformMouseEvent 3280 can be done here rather than in WebKit. Reduced #if by making eventLoopHandleMouseUp and 3281 eventLoopHandleMouseDragged unconditional. 3282 3283 * page/Frame.cpp: 3284 (WebCore::Frame::setView): Made this take a PassRefPtr since it takes ownership. 3285 (WebCore::Frame::createView): Changed to use RefPtr and FrameView::create and remove 3286 the explicit deref. 3287 3288 * page/Frame.h: Changed setView to take a PassRefPtr. 3289 3290 * page/FrameTree.cpp: Added newly-needed include. 3291 3292 * page/FrameView.cpp: 3293 (WebCore::FrameView::FrameView): Got rid of one of the two constructors, and removed 3294 the initialization of m_refCount and call to show from the reamining one. 3295 (WebCore::FrameView::create): Added two create functions that do what the two 3296 constructors did before, except that they return a PassRefPtr to make sure the 3297 reference counting is handled correctly. 3298 (WebCore::FrameView::~FrameView): Removed assertion from when FrameView implemented 3299 its own reference counting. 3300 3301 * page/FrameView.h: Inherit from RefCounted for reference counting. Made the 3302 constructor private and added create functions. Got rid of the hand-implemented 3303 reference counting in this class. 3304 3305 * page/mac/EventHandlerMac.mm: 3306 (WebCore::currentNSEventSlot): Renamed currentEvent to currentNSEventSlot to 3307 make it more clear how it relates to currentNSEvent. 3308 (WebCore::EventHandler::currentNSEvent): Updated. 3309 (WebCore::CurrentEventScope::CurrentEventScope): Added. Use to set/reset the 3310 current event in a foolproof way. 3311 (WebCore::CurrentEventScope::~CurrentEventScope): Ditto. 3312 (WebCore::EventHandler::wheelEvent): Use CurrentEventScope. Pass the platform 3313 window in when constructing the PlatformWheelEvent. 3314 (WebCore::EventHandler::keyEvent): Use CurrentEventScope. 3315 (WebCore::lastEventIsMouseUp): Use currentNSEvent. 3316 (WebCore::EventHandler::passMouseDownEventToWidget): Ditto. 3317 (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto. 3318 (WebCore::EventHandler::eventLoopHandleMouseUp): Ditto. 3319 (WebCore::EventHandler::passSubframeEventToSubframe): Use 3320 currentPlatformMouseEvent to get a mouse event that has the appropriate 3321 platform window passed to create it. 3322 (WebCore::EventHandler::passWheelEventToWidget): Ditto. 3323 (WebCore::EventHandler::mouseDown): Ditto. 3324 (WebCore::EventHandler::mouseDragged): Ditto. 3325 (WebCore::EventHandler::mouseUp): Ditto. 3326 (WebCore::EventHandler::mouseMoved): Ditto. 3327 (WebCore::EventHandler::currentPlatformMouseEvent): Added. Passes the 3328 platform window that's now needed to create a PlatformMouseEvent. 3329 (WebCore::EventHandler::sendContextMenuEvent): Added. 3330 (WebCore::EventHandler::eventMayStartDrag): Added. 3331 3332 * platform/HostWindow.h: Removed unneeded includes and constructor definition. 3333 3334 * platform/PlatformMouseEvent.h: Sorted things in alphabetical order. 3335 Changed Mac constructor to take a windowView as well as the event. This is 3336 needed in viewless mode, since the "window" is actually an NSView, so the 3337 event has to know which view to compute the coordinates with. Made the 3338 same change to pointForEvent. 3339 * platform/PlatformWheelEvent.h: Ditto. 3340 3341 * platform/mac/PlatformMouseEventMac.mm: 3342 (WebCore::pointForEvent): Convert point from window coordinates to view 3343 coordinates if a windowView is passed in. This is used in viewless mode. 3344 (WebCore::PlatformMouseEvent::PlatformMouseEvent): Ditto. 3345 * platform/mac/WheelEventMac.mm: 3346 (WebCore::PlatformWheelEvent::PlatformWheelEvent): Ditto. 3347 3348 * platform/mac/WidgetMac.mm: 3349 (WebCore::Widget::convertFromContainingWindow): Fixed case where there 3350 is no platform widget and no parent. Before it would yield unpredictable 3351 results because of dispatching to a nil object and returning a structure. 3352 Now it returns the point without changing coordinates at all, which is what 3353 we need for this case in viewless mode. 3354 3355 * rendering/RenderApplet.cpp: Removed unneeded includes. 3356 (WebCore::RenderApplet::intrinsicSize): Use widget function. 3357 (WebCore::RenderApplet::createWidgetIfNecessary): Ditto. 3358 3359 * rendering/RenderApplet.h: Make more things private. Get rid of unneeded 3360 explicit destructor. 3361 3362 * rendering/RenderFrame.cpp: Removed unneeded includes. 3363 (WebCore::RenderFrame::edgeInfo): Updated to use node function so header 3364 doesn't have to define element function. 3365 (WebCore::RenderFrame::viewCleared): Ditto. Also changed to use widget 3366 function. 3367 3368 * rendering/RenderFrame.h: Removed unneeded includes. Made some things 3369 private. Got rid of element function. 3370 3371 * rendering/RenderPart.cpp: Removed unneeded includes. 3372 (WebCore::RenderPart::~RenderPart): Changed to use clearWidget function. 3373 (WebCore::RenderPart::setWidget): Changed to use widget function. 3374 (WebCore::RenderPart::deleteWidget): Changed to use passed-in widget. 3375 This is now only called by the clearWidget function. 3376 3377 * rendering/RenderPart.h: Removed unneeded forward declarations. 3378 Made more functions private. Updated deleteWidget to take widget argument. 3379 3380 * rendering/RenderPartObject.cpp: 3381 (WebCore::RenderPartObject::~RenderPartObject): use frameView function 3382 instead of getting at m_view directly. 3383 (WebCore::RenderPartObject::updateWidget): Ditto. 3384 (WebCore::RenderPartObject::layout): Ditto. Same for widget and m_widget. 3385 (WebCore::RenderPartObject::viewCleared): Ditto. 3386 3387 * rendering/RenderPartObject.h: Made some functions private. 3388 3389 * rendering/RenderWidget.cpp: 3390 (WebCore::RenderWidget::RenderWidget): Initialize m_frameView with 3391 construction syntax instead of assignment. 3392 (WebCore::RenderWidget::destroy): Updated for name change of m_view 3393 to m_frameView. 3394 (WebCore::RenderWidget::~RenderWidget): Use clearWidget to delete 3395 the widget. 3396 (WebCore::RenderWidget::setWidget): Use clearWidget. 3397 (WebCore::RenderWidget::paint): Updated for name change of m_view 3398 to m_frameView. 3399 (WebCore::RenderWidget::deleteWidget): Changed to use passed-in widget. 3400 3401 * rendering/RenderWidget.h: Made many functions protected, others 3402 private and made all data members private. 3403 3404 * svg/animation/SMILTime.h: Removed unhelpful max and min functions. These 3405 just do what std::max and std::min will already do automatically for this 3406 type, so they are not helpful. 3407 3408 * svg/graphics/SVGImage.cpp: 3409 (WebCore::SVGImage::SVGImage): Removed unneeded initial values for types 3410 that initialize to zero without anything explicit. 3411 (WebCore::SVGImage::~SVGImage): Update since m_frame and m_frameView are 3412 no longer stored. 3413 (WebCore::SVGImage::setContainerSize): Ditto. 3414 (WebCore::SVGImage::usesContainerSize): Ditto. 3415 (WebCore::SVGImage::size): Ditto. 3416 (WebCore::SVGImage::hasRelativeWidth): Ditto. 3417 (WebCore::SVGImage::hasRelativeHeight): Ditto. 3418 (WebCore::SVGImage::draw): Ditto. 3419 (WebCore::SVGImage::nativeImageForCurrentFrame): Ditto. 3420 (WebCore::SVGImage::dataChanged): Ditto. 3421 3422 * svg/graphics/SVGImage.h: Removed unneeded includes and unneeded data 3423 members m_document, m_frame, m_frameView, and m_minSize. 3424 3425 2009-06-02 Adam Langley <agl (a] google.com> 3426 3427 Reviewed by Eric Seidel. 3428 3429 The previous code was assuming that we'll be painting buttons on the scrollbar 3430 which isn't true on Linux. To reproduce, resize a page with scrollbars until 3431 they are less than two widths high. 3432 3433 This will need pixel test baselines to be updated in the Chromium tree. 3434 3435 * platform/chromium/ScrollbarThemeChromium.cpp: move this function... 3436 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 3437 (WebCore::ScrollbarThemeChromium::trackRect): ... to here 3438 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 3439 (WebCore::ScrollbarThemeChromium::trackRect): add an alternative which 3440 doesn't remove the track when the scrollbar is less than two widths 3441 high. 3442 3443 2009-06-02 Mark Rowe <mrowe (a] apple.com> 3444 3445 Reviewed by Anders Carlsson. 3446 3447 Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds. 3448 3449 * Configurations/Base.xcconfig: 3450 3451 2009-06-02 Eric Seidel <eric (a] webkit.org> 3452 3453 Reviewed by Maciej Stachowiak. 3454 3455 Insert*List on an stand-alone image in a content editable region ASSERTS 3456 ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove) 3457 https://bugs.webkit.org/show_bug.cgi?id=19066 3458 3459 Attempt to fix this by noticing that we inserted the list inside 3460 the selection which includes the image, and re-adjust the selection 3461 to not include the list before trying to move the image into 3462 the list item. 3463 3464 Test: editing/execCommand/list-wrapping-image-crash.html 3465 3466 * editing/InsertListCommand.cpp: 3467 (WebCore::InsertListCommand::doApply): 3468 3469 2009-06-02 Eric Seidel <eric (a] webkit.org> 3470 3471 Reviewed by Darin Adler. 3472 3473 Rename PositionIterator members in hope of further clarity 3474 https://bugs.webkit.org/show_bug.cgi?id=24854 3475 3476 Rename m_parent to m_anchorNode (since although it's always the parent 3477 of the previous m_child member, it is not always the parent of the effective position) 3478 Rename m_child to m_nodeAfterPositionInAnchor to make clear that it's the node 3479 directly following the position. This member is often NULL, but is always 3480 a child of m_parent, now m_anchorNode if set. 3481 Rename m_offset to m_offsetInAnchor (since it's interpreted relative to m_anchorNode) 3482 3483 * dom/PositionIterator.cpp: 3484 (WebCore::PositionIterator::operator Position): 3485 (WebCore::PositionIterator::increment): 3486 (WebCore::PositionIterator::decrement): 3487 (WebCore::PositionIterator::atStart): 3488 (WebCore::PositionIterator::atEnd): 3489 (WebCore::PositionIterator::atStartOfNode): 3490 (WebCore::PositionIterator::atEndOfNode): 3491 (WebCore::PositionIterator::isCandidate): 3492 * dom/PositionIterator.h: 3493 (WebCore::PositionIterator::PositionIterator): 3494 (WebCore::PositionIterator::node): 3495 (WebCore::PositionIterator::offsetInLeafNode): 3496 3497 2009-06-02 Julien Chaffraix <jchaffraix (a] webkit.org> 3498 3499 Reviewed by Eric Seidel. 3500 3501 Bug 17167: Failures in fast/dom/Node/initial-values.html 3502 3503 This partly solve a compatibility issue with other browsers. It will also 3504 make us more consistent while handling XHTML element. 3505 3506 The issue is that when we create an XHTML element inside an HTML document 3507 (as it is the case when calling createElementNS), we default to the HTML 3508 behaviour in nodeName. As we cannot test if an HTMLElement is an XHTML 3509 element, our fix is to check whether it has a prefix and then default 3510 to XML behaviour for nodeName. 3511 3512 * html/HTMLElement.cpp: 3513 (WebCore::HTMLElement::nodeName): Add a prefix check before 3514 returning the uppercase tagName (HTML behaviour). 3515 3516 2009-06-02 Eric Seidel <eric (a] webkit.org> 3517 3518 Reviewed by Maciej Stachowiak. 3519 3520 Add a compareBoundaryPoints which takes RangeBoundaryPoints 3521 https://bugs.webkit.org/show_bug.cgi?id=25500 3522 3523 I noticed the need for this function when removing compareBoundaryPoints(Position, Position) 3524 This patch is almost entirely minus lines. 3525 3526 No functional changes, thus no tests. 3527 3528 * dom/Range.cpp: 3529 (WebCore::Range::setStart): 3530 (WebCore::Range::setEnd): 3531 (WebCore::Range::compareBoundaryPoints): 3532 (WebCore::Range::boundaryPointsValid): 3533 * dom/Range.h: 3534 3535 2009-06-02 Eric Seidel <eric (a] webkit.org> 3536 3537 Reviewed by Maciej Stachowiak. 3538 3539 Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056 3540 https://bugs.webkit.org/show_bug.cgi?id=25500 3541 3542 Darin indicated the Range should deal only with primitive DOM node/offset 3543 pairs, and that Position (which is a more robust editing construct) should have 3544 its own comparison functions and that Range.h should not mention Position at all. 3545 3546 Turns out that Position already has a comparePositions() function (which knows 3547 how to additionally handled positions in shadow trees). So I've just changed 3548 all callers of compareBoundaryPoints(Position, Position) to use the existing 3549 comparePositions() function. I've also added a comparePositions which takes 3550 VisiblePositions for convenience. 3551 3552 * dom/Range.cpp: 3553 * dom/Range.h: 3554 * editing/ApplyStyleCommand.cpp: 3555 (WebCore::ApplyStyleCommand::updateStartEnd): 3556 (WebCore::ApplyStyleCommand::applyBlockStyle): 3557 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 3558 (WebCore::ApplyStyleCommand::applyInlineStyle): 3559 (WebCore::ApplyStyleCommand::applyInlineStyleToRange): 3560 (WebCore::ApplyStyleCommand::removeInlineStyle): 3561 (WebCore::ApplyStyleCommand::nodeFullySelected): 3562 (WebCore::ApplyStyleCommand::nodeFullyUnselected): 3563 * editing/CompositeEditCommand.cpp: 3564 (WebCore::CompositeEditCommand::deleteInsignificantText): 3565 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): 3566 (WebCore::CompositeEditCommand::moveParagraphs): 3567 * editing/DeleteSelectionCommand.cpp: 3568 (WebCore::DeleteSelectionCommand::initializeStartEnd): 3569 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 3570 (WebCore::DeleteSelectionCommand::mergeParagraphs): 3571 * editing/SelectionController.cpp: 3572 (WebCore::SelectionController::nodeWillBeRemoved): 3573 * editing/VisibleSelection.cpp: 3574 (WebCore::VisibleSelection::toNormalizedRange): 3575 * editing/htmlediting.cpp: 3576 (WebCore::comparePositions): 3577 * editing/htmlediting.h: 3578 * page/EventHandler.cpp: 3579 (WebCore::EventHandler::handleMousePressEventSingleClick): 3580 3581 2009-06-02 Albert J. Wong <ajwong (a] chromium.org> 3582 3583 Reviewed by Dimitri Glazkov. 3584 3585 https://bugs.webkit.org/show_bug.cgi?id=26122 3586 Upstream v8_utility.h functions into V8Utilities.h. This patch has 3587 some transitional code to make upstreaming easier. This code will 3588 be deleted in a few days. 3589 3590 * bindings/v8/ScriptFunctionCall.cpp: 3591 (WebCore::ScriptFunctionCall::construct): NewInstance -> newInstance. 3592 * bindings/v8/V8Utilities.h: 3593 (WebCore::AllowAllocation::AllowAllocation): Function added. 3594 (WebCore::AllowAllocation::~AllowAllocation): Function added. 3595 (WebCore::SafeAllocation::NewInstance): Function added. 3596 * bindings/v8/WorkerContextExecutionProxy.cpp: 3597 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 3598 NewInstance -> newInstance. 3599 (WebCore::WorkerContextExecutionProxy::toV8): NewInstance -> 3600 newInstance. 3601 3602 2009-06-02 Dan Bernstein <mitz (a] apple.com> 3603 3604 Reviewed by John Sullivan. 3605 3606 - fix <rdar://problem/6940747> Search fields focus ring is outset 3607 3608 * rendering/RenderThemeWin.cpp: 3609 (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused 3610 search field outline offset to -2. 3611 3612 2009-06-02 Sam Weinig <sam (a] webkit.org> 3613 3614 Reviewed by Alexey Proskuryakov. 3615 3616 Add list of unimplemented event handlers to DOMWindow. 3617 3618 * page/DOMWindow.idl: 3619 3620 2009-06-02 Alexey Proskuryakov <ap (a] webkit.org> 3621 3622 Reviewed by Sam Weinig. 3623 3624 https://bugs.webkit.org/show_bug.cgi?id=26133 3625 Adapt and import py-dom-xpath tests 3626 3627 Tests: fast/xpath/py-dom-xpath/abbreviations.html 3628 fast/xpath/py-dom-xpath/axes.html 3629 fast/xpath/py-dom-xpath/data.html 3630 fast/xpath/py-dom-xpath/expressions.html 3631 fast/xpath/py-dom-xpath/functions.html 3632 fast/xpath/py-dom-xpath/nodetests.html 3633 fast/xpath/py-dom-xpath/paths.html 3634 fast/xpath/py-dom-xpath/predicates.html 3635 3636 Fix bugs found with this test suite: 3637 - name and local-name were incorrect for processing instructions (XPath expanded-name 3638 doesn't match DOM exactly); 3639 - name, local-name and namespace functions should crash on attribute nodes; 3640 - attemps to make node sets from other types were not detected as errors. 3641 3642 No performance impact. 3643 3644 * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation. 3645 An error won't stop evaluation, but an exception will be raised afterwards. We could also 3646 detect conversion errors at compile time, but not if we're going to support XPath variables 3647 (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own 3648 XSLT one day). 3649 3650 * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type 3651 conversion exception occurred during evaluation, and raise an excpetion if it did. 3652 3653 * xml/XPathFunctions.cpp: 3654 (WebCore::XPath::expandedNameLocalPart): 3655 (WebCore::XPath::expandedName): 3656 XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name, 3657 which doesn't match anything available via DOM exactly. Calculate the expanded name properly. 3658 (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an 3659 attribute node, because it released what was possibly the only reference to attribute node 3660 before using it. Changed the function to avoid such situation. 3661 (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart() 3662 to work properly with processing instruction nodes. 3663 (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()). 3664 (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set 3665 (by using toNodeSet unconditionally, which will raise an error, and return an empty set). 3666 3667 * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression 3668 evaluation result is not a node-set. 3669 3670 * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually 3671 always a node-set (this is not so for FilterExpr production in the spec, but is for us, 3672 because we don't naively map BNF productions to classes). 3673 3674 * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side 3675 is not a node-set. 3676 3677 * xml/XPathStep.cpp: Removed an unnecesary include. 3678 3679 * xml/XPathValue.cpp: 3680 (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails. 3681 (WebCore::XPath::Value::modifiableNodeSet): Ditto. 3682 (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production 3683 (in particular, those using exponential notation). 3684 3685 2009-06-01 Sam Weinig <sam (a] webkit.org> 3686 3687 Reviewed by Brady Eidson. 3688 3689 Part of https://bugs.webkit.org/show_bug.cgi?id=26100 3690 Add missing event handler properties to the DOMWindow 3691 3692 Added oncontextmenu, oninput, and onmessage event handlers to 3693 the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled, 3694 and onsuspend event handlers were implemented but not added to 3695 DOMWindow.idl. 3696 3697 * page/DOMWindow.cpp: 3698 (WebCore::DOMWindow::oninput): 3699 (WebCore::DOMWindow::setOninput): 3700 (WebCore::DOMWindow::onmessage): 3701 (WebCore::DOMWindow::setOnmessage): 3702 (WebCore::DOMWindow::oncontextmenu): 3703 (WebCore::DOMWindow::setOncontextmenu): 3704 * page/DOMWindow.h: 3705 * page/DOMWindow.idl: 3706 3707 2009-06-01 Jeremy Orlow <jorlow (a] chromium.org> 3708 3709 Reviewed by Darin Adler. Landed by Adam Barth. 3710 3711 https://bugs.webkit.org/show_bug.cgi?id=26123 3712 3713 Remove a redundant checkEncodedString call when constructing a 3714 KURL object from a string. 3715 3716 * platform/KURL.cpp: 3717 (WebCore::KURL::KURL): 3718 3719 2009-06-01 Dimitri Glazkov <dglazkov (a] chromium.org> 3720 3721 Unreviewed, build fix. 3722 3723 Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340 3724 Bad Dimitri. 3725 3726 * platform/KeyboardCodes.h: Repositioned the guard to avoid nested 3727 WebCore namespace declarations. 3728 3729 2009-06-01 Dimitri Glazkov <dglazkov (a] chromium.org> 3730 3731 Unreviewed, build fix. 3732 3733 * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h 3734 with a stern FIXME. 3735 * platform/chromium/KeyboardCodes.h: Removed. 3736 3737 2009-06-01 Nikolas Zimmermann <zimmermann (a] kde.org> 3738 3739 Reviewed by Eric Seidel. 3740 3741 Fix assertion error in --filters enabled debug builds. 3742 Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects. 3743 3744 * svg/graphics/filters/SVGFilterBuilder.cpp: 3745 (WebCore::SVGFilterBuilder::SVGFilterBuilder): 3746 (WebCore::SVGFilterBuilder::add): 3747 (WebCore::SVGFilterBuilder::getEffectById): 3748 * svg/graphics/filters/SVGFilterBuilder.h: 3749 3750 2009-06-01 Nikolas Zimmermann <zimmermann (a] kde.org> 3751 3752 Reviewed by Eric Seidel. 3753 3754 Fix --filters enabled build on Mac. 3755 Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method. 3756 Kill several warnings, to make build pass. 3757 3758 * rendering/RenderPath.cpp: 3759 (WebCore::RenderPath::paint): 3760 * rendering/RenderSVGContainer.cpp: 3761 (WebCore::RenderSVGContainer::paint): 3762 * rendering/RenderSVGImage.cpp: 3763 (WebCore::RenderSVGImage::paint): 3764 * rendering/RenderSVGRoot.cpp: 3765 (WebCore::RenderSVGRoot::paint): 3766 * rendering/SVGRenderSupport.cpp: 3767 (WebCore::SVGRenderBase::finishRenderSVGContent): 3768 * rendering/SVGRenderSupport.h: 3769 * rendering/SVGRootInlineBox.cpp: 3770 (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback): 3771 * svg/SVGFEGaussianBlurElement.cpp: 3772 (WebCore::SVGFEGaussianBlurElement::setStdDeviation): 3773 * svg/graphics/filters/SVGFEFlood.cpp: 3774 (WebCore::FEFlood::FEFlood): 3775 3776 2009-06-01 Dimitri Glazkov <dglazkov (a] chromium.org> 3777 3778 Reviewed by Dave Hyatt. 3779 3780 Fix Chromium build by adding an #ifdef, restoring the code path to that 3781 before http://trac.webkit.org/changeset/44287. 3782 3783 * platform/mac/ScrollbarThemeMac.mm: 3784 (WebCore::ScrollbarThemeMac::paint): Added an #ifdef. 3785 3786 2009-06-01 Dirk Schulze <krit (a] webkit.org> 3787 3788 Reviewed by Nikolas Zimmermann. 3789 3790 Remove last pieces of the old SVG filter system. They are not 3791 usable with our current filter system. The new filter effects 3792 will replace the functionality step by step. 3793 3794 * GNUmakefile.am: 3795 * WebCore.pro: 3796 * WebCore.vcproj/WebCore.vcproj: 3797 * WebCore.xcodeproj/project.pbxproj: 3798 * svg/graphics/cairo: Removed. 3799 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Removed. 3800 * svg/graphics/cg: Removed. 3801 * svg/graphics/cg/SVGResourceFilterCg.cpp: Removed. 3802 * svg/graphics/cg/SVGResourceFilterCg.mm: Removed. 3803 * svg/graphics/filters/SVGFilterEffect.cpp: Removed. 3804 * svg/graphics/filters/SVGFilterEffect.h: Removed. 3805 * svg/graphics/filters/cg: Removed. 3806 * svg/graphics/filters/cg/SVGFEHelpersCg.h: Removed. 3807 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: Removed. 3808 * svg/graphics/filters/cg/SVGFilterEffectCg.mm: Removed. 3809 * svg/graphics/filters/cg/WKArithmeticFilter.cikernel: Removed. 3810 * svg/graphics/filters/cg/WKArithmeticFilter.h: Removed. 3811 * svg/graphics/filters/cg/WKArithmeticFilter.m: Removed. 3812 * svg/graphics/filters/cg/WKComponentMergeFilter.cikernel: Removed. 3813 * svg/graphics/filters/cg/WKComponentMergeFilter.h: Removed. 3814 * svg/graphics/filters/cg/WKComponentMergeFilter.m: Removed. 3815 * svg/graphics/filters/cg/WKDiffuseLightingFilter.cikernel: Removed. 3816 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: Removed. 3817 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: Removed. 3818 * svg/graphics/filters/cg/WKDiscreteTransferFilter.cikernel: Removed. 3819 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: Removed. 3820 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: Removed. 3821 * svg/graphics/filters/cg/WKDisplacementMapFilter.cikernel: Removed. 3822 * svg/graphics/filters/cg/WKDisplacementMapFilter.h: Removed. 3823 * svg/graphics/filters/cg/WKDisplacementMapFilter.m: Removed. 3824 * svg/graphics/filters/cg/WKDistantLightFilter.cikernel: Removed. 3825 * svg/graphics/filters/cg/WKDistantLightFilter.h: Removed. 3826 * svg/graphics/filters/cg/WKDistantLightFilter.m: Removed. 3827 * svg/graphics/filters/cg/WKGammaTransferFilter.cikernel: Removed. 3828 * svg/graphics/filters/cg/WKGammaTransferFilter.h: Removed. 3829 * svg/graphics/filters/cg/WKGammaTransferFilter.m: Removed. 3830 * svg/graphics/filters/cg/WKIdentityTransferFilter.h: Removed. 3831 * svg/graphics/filters/cg/WKIdentityTransferFilter.m: Removed. 3832 * svg/graphics/filters/cg/WKLinearTransferFilter.cikernel: Removed. 3833 * svg/graphics/filters/cg/WKLinearTransferFilter.h: Removed. 3834 * svg/graphics/filters/cg/WKLinearTransferFilter.m: Removed. 3835 * svg/graphics/filters/cg/WKNormalMapFilter.cikernel: Removed. 3836 * svg/graphics/filters/cg/WKNormalMapFilter.h: Removed. 3837 * svg/graphics/filters/cg/WKNormalMapFilter.m: Removed. 3838 * svg/graphics/filters/cg/WKPointLightFilter.cikernel: Removed. 3839 * svg/graphics/filters/cg/WKPointLightFilter.h: Removed. 3840 * svg/graphics/filters/cg/WKPointLightFilter.m: Removed. 3841 * svg/graphics/filters/cg/WKSpecularLightingFilter.cikernel: Removed. 3842 * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Removed. 3843 * svg/graphics/filters/cg/WKSpecularLightingFilter.m: Removed. 3844 * svg/graphics/filters/cg/WKSpotLightFilter.cikernel: Removed. 3845 * svg/graphics/filters/cg/WKSpotLightFilter.h: Removed. 3846 * svg/graphics/filters/cg/WKSpotLightFilter.m: Removed. 3847 * svg/graphics/filters/cg/WKTableTransferFilter.cikernel: Removed. 3848 * svg/graphics/filters/cg/WKTableTransferFilter.h: Removed. 3849 * svg/graphics/filters/cg/WKTableTransferFilter.m: Removed. 3850 * svg/graphics/mac: Removed. 3851 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: Removed. 3852 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: Removed. 3853 * svg/graphics/qt: Removed. 3854 * svg/graphics/qt/SVGResourceFilterQt.cpp: Removed. 3855 * svg/graphics/skia: Removed. 3856 * svg/graphics/skia/SVGResourceFilterSkia.cpp: Removed. 3857 3858 2009-06-01 Dmitry Titov <dimich (a] chromium.org> 3859 3860 Fix the previous checkin (ttp://trac.webkit.org/changeset/44327). 3861 This adds a comment suggested during review. 3862 3863 * platform/ThreadGlobalData.cpp: 3864 (WebCore::ThreadGlobalData::~ThreadGlobalData): Add comment clarifying the change. 3865 3866 2009-06-01 Dmitry Titov <dimich (a] chromium.org> 3867 3868 Reviewed by Darin Adler. 3869 3870 https://bugs.webkit.org/show_bug.cgi?id=25973 3871 Avoid calling CurrentThread() in thread-specific destructors in OSX Chromium. 3872 Pthreads invoke thread-specific destructors after WTF::detachThread() is called and ThreadIdentifier 3873 for the thread removed from the WTF thread map. Calling CurrentThread() in such destructor causes 3874 the ThreadIdentifier to be re-created and inserted into the map again. Since Pthreads on OSX reuse 3875 the pthread_t between threads, the next created thread will have the same pthread_t and cause an assert 3876 in establishIdentifierForPthreadHandle() since the id is already in the map. 3877 3878 The behavior is covered by existing test LayoutTests/fast/workers/worker-terminate.html, which currently fails 3879 on OSX Chromium and will stop failing after this change. 3880 3881 * platform/ThreadGlobalData.h: 3882 * platform/ThreadGlobalData.cpp: 3883 (WebCore::ThreadGlobalData::~ThreadGlobalData): 3884 Store the result of "isMainThread()" in a member variable during construction of thread-specific data 3885 to avoid calling IsMainThread() in destructor, since the latter calls CurrentThread() in OSX Chromium. 3886 3887 2009-06-01 David Levin <levin (a] chromium.org> 3888 3889 Reviewed by Darin Alder and Maciej Stachowiak. 3890 3891 Bug 26057: StringImpl should share buffers with UString. 3892 https://bugs.webkit.org/show_bug.cgi?id=26057 3893 3894 This change results in the following performance improvements: 3895 On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html 3896 the time went from 78ms to 40ms for append (other times remained constant). 3897 3898 On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/002.html, 3899 the time went from 3900ms to 2600ms. 3900 3901 For http://dromaeo.com/?dom, the time for DomModification improved by ~6%. 3902 Other tests in dom seemed to be faster across several runs but within the 3903 margin of error (except DOM Attributes which was slightly ~1.5% worse). 3904 3905 Existing tests cover this code and there is no new functionality 3906 that is exposed to test. 3907 3908 * platform/text/AtomicString.cpp: 3909 (WebCore::AtomicString::add): 3910 * platform/text/String.cpp: 3911 (WebCore::String::String): 3912 (WebCore::String::operator UString): 3913 * platform/text/StringImpl.cpp: 3914 (WebCore::StringImpl::StringImpl): 3915 (WebCore::StringImpl::~StringImpl): 3916 (WebCore::StringImpl::create): Consumes a shared buffer. 3917 (WebCore::StringImpl::ustring): Shares the StringImpl's buffer with the UString. 3918 (WebCore::StringImpl::sharedBuffer): Exposes the buffer that may be shared. 3919 * platform/text/StringImpl.h: 3920 (WebCore::StringImpl::hasTerminatingNullCharacter): 3921 (WebCore::StringImpl::inTable): 3922 (WebCore::StringImpl::setInTable): Converted the bools to be inside of PtrAndFlags 3923 to avoid growing StringImpl in size. 3924 3925 2009-06-01 Dimitri Glazkov <dglazkov (a] chromium.org> 3926 3927 Unreviewed, build fix. 3928 3929 V8 bindings follow-up to to DOMWindow-related cleanup: 3930 http://trac.webkit.org/changeset/44215 3931 3932 * bindings/v8/ScriptController.cpp: Removed disconnectFrame(), relocated 3933 its body to destructor. 3934 * bindings/v8/ScriptController.h: Removed disconnectFrame() decl. 3935 3936 2009-05-28 Pavel Feldman <pfeldman (a] chromium.org> 3937 3938 Reviewed by Timothy Hatcher. 3939 3940 - Add panel enabler to the resources panel. 3941 - Add session / always options into the panel enabler. 3942 - Make enabled status for three panels sticky (globally). 3943 - Persist enabled status using InspectorController::Settings 3944 - Make InspectorController produce no network-related overhead when 3945 resources panel is not enabled. 3946 3947 https://bugs.webkit.org/show_bug.cgi?id=26046 3948 3949 * inspector/InspectorController.cpp: 3950 (WebCore::InspectorController::InspectorController): 3951 (WebCore::InspectorController::setWindowVisible): 3952 (WebCore::InspectorController::populateScriptObjects): 3953 (WebCore::InspectorController::identifierForInitialRequest): 3954 (WebCore::InspectorController::willSendRequest): 3955 (WebCore::InspectorController::didReceiveResponse): 3956 (WebCore::InspectorController::didReceiveContentLength): 3957 (WebCore::InspectorController::didFinishLoading): 3958 (WebCore::InspectorController::didFailLoading): 3959 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 3960 (WebCore::InspectorController::scriptImported): 3961 (WebCore::InspectorController::enableResourceTracking): 3962 (WebCore::InspectorController::disableResourceTracking): 3963 (WebCore::InspectorController::startUserInitiatedProfiling): 3964 (WebCore::InspectorController::enableProfiler): 3965 (WebCore::InspectorController::disableProfiler): 3966 (WebCore::InspectorController::enableDebugger): 3967 (WebCore::InspectorController::disableDebugger): 3968 * inspector/InspectorController.h: 3969 (WebCore::InspectorController::Setting::Setting): 3970 (WebCore::InspectorController::resourceTrackingEnabled): 3971 * inspector/InspectorController.idl: 3972 * inspector/InspectorFrontend.cpp: 3973 (WebCore::InspectorFrontend::resourceTrackingWasEnabled): 3974 (WebCore::InspectorFrontend::resourceTrackingWasDisabled): 3975 * inspector/InspectorFrontend.h: 3976 * inspector/front-end/PanelEnablerView.js: 3977 (WebInspector.PanelEnablerView.enableOption): 3978 (WebInspector.PanelEnablerView): 3979 (WebInspector.PanelEnablerView.prototype._windowResized): 3980 (WebInspector.PanelEnablerView.prototype.alwaysWasChosen): 3981 * inspector/front-end/ProfilesPanel.js: 3982 (WebInspector.ProfilesPanel.prototype._enableProfiling): 3983 (WebInspector.ProfilesPanel.prototype._toggleProfiling): 3984 * inspector/front-end/ResourcesPanel.js: 3985 (WebInspector.ResourcesPanel): 3986 (WebInspector.ResourcesPanel.prototype.get statusBarItems): 3987 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled): 3988 (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled): 3989 (WebInspector.ResourcesPanel.prototype.reset): 3990 (WebInspector.ResourcesPanel.prototype._updateSidebarWidth): 3991 (WebInspector.ResourcesPanel.prototype._enableResourceTracking): 3992 (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): 3993 * inspector/front-end/ScriptsPanel.js: 3994 (WebInspector.ScriptsPanel.prototype._enableDebugging): 3995 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 3996 * inspector/front-end/inspector.css: 3997 * inspector/front-end/inspector.js: 3998 (WebInspector.resourceTrackingWasEnabled): 3999 (WebInspector.resourceTrackingWasDisabled): 4000 4001 2009-06-01 Drew Wilson <atwilson (a] google.com> 4002 4003 Reviewed by Darin Adler. Landed (and tweaked) by Adam Barth. 4004 4005 https://bugs.webkit.org/show_bug.cgi?id=25902 4006 4007 Added WorkerContext.close() 4008 4009 Test: fast/workers/worker-close.html 4010 4011 * workers/WorkerContext.cpp: 4012 (WebCore::WorkerContext::close): 4013 * workers/WorkerContext.h: 4014 * workers/WorkerContext.idl: 4015 * workers/WorkerMessagingProxy.cpp: 4016 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): 4017 4018 2009-06-01 Alexey Proskuryakov <ap (a] webkit.org> 4019 4020 Reviewed by Darin Adler. 4021 4022 https://bugs.webkit.org/show_bug.cgi?id=12471 4023 XPathResult not invalidated for documents retrieved via XMLHttpRequest 4024 4025 Test: fast/xpath/detached-subtree-invalidate-iterator.html and existing tests in dom/svg/level3/xpath. 4026 4027 Use DOM tree version instead of DOMSubtreeModified events to invalidate, which is more 4028 reliable and much faster. 4029 4030 * xml/XPathExpression.cpp: 4031 (WebCore::XPathExpression::evaluate): 4032 * xml/XPathResult.cpp: 4033 (WebCore::XPathResult::XPathResult): 4034 (WebCore::XPathResult::~XPathResult): 4035 (WebCore::XPathResult::invalidIteratorState): 4036 (WebCore::XPathResult::iterateNext): 4037 * xml/XPathResult.h: 4038 (WebCore::XPathResult::create): 4039 4040 2009-06-01 Brett Wilson <brettw (a] chromium.org> 4041 4042 Reviewed by Darin Adler. Landed by Adam Barth. 4043 4044 https://bugs.webkit.org/show_bug.cgi?id=25750 4045 4046 Test: fast/transforms/bounding-rect-zoom.html 4047 4048 Make getClientRects and getBoundingClientRect account for ther zoom 4049 factor. 4050 4051 * dom/Element.cpp: 4052 (WebCore::adjustFloatPointForAbsoluteZoom): 4053 (WebCore::adjustFloatQuadForAbsoluteZoom): 4054 (WebCore::adjustIntRectForAbsoluteZoom): 4055 (WebCore::Element::getClientRects): 4056 (WebCore::Element::getBoundingClientRect): 4057 4058 2009-06-01 Tony Chang <tony (a] chromium.org> 4059 4060 Reviewed by Dimitri Glazkov. Landed by Adam Barth. 4061 4062 https://bugs.webkit.org/show_bug.cgi?id=26026 4063 4064 Fix an infinite loop when using the keyboard in Chromium select 4065 popups. 4066 4067 Not testable since it involves sending a keyboard event to 4068 the popup, which is not possible (eventSender sends the key 4069 events through webview, we want to go through the webwidget). 4070 4071 * platform/chromium/PopupMenuChromium.cpp: 4072 4073 2009-06-01 Nate Chapin <japhet (a] google.com> 4074 4075 Reviewed by Dimitri Glazkov. Landed by Adam Barth. 4076 4077 If a url with an anchor is being loaded, ensure that the anchor remains locked in view until the page 4078 has finished loading compeltely or the user has manually scrolled. Refreshing an anchor url after 4079 scrolling to a new location on the page will still result in jumping to the new location. 4080 4081 https://bugs.webkit.org/show_bug.cgi?id=26034 4082 4083 * loader/FrameLoader.cpp: 4084 (WebCore::FrameLoader::gotoAnchor): Set anchor lock after navigating to anchor. 4085 (WebCore::FrameLoader::completed): Release anchor lock. 4086 * page/FrameView.cpp: 4087 (WebCore::FrameView::FrameView): Ensure anchor lock starts unset. 4088 (WebCore::FrameView::reset): Ensure anchor lock starts unset. 4089 (WebCore::FrameView::layout): If anchor lock is set, force a gotoAnchor() after layout. 4090 (WebCore::FrameView::scrollRectIntoViewRecursively): Release anchor lock if a programmatic scroll begins. 4091 (WebCore::FrameView::setWasScrolledByUser): Release anchor lock if user manually scrolls. 4092 (WebCore::FrameView::setScrollPosition): Release anchor lock if a programmatic scroll begins. 4093 * page/FrameView.h: 4094 (WebCore::FrameView::lockedToAnchor): Added. 4095 (WebCore::FrameView::setLockedToAnchor): Added. 4096 4097 2009-05-31 Dirk Schulze <krit (a] webkit.org> 4098 4099 Reviewed by Nikolas Zimmermann. 4100 4101 WebKit needs cross-platform filter system 4102 [https://bugs.webkit.org/show_bug.cgi?id=19991] 4103 4104 A short clean-up. FilterBuilder is SVG specific. Move it 4105 to svg/graphics/filters and rename it to SVGFilterBuilder. 4106 4107 * GNUmakefile.am: 4108 * WebCore.pro: 4109 * WebCore.xcodeproj/project.pbxproj: 4110 * svg/FilterBuilder.cpp: Removed. 4111 * svg/FilterBuilder.h: Removed. 4112 * svg/SVGFilterElement.cpp: 4113 * svg/SVGFilterPrimitiveStandardAttributes.h: 4114 * svg/graphics/SVGResourceFilter.cpp: 4115 (WebCore::SVGResourceFilter::SVGResourceFilter): 4116 * svg/graphics/SVGResourceFilter.h: 4117 (WebCore::SVGResourceFilter::builder): 4118 * svg/graphics/filters/SVGFilterBuilder.cpp: Added. 4119 (WebCore::SVGFilterBuilder::SVGFilterBuilder): 4120 (WebCore::SVGFilterBuilder::add): 4121 (WebCore::SVGFilterBuilder::getEffectById): 4122 (WebCore::SVGFilterBuilder::clearEffects): 4123 * svg/graphics/filters/SVGFilterBuilder.h: Added. 4124 (WebCore::SVGFilterBuilder::lastEffect): 4125 4126 2009-05-31 Alexey Proskuryakov <ap (a] webkit.org> 4127 4128 Reviewed by Darin Adler. 4129 4130 https://bugs.webkit.org/show_bug.cgi?id=13233 4131 Need to implement an optimizing XPath evaluator 4132 4133 Avoid sorting results of hierarchical paths that are naturally sorted. On a flat data structure 4134 with 128K nodes and a simple XPath expression, this changes evaluation time from 1.5 minutes 4135 to 33 ms. 4136 4137 * xml/XPathNodeSet.h: Keep track of whether subtrees rooted at nodes in set are disjoint, 4138 which is useful for optimization. 4139 (WebCore::XPath::NodeSet::NodeSet): Removed, it was identical to compiler generated one. 4140 (WebCore::XPath::NodeSet::operator=): Ditto. 4141 (WebCore::XPath::NodeSet::swap): Ditto. 4142 (WebCore::XPath::NodeSet::isSorted): Single element sets are always sorted, even if sort() 4143 was never called. 4144 (WebCore::XPath::NodeSet::markSubtreesDisjoint): Just like being sorted, the new flag is 4145 maintained by callers. 4146 (WebCore::XPath::NodeSet::subtreesAreDisjoint): A single element set only has one subtree. 4147 Currently, the only way for a set to gain this flag is to be produced from a single element 4148 set with a hierarchical location path. 4149 4150 * xml/XPathPath.cpp: (WebCore::XPath::LocationPath::evaluate): Use the new flag to avoid 4151 maintaining a set of unique nodes, and to avoid sorting the result. 4152 4153 2009-05-31 Alexey Proskuryakov <ap (a] webkit.org> 4154 4155 Reviewed by Darin Adler. 4156 4157 https://bugs.webkit.org/show_bug.cgi?id=13233 4158 Need to implement an optimizing XPath evaluator 4159 4160 This patch adds some infrastructure and simple optimizations. Namely, 4161 - we now avoid building a full NodeSet just to evaluate a predicate in some cases; 4162 - "/descendant-or-self::node()/child::" is optimized to iterate the tree once when possible; 4163 4164 * xml/XPathExpressionNode.cpp: 4165 (WebCore::XPath::Expression::Expression): 4166 * xml/XPathExpressionNode.h: 4167 (WebCore::XPath::Expression::addSubExpression): 4168 (WebCore::XPath::Expression::isContextNodeSensitive): 4169 (WebCore::XPath::Expression::isContextPositionSensitive): 4170 (WebCore::XPath::Expression::isContextSizeSensitive): 4171 (WebCore::XPath::Expression::setIsContextNodeSensitive): 4172 (WebCore::XPath::Expression::setIsContextPositionSensitive): 4173 (WebCore::XPath::Expression::setIsContextSizeSensitive): 4174 XPath expression now knows its result type, and whether evaluation depends on context. 4175 4176 * xml/XPathFunctions.cpp: 4177 (WebCore::XPath::FunLast::resultType): 4178 (WebCore::XPath::FunLast::FunLast): 4179 (WebCore::XPath::FunPosition::resultType): 4180 (WebCore::XPath::FunPosition::FunPosition): 4181 (WebCore::XPath::FunCount::resultType): 4182 (WebCore::XPath::FunId::resultType): 4183 (WebCore::XPath::FunLocalName::resultType): 4184 (WebCore::XPath::FunLocalName::FunLocalName): 4185 (WebCore::XPath::FunNamespaceURI::resultType): 4186 (WebCore::XPath::FunNamespaceURI::FunNamespaceURI): 4187 (WebCore::XPath::FunName::resultType): 4188 (WebCore::XPath::FunName::FunName): 4189 (WebCore::XPath::FunString::resultType): 4190 (WebCore::XPath::FunString::FunString): 4191 (WebCore::XPath::FunConcat::resultType): 4192 (WebCore::XPath::FunStartsWith::resultType): 4193 (WebCore::XPath::FunContains::resultType): 4194 (WebCore::XPath::FunSubstringBefore::resultType): 4195 (WebCore::XPath::FunSubstringAfter::resultType): 4196 (WebCore::XPath::FunSubstring::resultType): 4197 (WebCore::XPath::FunStringLength::resultType): 4198 (WebCore::XPath::FunStringLength::FunStringLength): 4199 (WebCore::XPath::FunNormalizeSpace::resultType): 4200 (WebCore::XPath::FunNormalizeSpace::FunNormalizeSpace): 4201 (WebCore::XPath::FunTranslate::resultType): 4202 (WebCore::XPath::FunBoolean::resultType): 4203 (WebCore::XPath::FunNot::resultType): 4204 (WebCore::XPath::FunTrue::resultType): 4205 (WebCore::XPath::FunFalse::resultType): 4206 (WebCore::XPath::FunLang::resultType): 4207 (WebCore::XPath::FunLang::FunLang): 4208 (WebCore::XPath::FunNumber::resultType): 4209 (WebCore::XPath::FunNumber::FunNumber): 4210 (WebCore::XPath::FunSum::resultType): 4211 (WebCore::XPath::FunFloor::resultType): 4212 (WebCore::XPath::FunCeiling::resultType): 4213 (WebCore::XPath::FunRound::resultType): 4214 (WebCore::XPath::Function::setArguments): 4215 Set optimization details for the expression. Normally, a function does not introduce context 4216 node set dependency, but some use context node as default argument, or otherwise use the context. 4217 4218 * xml/XPathFunctions.h: Tweaked style. 4219 4220 * xml/XPathPath.cpp: 4221 (WebCore::XPath::Filter::Filter): A filter is as context node set sensitive as its expression is. 4222 (WebCore::XPath::LocationPath::LocationPath): A location path can only be context node sensitive, 4223 and only if the path relative. 4224 (WebCore::XPath::LocationPath::appendStep): Invoke compile-time Step optimizations. 4225 (WebCore::XPath::LocationPath::insertFirstStep): Ditto. 4226 (WebCore::XPath::Path::Path): A path is as context node set sensitive as its filter is. 4227 4228 * xml/XPathPath.h: 4229 (WebCore::XPath::Filter::resultType): Result type of a filter is the same as of its expression 4230 (useful filters return NodeSets, of course). 4231 (WebCore::XPath::LocationPath::setAbsolute): An absolute location path if context node set 4232 insensitive. 4233 (WebCore::XPath::LocationPath::resultType): A path's result is always a node set. 4234 (WebCore::XPath::Path::resultType): Ditto. 4235 4236 * xml/XPathPredicate.h: 4237 (WebCore::XPath::Number::resultType): Return a proper result type. 4238 (WebCore::XPath::StringExpression::resultType): Ditto. 4239 (WebCore::XPath::Negative::resultType): Ditto. 4240 (WebCore::XPath::NumericOp::resultType): Ditto. 4241 (WebCore::XPath::EqTestOp::resultType): Ditto. 4242 (WebCore::XPath::LogicalOp::resultType): Ditto. 4243 (WebCore::XPath::Union::resultType): Ditto. 4244 (WebCore::XPath::Predicate::isContextPositionSensitive): A predicate can be context position 4245 sensitive even if its expression is not, because e.g. [5] is a shortcut for [position()=5]. 4246 (WebCore::XPath::Predicate::isContextSizeSensitive): This matches expression result. 4247 4248 * xml/XPathStep.h: 4249 (WebCore::XPath::Step::NodeTest::Kind): Removed unused ElementNodeTest, which was previously 4250 borrowed from XPath 2.0 to express some optimizations. 4251 (WebCore::XPath::Step::NodeTest::mergedPredicates): To avoid building a huge node set and 4252 filtering it with predicates, we now try to apply predicates while enumerating an axis. 4253 (WebCore::XPath::Step::nodeTest): Expose m_nodeTest. 4254 4255 * xml/XPathStep.cpp: 4256 (WebCore::XPath::Step::~Step): The step owns NodeTest merged predicates, so it is still 4257 possible to copy NodeTests. 4258 (WebCore::XPath::Step::optimize): Merge predicates into NodeTest if possible. 4259 (WebCore::XPath::optimizeStepPair): Optimize some expressions containing "//". 4260 (WebCore::XPath::Step::predicatesAreContextListInsensitive): The above optimization is only 4261 possible if there are no context sensitive predicates for "//". 4262 (WebCore::XPath::Step::evaluate): Track context position for the first merged predicate. 4263 (WebCore::XPath::nodeMatchesBasicTest): Check whether the node matches node test, ignoring 4264 merged predicates. 4265 (WebCore::XPath::nodeMatches): Additionally check merged predicates, and update position. 4266 (WebCore::XPath::Step::nodesInAxis): Check merged predicates in optimized attribute code 4267 path. 4268 4269 * xml/XPathVariableReference.h: (WebCore::XPath::VariableReference::resultType): Variable 4270 references are not used with XPathEvaluator, so we'll only need them if we decide to 4271 reimplement XSLT. The type of variable reference is not known at compile time. 4272 4273 2009-05-31 Sam Weinig <sam (a] webkit.org> 4274 4275 Rubber-stamped by Dan Bernstein. 4276 4277 Remove unused JSEventTargetBase.h 4278 4279 * GNUmakefile.am: 4280 * WebCore.vcproj/WebCore.vcproj: 4281 * WebCore.xcodeproj/project.pbxproj: 4282 * bindings/js/JSEventTargetBase.h: Removed. 4283 4284 2009-05-31 Sam Weinig <sam (a] webkit.org> 4285 4286 Reviewed by Dan Bernstein. 4287 4288 Part of https://bugs.webkit.org/show_bug.cgi?id=26100 4289 Add missing event handler properties to the DOMWindow 4290 4291 Add missing oncanplay, oncanplaythrough, ondurationchange, onemptied, 4292 onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying, 4293 onratechange, onseeked, onseeking, ontimeupdate, onvolumechange, 4294 onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag, 4295 ondragend, ondragenter, ondragleave, ondragover, ondragstart and 4296 ondrop event handlers to the DOMWindow. 4297 4298 * page/DOMWindow.cpp: 4299 (WebCore::DOMWindow::ondrag): 4300 (WebCore::DOMWindow::setOndrag): 4301 (WebCore::DOMWindow::ondragend): 4302 (WebCore::DOMWindow::setOndragend): 4303 (WebCore::DOMWindow::ondragenter): 4304 (WebCore::DOMWindow::setOndragenter): 4305 (WebCore::DOMWindow::ondragleave): 4306 (WebCore::DOMWindow::setOndragleave): 4307 (WebCore::DOMWindow::ondragover): 4308 (WebCore::DOMWindow::setOndragover): 4309 (WebCore::DOMWindow::ondragstart): 4310 (WebCore::DOMWindow::setOndragstart): 4311 (WebCore::DOMWindow::ondrop): 4312 (WebCore::DOMWindow::setOndrop): 4313 (WebCore::DOMWindow::oncanplay): 4314 (WebCore::DOMWindow::setOncanplay): 4315 (WebCore::DOMWindow::oncanplaythrough): 4316 (WebCore::DOMWindow::setOncanplaythrough): 4317 (WebCore::DOMWindow::ondurationchange): 4318 (WebCore::DOMWindow::setOndurationchange): 4319 (WebCore::DOMWindow::onemptied): 4320 (WebCore::DOMWindow::setOnemptied): 4321 (WebCore::DOMWindow::onended): 4322 (WebCore::DOMWindow::setOnended): 4323 (WebCore::DOMWindow::onloadeddata): 4324 (WebCore::DOMWindow::setOnloadeddata): 4325 (WebCore::DOMWindow::onloadedmetadata): 4326 (WebCore::DOMWindow::setOnloadedmetadata): 4327 (WebCore::DOMWindow::onpause): 4328 (WebCore::DOMWindow::setOnpause): 4329 (WebCore::DOMWindow::onplay): 4330 (WebCore::DOMWindow::setOnplay): 4331 (WebCore::DOMWindow::onplaying): 4332 (WebCore::DOMWindow::setOnplaying): 4333 (WebCore::DOMWindow::onratechange): 4334 (WebCore::DOMWindow::setOnratechange): 4335 (WebCore::DOMWindow::onseeked): 4336 (WebCore::DOMWindow::setOnseeked): 4337 (WebCore::DOMWindow::onseeking): 4338 (WebCore::DOMWindow::setOnseeking): 4339 (WebCore::DOMWindow::ontimeupdate): 4340 (WebCore::DOMWindow::setOntimeupdate): 4341 (WebCore::DOMWindow::onvolumechange): 4342 (WebCore::DOMWindow::setOnvolumechange): 4343 (WebCore::DOMWindow::onwaiting): 4344 (WebCore::DOMWindow::setOnwaiting): 4345 (WebCore::DOMWindow::onloadstart): 4346 (WebCore::DOMWindow::setOnloadstart): 4347 (WebCore::DOMWindow::onprogress): 4348 (WebCore::DOMWindow::setOnprogress): 4349 (WebCore::DOMWindow::onstalled): 4350 (WebCore::DOMWindow::setOnstalled): 4351 (WebCore::DOMWindow::onsuspend): 4352 (WebCore::DOMWindow::setOnsuspend): 4353 * page/DOMWindow.h: 4354 * page/DOMWindow.idl: 4355 4356 2009-05-31 Sam Weinig <sam (a] webkit.org> 4357 4358 Reviewed by Anders Carlsson. 4359 4360 Part of https://bugs.webkit.org/show_bug.cgi?id=26100 4361 Add missing event handler properties to the DOMWindow 4362 4363 Add missing onstorage event handler to the DOMWindow. 4364 4365 * page/DOMWindow.cpp: 4366 (WebCore::DOMWindow::onstorage): 4367 (WebCore::DOMWindow::setOnstorage): 4368 * page/DOMWindow.h: 4369 * page/DOMWindow.idl: 4370 4371 2009-05-30 Sam Weinig <sam (a] webkit.org> 4372 4373 Reviewed by Mark Rowe. 4374 4375 Fix for https://bugs.webkit.org/show_bug.cgi?id=26110 4376 Update online/offline events to match the current spec. 4377 - Also adds window.ononline and window.onoffline event handler 4378 properties. 4379 4380 * page/DOMWindow.cpp: 4381 (WebCore::DOMWindow::onoffline): 4382 (WebCore::DOMWindow::setOnoffline): 4383 (WebCore::DOMWindow::ononline): 4384 (WebCore::DOMWindow::setOnonline): 4385 * page/DOMWindow.h: 4386 * page/DOMWindow.idl: 4387 * page/Page.cpp: 4388 (WebCore::networkStateChanged): 4389 4390 2009-05-31 Dirk Schulze <krit (a] webkit.org> 4391 4392 Reviewed by Nikolas Zimmermann. 4393 4394 WebKit needs cross-platform filter system 4395 [https://bugs.webkit.org/show_bug.cgi?id=19991] 4396 4397 Make use of the new filter system in WebCore for SVG. Deleted Mac bindings 4398 and replace it by a platform independent code. Calculation of subRegions 4399 is missing but needed for a first filter effect. 4400 4401 * GNUmakefile.am: 4402 * WebCore.pro: 4403 * WebCore.vcproj/WebCore.vcproj: 4404 * WebCore.xcodeproj/project.pbxproj: 4405 * platform/graphics/filters/Filter.h: 4406 (WebCore::Filter::~Filter): 4407 (WebCore::Filter::setSourceImage): 4408 * rendering/SVGRenderSupport.cpp: 4409 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 4410 (WebCore::SVGRenderBase::finishRenderSVGContent): 4411 * svg/FilterBuilder.h: 4412 (WebCore::FilterBuilder::lastEffect): 4413 * svg/SVGFEBlendElement.cpp: 4414 (WebCore::SVGFEBlendElement::SVGFEBlendElement): 4415 (WebCore::SVGFEBlendElement::build): 4416 * svg/SVGFEBlendElement.h: 4417 * svg/SVGFEColorMatrixElement.cpp: 4418 (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement): 4419 (WebCore::SVGFEColorMatrixElement::build): 4420 * svg/SVGFEColorMatrixElement.h: 4421 * svg/SVGFEComponentTransferElement.cpp: 4422 (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement): 4423 (WebCore::SVGFEComponentTransferElement::build): 4424 * svg/SVGFEComponentTransferElement.h: 4425 * svg/SVGFECompositeElement.cpp: 4426 (WebCore::SVGFECompositeElement::SVGFECompositeElement): 4427 (WebCore::SVGFECompositeElement::build): 4428 * svg/SVGFECompositeElement.h: 4429 * svg/SVGFEDiffuseLightingElement.cpp: 4430 (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement): 4431 (WebCore::SVGFEDiffuseLightingElement::build): 4432 * svg/SVGFEDiffuseLightingElement.h: 4433 * svg/SVGFEDisplacementMapElement.cpp: 4434 (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement): 4435 (WebCore::SVGFEDisplacementMapElement::build): 4436 * svg/SVGFEDisplacementMapElement.h: 4437 * svg/SVGFEFloodElement.cpp: 4438 (WebCore::SVGFEFloodElement::SVGFEFloodElement): 4439 (WebCore::SVGFEFloodElement::build): 4440 * svg/SVGFEFloodElement.h: 4441 * svg/SVGFEGaussianBlurElement.cpp: 4442 (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement): 4443 (WebCore::SVGFEGaussianBlurElement::build): 4444 * svg/SVGFEGaussianBlurElement.h: 4445 * svg/SVGFEImageElement.cpp: 4446 (WebCore::SVGFEImageElement::SVGFEImageElement): 4447 (WebCore::SVGFEImageElement::notifyFinished): 4448 (WebCore::SVGFEImageElement::build): 4449 * svg/SVGFEImageElement.h: 4450 * svg/SVGFEMergeElement.cpp: 4451 (WebCore::SVGFEMergeElement::SVGFEMergeElement): 4452 (WebCore::SVGFEMergeElement::build): 4453 * svg/SVGFEMergeElement.h: 4454 * svg/SVGFEOffsetElement.cpp: 4455 (WebCore::SVGFEOffsetElement::SVGFEOffsetElement): 4456 (WebCore::SVGFEOffsetElement::build): 4457 * svg/SVGFEOffsetElement.h: 4458 * svg/SVGFESpecularLightingElement.cpp: 4459 (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement): 4460 (WebCore::SVGFESpecularLightingElement::build): 4461 * svg/SVGFESpecularLightingElement.h: 4462 * svg/SVGFETileElement.cpp: 4463 (WebCore::SVGFETileElement::SVGFETileElement): 4464 (WebCore::SVGFETileElement::build): 4465 * svg/SVGFETileElement.h: 4466 * svg/SVGFETurbulenceElement.cpp: 4467 (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement): 4468 (WebCore::SVGFETurbulenceElement::build): 4469 * svg/SVGFETurbulenceElement.h: 4470 * svg/SVGFilterElement.cpp: 4471 (WebCore::SVGFilterElement::canvasResource): 4472 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 4473 (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes): 4474 * svg/SVGFilterPrimitiveStandardAttributes.h: 4475 (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement): 4476 * svg/graphics/SVGResourceFilter.cpp: 4477 (WebCore::SVGResourceFilter::SVGResourceFilter): 4478 (WebCore::SVGResourceFilter::addFilterEffect): 4479 (WebCore::SVGResourceFilter::filterBBoxForItemBBox): 4480 (WebCore::SVGResourceFilter::prepareFilter): 4481 (WebCore::SVGResourceFilter::applyFilter): 4482 (WebCore::SVGResourceFilter::externalRepresentation): 4483 * svg/graphics/SVGResourceFilter.h: 4484 (WebCore::SVGResourceFilter::filterBoundingBox): 4485 (WebCore::SVGResourceFilter::setFilterBoundingBox): 4486 (WebCore::SVGResourceFilter::itemBoundingBox): 4487 (WebCore::SVGResourceFilter::setItemBoundingBox): 4488 (WebCore::SVGResourceFilter::builder): 4489 4490 2009-05-31 Dirk Schulze <krit (a] webkit.org> 4491 4492 Reviewed by Nikolas Zimmermann. 4493 4494 WebKit needs cross-platform filter system 4495 [https://bugs.webkit.org/show_bug.cgi?id=19991] 4496 4497 Adding 'in1' attribute support for <feFlood>, as specified in SVG 1.1. 4498 This change helps creating test cases, once filters are activated. 4499 4500 * svg/SVGFEFloodElement.cpp: 4501 (WebCore::SVGFEFloodElement::SVGFEFloodElement): 4502 (WebCore::SVGFEFloodElement::parseMappedAttribute): 4503 (WebCore::SVGFEFloodElement::build): 4504 * svg/SVGFEFloodElement.h: 4505 * svg/SVGFEFloodElement.idl: 4506 * svg/graphics/filters/SVGFEFlood.cpp: 4507 (WebCore::FEFlood::FEFlood): 4508 (WebCore::FEFlood::create): 4509 * svg/graphics/filters/SVGFEFlood.h: 4510 4511 2009-05-31 Dirk Schulze <krit (a] webkit.org> 4512 4513 Reviewed by Nikolas Zimmermann. 4514 4515 WebKit needs cross-platform filter system 4516 [https://bugs.webkit.org/show_bug.cgi?id=19991] 4517 4518 Replace all occurrences of SVGResourceFilter by Filter. This is the last 4519 step for a SVG independent filter system. Every other part of WebCore can 4520 use the filter system by creating a new Filter object. 4521 4522 * GNUmakefile.am: 4523 * WebCore.pro: 4524 * WebCore.xcodeproj/project.pbxproj: 4525 * platform/graphics/filters/FEBlend.cpp: 4526 (WebCore::FEBlend::apply): 4527 * platform/graphics/filters/FEBlend.h: 4528 * platform/graphics/filters/FEColorMatrix.cpp: 4529 (WebCore::FEColorMatrix::apply): 4530 * platform/graphics/filters/FEColorMatrix.h: 4531 * platform/graphics/filters/FEComponentTransfer.cpp: 4532 (WebCore::FEComponentTransfer::apply): 4533 * platform/graphics/filters/FEComponentTransfer.h: 4534 * platform/graphics/filters/FEComposite.cpp: 4535 (WebCore::FEComposite::apply): 4536 * platform/graphics/filters/FEComposite.h: 4537 * platform/graphics/filters/Filter.h: Added. 4538 (WebCore::Filter::setSourceImage): 4539 (WebCore::Filter::sourceImage): 4540 * platform/graphics/filters/FilterEffect.h: 4541 * platform/graphics/filters/SourceAlpha.cpp: 4542 (WebCore::SourceAlpha::apply): 4543 * platform/graphics/filters/SourceAlpha.h: 4544 * platform/graphics/filters/SourceGraphic.cpp: 4545 (WebCore::SourceGraphic::apply): 4546 * platform/graphics/filters/SourceGraphic.h: 4547 * svg/Filter.cpp: Removed. 4548 * svg/Filter.h: Removed. 4549 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 4550 (WebCore::FEConvolveMatrix::apply): 4551 * svg/graphics/filters/SVGFEConvolveMatrix.h: 4552 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 4553 (WebCore::FEDiffuseLighting::apply): 4554 * svg/graphics/filters/SVGFEDiffuseLighting.h: 4555 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 4556 (WebCore::FEDisplacementMap::apply): 4557 * svg/graphics/filters/SVGFEDisplacementMap.h: 4558 * svg/graphics/filters/SVGFEFlood.cpp: 4559 (WebCore::FEFlood::apply): 4560 * svg/graphics/filters/SVGFEFlood.h: 4561 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 4562 (WebCore::FEGaussianBlur::apply): 4563 * svg/graphics/filters/SVGFEGaussianBlur.h: 4564 * svg/graphics/filters/SVGFEImage.cpp: 4565 (WebCore::FEImage::apply): 4566 * svg/graphics/filters/SVGFEImage.h: 4567 * svg/graphics/filters/SVGFEMerge.cpp: 4568 (WebCore::FEMerge::apply): 4569 * svg/graphics/filters/SVGFEMerge.h: 4570 * svg/graphics/filters/SVGFEMorphology.cpp: 4571 (WebCore::FEMorphology::apply): 4572 * svg/graphics/filters/SVGFEMorphology.h: 4573 * svg/graphics/filters/SVGFEOffset.cpp: 4574 (WebCore::FEOffset::apply): 4575 * svg/graphics/filters/SVGFEOffset.h: 4576 * svg/graphics/filters/SVGFESpecularLighting.cpp: 4577 (WebCore::FESpecularLighting::apply): 4578 * svg/graphics/filters/SVGFESpecularLighting.h: 4579 * svg/graphics/filters/SVGFETile.cpp: 4580 (WebCore::FETile::apply): 4581 * svg/graphics/filters/SVGFETile.h: 4582 * svg/graphics/filters/SVGFETurbulence.cpp: 4583 (WebCore::FETurbulence::apply): 4584 * svg/graphics/filters/SVGFETurbulence.h: 4585 * svg/graphics/filters/SVGFilter.cpp: Added. 4586 (WebCore::SVGFilter::SVGFilter): 4587 (WebCore::SVGFilter::calculateEffectSubRegion): 4588 (WebCore::SVGFilter::create): 4589 * svg/graphics/filters/SVGFilter.h: Added. 4590 4591 2009-05-30 Kevin Ollivier <kevino (a] theolliviers.com> 4592 4593 Build fix for platforms without plugins support. 4594 4595 * plugins/PluginViewNone.cpp: 4596 (WebCore::PluginView::userAgentStatic): 4597 (WebCore::PluginView::getValueStatic): 4598 4599 2009-05-30 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 4600 4601 Reviewed by Darin Adler. 4602 4603 Fixes: https://bugs.webkit.org/show_bug.cgi?id=25979 4604 4605 Fix regression, local WML files won't load anymore, as the mimetype isn't correctly detected. 4606 Bug filed at <rdar://problem/6917571> to cover this CFNetwork limitation. 4607 4608 * platform/network/mac/ResourceHandleMac.mm: 4609 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 4610 4611 2009-05-29 Sam Weinig <sam (a] webkit.org> 4612 4613 Reviewed by Anders Carlsson. 4614 4615 Fix for https://bugs.webkit.org/show_bug.cgi?id=26091 4616 Make storage events match the current spec. 4617 - Storage event listeners are added to the window. 4618 - Storage events are dispatched to the window. 4619 4620 Updated existing tests. 4621 4622 * dom/Document.cpp: 4623 (WebCore::Document::dispatchWindowEvent): 4624 * dom/Document.h: 4625 * dom/Node.cpp: 4626 * dom/Node.h: 4627 * html/HTMLBodyElement.cpp: 4628 (WebCore::HTMLBodyElement::parseMappedAttribute): 4629 * storage/LocalStorageArea.cpp: 4630 (WebCore::LocalStorageArea::dispatchStorageEvent): 4631 * storage/SessionStorageArea.cpp: 4632 (WebCore::SessionStorageArea::dispatchStorageEvent): 4633 4634 2009-05-30 Darin Adler <darin (a] apple.com> 4635 4636 Reviewed by Adele Peterson. 4637 4638 Bug 26097: REGRESSION (r44283): Tab key doesn't work when focus is on a <select> element 4639 4640 Test: fast/forms/focus-control-to-page.html 4641 4642 * dom/SelectElement.h: Made destructor protected. Tweaked a bit. 4643 4644 * html/HTMLSelectElement.cpp: Removed unneeded includes. 4645 (WebCore::HTMLSelectElement::remove): Removed unneeded range check of the 4646 result of optionToListIndex. 4647 (WebCore::HTMLSelectElement::parseMappedAttribute): Removed code to set the 4648 unused attribute, m_minwidth. 4649 (WebCore::HTMLSelectElement::defaultEventHandler): The actual bug fix. 4650 Call through to the base class defaultEventHandler if the event hasn't 4651 been handled yet. 4652 4653 * html/HTMLSelectElement.h: Removed unneeded includes. Made a lot more functions 4654 private. Removed unused minWidth function and m_minwidth data member. 4655 4656 2009-05-30 Fridrich Strba <fridrich.strba (a] bluewin.ch> 4657 4658 Reviewed by Holger Freyther. 4659 4660 The two KeyboardCodes.h files are basically identical and the 4661 qt one is properly #ifdef-ed for different win32 systems. Share 4662 them between Qt and Gtk implementations. 4663 4664 * GNUmakefile.am: 4665 * platform/KeyboardCodes.h: Copied from WebCore/platform/qt/KeyboardCodes.h. 4666 * platform/gtk/KeyboardCodes.h: Removed. 4667 * platform/qt/KeyboardCodes.h: Removed. 4668 4669 2009-05-30 Jeremy Orlow <jorlow (a] chromium.org> 4670 4671 Reviewed by Sam Weinig. 4672 4673 LocalStorage and SessionStorage's implicit setters do not correctly 4674 handle null. The custom JS bindings should convert to strings 4675 unconditionally and not try to handle null specially. 4676 https://bugs.webkit.org/show_bug.cgi?id=25970 4677 4678 Tests: storage/domstorage/localstorage/string-conversion.html 4679 storage/domstorage/sessionstorage/string-conversion.html 4680 4681 * bindings/js/JSStorageCustom.cpp: 4682 (WebCore::JSStorage::customPut): 4683 4684 2009-05-30 Dan Bernstein <mitz (a] apple.com> 4685 4686 Reviewed by Darin Adler. 4687 4688 - fix <rdar://problem/6935192> REGRESSION (Safari 3-TOT): Scroll 4689 bars in key window draw as inactive if the WebView is not active 4690 4691 Test: platform/mac/scrollbars/key-window-not-first-responder.html 4692 4693 * platform/mac/ScrollbarThemeMac.mm: 4694 (WebCore::ScrollbarThemeMac::paint): Use the window's key state instead 4695 of the WebView's first responder state to switch between active and 4696 inactive state. 4697 4698 2009-05-30 Dan Bernstein <mitz (a] apple.com> 4699 4700 Reviewed by Simon Fraser. 4701 4702 - fix https://bugs.webkit.org/show_bug.cgi?id=18445 4703 <rdar://problem/5931174> Assertion failure in CSSGradientValue::image 4704 with -webkit-gradient as body's background 4705 4706 Test: fast/backgrounds/body-generated-image-propagated-to-root.html 4707 4708 * rendering/RenderBoxModelObject.cpp: 4709 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Check if this 4710 is the root element painting a background layer propagated from the 4711 body, and if it is, use the body's renderer as the client to 4712 StyleImage::image(). 4713 4714 2009-05-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 4715 4716 Unreviewed build fix for AXObjectCache. 4717 4718 For !HAVE(ACCESSIBILITY) postNotification was defined twice. Move 4719 that into the #ifdef. 4720 4721 * accessibility/AXObjectCache.cpp: 4722 4723 2009-05-29 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 4724 4725 Reviewed by George Staikos. 4726 4727 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26072 4728 4729 Add support for the last missing WML element: <select>. This patch adds WMLSelectElement, providing 4730 the same functionality HTMLSelectElement has. The WML specific features will follow soon. 4731 4732 Add simple testcase covering <select> element rendering: fast/wml/select.wml 4733 4734 * GNUmakefile.am: 4735 * WebCore.pro: 4736 * WebCore.vcproj/WebCore.vcproj: 4737 * WebCore.xcodeproj/project.pbxproj: 4738 * dom/OptionElement.cpp: 4739 (WebCore::OptionElement::optionIndex): 4740 (WebCore::isOptionElement): 4741 * dom/OptionElement.h: 4742 * dom/OptionGroupElement.cpp: 4743 (WebCore::isOptionGroupElement): 4744 * dom/OptionGroupElement.h: 4745 * dom/SelectElement.cpp: 4746 (WebCore::SelectElement::accessKeySetSelectedIndex): 4747 (WebCore::toSelectElement): 4748 * dom/SelectElement.h: 4749 * html/HTMLOptionElement.cpp: 4750 (WebCore::HTMLOptionElement::index): 4751 * html/HTMLSelectElement.cpp: 4752 (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): 4753 * rendering/RenderListBox.cpp: 4754 (WebCore::RenderListBox::paintItemForeground): 4755 * rendering/RenderMenuList.cpp: 4756 (WebCore::RenderMenuList::itemIsEnabled): 4757 (WebCore::RenderMenuList::itemIsLabel): 4758 * wml/WMLFormControlElement.cpp: 4759 (WebCore::WMLFormControlElement::attach): 4760 (WebCore::WMLFormControlElement::recalcStyle): 4761 * wml/WMLFormControlElement.h: 4762 * wml/WMLInputElement.cpp: 4763 (WebCore::WMLInputElement::attach): 4764 * wml/WMLOptGroupElement.cpp: 4765 (WebCore::WMLOptGroupElement::insertBefore): 4766 (WebCore::WMLOptGroupElement::replaceChild): 4767 (WebCore::WMLOptGroupElement::removeChild): 4768 (WebCore::WMLOptGroupElement::appendChild): 4769 (WebCore::WMLOptGroupElement::removeChildren): 4770 (WebCore::ownerSelectElement): 4771 (WebCore::WMLOptGroupElement::accessKeyAction): 4772 (WebCore::WMLOptGroupElement::childrenChanged): 4773 (WebCore::WMLOptGroupElement::parseMappedAttribute): 4774 (WebCore::WMLOptGroupElement::attach): 4775 (WebCore::WMLOptGroupElement::detach): 4776 (WebCore::WMLOptGroupElement::recalcSelectOptions): 4777 * wml/WMLOptionElement.cpp: 4778 (WebCore::ownerSelectElement): 4779 (WebCore::WMLOptionElement::accessKeyAction): 4780 (WebCore::WMLOptionElement::childrenChanged): 4781 (WebCore::WMLOptionElement::parseMappedAttribute): 4782 (WebCore::WMLOptionElement::attach): 4783 (WebCore::WMLOptionElement::detach): 4784 (WebCore::WMLOptionElement::insertedIntoDocument): 4785 * wml/WMLSelectElement.cpp: Added. 4786 (WebCore::WMLSelectElement::WMLSelectElement): 4787 (WebCore::WMLSelectElement::~WMLSelectElement): 4788 (WebCore::WMLSelectElement::formControlType): 4789 (WebCore::WMLSelectElement::isKeyboardFocusable): 4790 (WebCore::WMLSelectElement::isMouseFocusable): 4791 (WebCore::WMLSelectElement::selectAll): 4792 (WebCore::WMLSelectElement::recalcStyle): 4793 (WebCore::WMLSelectElement::dispatchFocusEvent): 4794 (WebCore::WMLSelectElement::dispatchBlurEvent): 4795 (WebCore::WMLSelectElement::selectedIndex): 4796 (WebCore::WMLSelectElement::setSelectedIndex): 4797 (WebCore::WMLSelectElement::saveFormControlState): 4798 (WebCore::WMLSelectElement::restoreFormControlState): 4799 (WebCore::WMLSelectElement::childrenChanged): 4800 (WebCore::WMLSelectElement::parseMappedAttribute): 4801 (WebCore::WMLSelectElement::createRenderer): 4802 (WebCore::WMLSelectElement::appendFormData): 4803 (WebCore::WMLSelectElement::optionToListIndex): 4804 (WebCore::WMLSelectElement::listToOptionIndex): 4805 (WebCore::WMLSelectElement::reset): 4806 (WebCore::WMLSelectElement::defaultEventHandler): 4807 (WebCore::WMLSelectElement::accessKeyAction): 4808 (WebCore::WMLSelectElement::setActiveSelectionAnchorIndex): 4809 (WebCore::WMLSelectElement::setActiveSelectionEndIndex): 4810 (WebCore::WMLSelectElement::updateListBoxSelection): 4811 (WebCore::WMLSelectElement::listBoxOnChange): 4812 (WebCore::WMLSelectElement::menuListOnChange): 4813 (WebCore::WMLSelectElement::activeSelectionStartListIndex): 4814 (WebCore::WMLSelectElement::activeSelectionEndListIndex): 4815 (WebCore::WMLSelectElement::accessKeySetSelectedIndex): 4816 (WebCore::WMLSelectElement::setRecalcListItems): 4817 (WebCore::WMLSelectElement::scrollToSelection): 4818 (WebCore::WMLSelectElement::insertedIntoTree): 4819 * wml/WMLSelectElement.h: Added. 4820 (WebCore::WMLSelectElement::canSelectAll): 4821 (WebCore::WMLSelectElement::canStartSelection): 4822 (WebCore::WMLSelectElement::size): 4823 (WebCore::WMLSelectElement::multiple): 4824 (WebCore::WMLSelectElement::listItems): 4825 * wml/WMLTagNames.in: 4826 4827 2009-05-29 David Levin <levin (a] chromium.org> 4828 4829 Reviewed by NOBODY (build fix for windows). 4830 4831 http://trac.webkit.org/changeset/44279 left in a "Vector<WCHAR> localeNameBuf" 4832 that it was trying to replace. Resulting in this variable being defined twice (and 4833 the second time incorrectly). 4834 4835 * platform/win/Language.cpp: 4836 (WebCore::localeInfo): 4837 4838 2009-05-29 Takeshi Yoshino <tyoshino (a] google.com> 4839 4840 Reviewed by Darin Alder. 4841 4842 https://bugs.webkit.org/show_bug.cgi?id=26018 4843 4844 Fix behavior of the Element View of the Web Inspector for double 4845 clicking the element outline tree. 4846 4847 Double clicking the element outline tree should 4848 1) on attribute: enter attribute editing mode 4849 2) on text: enter text editing mode 4850 3) otherwise: change root node to the parent element of double clicked 4851 element. 4852 4853 Now, 3) is broken. For example, clicking <html> clears the element 4854 outline view. 4855 4856 rootDOMNode should be updated to this.representedObject.parentNode, not 4857 this.parent.representedObject which is parent inside the element 4858 outline tree itself. 4859 4860 * inspector/front-end/ElementsTreeOutline.js: 4861 (WebInspector.ElementsTreeElement.prototype.ondblclick): 4862 4863 2009-05-29 David Moore <davemoore (a] google.com> 4864 4865 Reviewed by Darin Alder. 4866 4867 https://bugs.webkit.org/show_bug.cgi?id=26001 4868 Change many of the uses of String::adopt() to String::createUninitialized(). 4869 This allows those strings to use an inlined buffer for their characters. 4870 4871 * dom/StyleElement.cpp: 4872 Loop over nodes to precompute length of string and then 4873 write the characters into the allocated inline buffer 4874 (WebCore::StyleElement::process): 4875 * dom/Text.cpp: 4876 Loop over nodes to precompute length of string and then 4877 write the characters into the allocated inline buffer 4878 (WebCore::Text::wholeText): 4879 (WebCore::Text::rendererIsNeeded): 4880 (WebCore::Text::createRenderer): 4881 (WebCore::Text::createWithLengthLimit): 4882 (WebCore::Text::formatForDebugger): 4883 * platform/text/String.cpp: 4884 (WebCore::String::append): 4885 (WebCore::String::insert): 4886 (WebCore::String::truncate): 4887 (WebCore::String::remove): 4888 * platform/text/StringBuilder.cpp: 4889 (WebCore::StringBuilder::toString): 4890 * platform/text/StringImpl.cpp: 4891 (WebCore::StringImpl::lower): 4892 (WebCore::StringImpl::upper): 4893 (WebCore::StringImpl::secure): 4894 (WebCore::StringImpl::foldCase): 4895 (WebCore::StringImpl::replace): 4896 * platform/text/TextCodecLatin1.cpp: 4897 (WebCore::TextCodecLatin1::decode): 4898 * platform/text/TextCodecUserDefined.cpp: 4899 (WebCore::TextCodecUserDefined::decode): 4900 * platform/win/Language.cpp: 4901 (WebCore::localeInfo): 4902 4903 2009-05-29 Takeshi Yoshino <tyoshino (a] google.com> 4904 4905 Reviewed by Darin Alder. 4906 4907 Bug 25911: Apply href in base elements to anchors shown on the source viewer 4908 https://bugs.webkit.org/show_bug.cgi?id=25911 4909 4910 In rendering HTML sources, parse base elements to apply the base URI to 4911 anchors shown on the source viewer. 4912 4913 This issue was originally reported to the Chromium issue tracker. 4914 http://code.google.com/p/chromium/issues/detail?id=2418 4915 4916 Test: fast/frames/viewsource-link-on-href-value.html 4917 4918 * html/HTMLViewSourceDocument.cpp: 4919 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 4920 4921 2009-05-29 Rob Buis <rwlbuis (a] gmail.com> 4922 4923 Reviewed by David Hyatt. 4924 4925 https://bugs.webkit.org/show_bug.cgi?id=22429 4926 document.styleSheets collection ignores media=presentation 4927 4928 Ensure that stylesheets though <link> show up in document.styleSheets regardless of media attribute. 4929 4930 Test: fast/css/sheet-collection-link.html 4931 4932 * html/HTMLLinkElement.cpp: 4933 (WebCore::HTMLLinkElement::process): 4934 4935 2009-05-29 Jian Li <jianli (a] chromium.org> 4936 4937 Reviewed by Dimitri Glazkov. 4938 4939 https://bugs.webkit.org/show_bug.cgi?id=26069 4940 Fix a crash in custom V8 bindings code for XMLHttpRequest. 4941 4942 Test: fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html 4943 4944 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 4945 (WebCore::CALLBACK_FUNC_DECL): 4946 4947 2009-05-29 David Levin <levin (a] chromium.org> 4948 4949 Reviewed by Darin Adler. 4950 4951 Bug 26074: SQLTransaction::executeSQL does an unnecessary call to String::copy. 4952 https://bugs.webkit.org/show_bug.cgi?id=26074 4953 4954 The constructor for SQLStatement already does a copy for this string. 4955 4956 * storage/SQLTransaction.cpp: 4957 (WebCore::SQLTransaction::executeSQL): 4958 4959 2009-05-29 Darin Adler <darin (a] apple.com> 4960 4961 Fix build; the new Cairo code compiled on Windows only. 4962 4963 * platform/graphics/gtk/FontPlatformData.h: Added syntheticBold 4964 and syntheticOblique functions as in the Windows version to make it 4965 easier to use this cross-platform. Later we can make data members 4966 private as in the Windows version. 4967 * platform/graphics/mac/FontPlatformData.h: Ditto. 4968 4969 2009-05-29 Alexander Macdonald <alexmac (a] adobe.com> 4970 4971 Reviewed by Darin Adler. 4972 4973 Added support for synthetic bold/oblique font rendering 4974 on platforms that use cairo. 4975 4976 * platform/graphics/SimpleFontData.h: 4977 * platform/graphics/cairo/FontCairo.cpp: 4978 (WebCore::Font::drawGlyphs): 4979 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 4980 (WebCore::SimpleFontData::platformInit): 4981 * platform/graphics/gtk/SimpleFontDataPango.cpp: 4982 (WebCore::SimpleFontData::platformInit): 4983 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 4984 (WebCore::SimpleFontData::platformInit): 4985 4986 2009-05-29 Chris Fleizach <cfleizach (a] apple.com> 4987 4988 Reviewed by Beth Dakin. 4989 4990 Bug 26024: AX: possible to fail assertion because AXPostNotification calls accessibilityIsIgnored 4991 https://bugs.webkit.org/show_bug.cgi?id=26024 4992 4993 AX notifications are posted after a one shot timer so that notifications are not performed mid-layout. 4994 Consolidated postNotification and postNotificationToElement into one method. 4995 4996 * accessibility/AXObjectCache.cpp: 4997 (WebCore::AXObjectCache::AXObjectCache): 4998 (WebCore::AXObjectCache::notificationPostTimerFired): 4999 (WebCore::AXObjectCache::postNotification): 5000 (WebCore::AXObjectCache::selectedChildrenChanged): 5001 * accessibility/AXObjectCache.h: 5002 (WebCore::AXObjectCache::postNotification): 5003 (WebCore::AXObjectCache::postPlatformNotification): 5004 * accessibility/AccessibilityRenderObject.cpp: 5005 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): 5006 * accessibility/chromium/AXObjectCacheChromium.cpp: 5007 (WebCore::AXObjectCache::postPlatformNotification): 5008 * accessibility/gtk/AXObjectCacheAtk.cpp: 5009 (WebCore::AXObjectCache::postPlatformNotification): 5010 * accessibility/mac/AXObjectCacheMac.mm: 5011 (WebCore::AXObjectCache::postPlatformNotification): 5012 * accessibility/win/AXObjectCacheWin.cpp: 5013 (WebCore::AXObjectCache::postPlatformNotification): 5014 * dom/Document.cpp: 5015 (WebCore::Document::implicitClose): 5016 * editing/Editor.cpp: 5017 (WebCore::Editor::respondToChangedContents): 5018 * editing/mac/SelectionControllerMac.mm: 5019 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 5020 * page/FrameView.cpp: 5021 (WebCore::FrameView::layout): 5022 * rendering/RenderTextControl.cpp: 5023 (WebCore::RenderTextControl::setInnerTextValue): 5024 5025 2009-05-29 Brent Fulgham <bfulgham (a] webkit.org> 5026 5027 Reviewed by Adam Roben. 5028 5029 Build fix for Windows Cairo target. 5030 https://bugs.webkit.org/show_bug.cgi?id=25972 5031 5032 Compiler mistakenly selects SMILTime min/max instead of STL version, 5033 resulting in a build error. This change makes the meaning of the 5034 min/max explicit and avoids the problem. 5035 5036 * html/TimeRanges.h: 5037 (WebCore::TimeRanges::Range::unionWithOverlappingOrContiguousRange): 5038 5039 2009-05-29 Gustavo Noronha Silva <gns (a] gnome.org> 5040 5041 Reviewed by Jan Alonzo. 5042 5043 Make SoupMessage a member of ResourceRequest, instead of creating 5044 it in startHttp. Implement updating of ResourceRequest from 5045 SoupMessage, and vice versa. 5046 5047 * GNUmakefile.am: 5048 * platform/network/soup/ResourceHandleSoup.cpp: 5049 (WebCore::ResourceHandle::~ResourceHandle): 5050 (WebCore::gotHeadersCallback): 5051 (WebCore::ResourceHandle::startHttp): 5052 * platform/network/soup/ResourceRequest.h: 5053 (WebCore::ResourceRequest::ResourceRequest): 5054 (WebCore::ResourceRequest::~ResourceRequest): 5055 * platform/network/soup/ResourceRequestSoup.cpp: Added. 5056 (WTF::SoupURI): 5057 (WebCore::ResourceRequest::soupMessage): 5058 (WebCore::ResourceRequest::ResourceRequest): 5059 (WebCore::ResourceRequest::doUpdateResourceRequest): 5060 (WebCore::ResourceRequest::doUpdatePlatformRequest): 5061 5062 2009-05-28 Dmitry Titov <dimich (a] chromium.org> 5063 5064 Reviewed by Dimitri Glazkov. 5065 5066 https://bugs.webkit.org/show_bug.cgi?id=26068 5067 V8: Remove the remaining b8::Locker usage in worker code. 5068 This completes the fix for https://bugs.webkit.org/show_bug.cgi?id=25944, 5069 since the patches for enabling timers and that bug have "crossed in the queue". 5070 Existing LayoutTests/fast/workers/worker-timeout.html covers this fix (will start work in Chromium). 5071 5072 * bindings/v8/ScheduledAction.cpp: 5073 (WebCore::ScheduledAction::execute): 5074 5075 2009-05-28 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 5076 5077 Reviewed by Xan Lopez. 5078 5079 Simplify the Accept-Encoding header we are sending out, for it 5080 seems some servers do not enjoy parsing the full, explicit 5081 version. 5082 5083 * platform/network/soup/ResourceHandleSoup.cpp: 5084 (WebCore::ResourceHandle::startHttp): 5085 5086 2009-05-28 Dirk Schulze <krit (a] webkit.org> 5087 5088 Reviewed by Nikolas Zimmermann. 5089 5090 Added a new build flag --filters. This replaces the old --svg-filters and enables 5091 other parts of WebKit to use some basic filters of platform/graphics/filters if needed. 5092 This patch also fixes a bug in dom/DOMImplementation.cpp where we used SVG_FILTER. This flag 5093 doesn't exist and was replaced by FILTERS as well as all SVG_FILTERS occurrences. 5094 Filters are not working yet. This patch is just a preperation. Filters are deactivated by 5095 default. 5096 5097 * Configurations/FeatureDefines.xcconfig: 5098 * DerivedSources.make: 5099 * GNUmakefile.am: 5100 * WebCore.pro: 5101 * bindings/objc/DOM.mm: 5102 (WebCore::createElementClassMap): 5103 * dom/DOMImplementation.cpp: 5104 (WebCore::isSVG10Feature): 5105 (WebCore::isSVG11Feature): 5106 * page/DOMWindow.idl: 5107 * platform/graphics/filters/FEBlend.cpp: 5108 * platform/graphics/filters/FEBlend.h: 5109 * platform/graphics/filters/FEColorMatrix.cpp: 5110 * platform/graphics/filters/FEColorMatrix.h: 5111 * platform/graphics/filters/FEComponentTransfer.cpp: 5112 * platform/graphics/filters/FEComponentTransfer.h: 5113 * platform/graphics/filters/FEComposite.cpp: 5114 * platform/graphics/filters/FEComposite.h: 5115 * platform/graphics/filters/FilterEffect.cpp: 5116 * platform/graphics/filters/FilterEffect.h: 5117 * platform/graphics/filters/SourceAlpha.cpp: 5118 * platform/graphics/filters/SourceAlpha.h: 5119 * platform/graphics/filters/SourceGraphic.cpp: 5120 * platform/graphics/filters/SourceGraphic.h: 5121 * rendering/RenderSVGContainer.cpp: 5122 (WebCore::RenderSVGContainer::selfWillPaint): 5123 * rendering/RenderSVGModelObject.cpp: 5124 * rendering/RenderSVGRoot.cpp: 5125 (WebCore::RenderSVGRoot::selfWillPaint): 5126 * rendering/SVGRenderSupport.cpp: 5127 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 5128 (WebCore::SVGRenderBase::finishRenderSVGContent): 5129 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 5130 * svg/Filter.cpp: 5131 * svg/Filter.h: 5132 * svg/FilterBuilder.cpp: 5133 * svg/FilterBuilder.h: 5134 * svg/SVGComponentTransferFunctionElement.cpp: 5135 * svg/SVGComponentTransferFunctionElement.h: 5136 * svg/SVGComponentTransferFunctionElement.idl: 5137 * svg/SVGFEBlendElement.cpp: 5138 * svg/SVGFEBlendElement.h: 5139 * svg/SVGFEBlendElement.idl: 5140 * svg/SVGFEColorMatrixElement.cpp: 5141 * svg/SVGFEColorMatrixElement.h: 5142 * svg/SVGFEColorMatrixElement.idl: 5143 * svg/SVGFEComponentTransferElement.cpp: 5144 * svg/SVGFEComponentTransferElement.h: 5145 * svg/SVGFEComponentTransferElement.idl: 5146 * svg/SVGFECompositeElement.cpp: 5147 * svg/SVGFECompositeElement.h: 5148 * svg/SVGFECompositeElement.idl: 5149 * svg/SVGFEDiffuseLightingElement.cpp: 5150 * svg/SVGFEDiffuseLightingElement.h: 5151 * svg/SVGFEDiffuseLightingElement.idl: 5152 * svg/SVGFEDisplacementMapElement.cpp: 5153 * svg/SVGFEDisplacementMapElement.h: 5154 * svg/SVGFEDisplacementMapElement.idl: 5155 * svg/SVGFEDistantLightElement.cpp: 5156 * svg/SVGFEDistantLightElement.h: 5157 * svg/SVGFEDistantLightElement.idl: 5158 * svg/SVGFEFloodElement.cpp: 5159 * svg/SVGFEFloodElement.h: 5160 * svg/SVGFEFloodElement.idl: 5161 * svg/SVGFEFuncAElement.cpp: 5162 * svg/SVGFEFuncAElement.h: 5163 * svg/SVGFEFuncAElement.idl: 5164 * svg/SVGFEFuncBElement.cpp: 5165 * svg/SVGFEFuncBElement.h: 5166 * svg/SVGFEFuncBElement.idl: 5167 * svg/SVGFEFuncGElement.cpp: 5168 * svg/SVGFEFuncGElement.h: 5169 * svg/SVGFEFuncGElement.idl: 5170 * svg/SVGFEFuncRElement.cpp: 5171 * svg/SVGFEFuncRElement.h: 5172 * svg/SVGFEFuncRElement.idl: 5173 * svg/SVGFEGaussianBlurElement.cpp: 5174 * svg/SVGFEGaussianBlurElement.h: 5175 * svg/SVGFEGaussianBlurElement.idl: 5176 * svg/SVGFEImageElement.cpp: 5177 * svg/SVGFEImageElement.h: 5178 * svg/SVGFEImageElement.idl: 5179 * svg/SVGFELightElement.cpp: 5180 * svg/SVGFELightElement.h: 5181 * svg/SVGFEMergeElement.cpp: 5182 * svg/SVGFEMergeElement.h: 5183 * svg/SVGFEMergeElement.idl: 5184 * svg/SVGFEMergeNodeElement.cpp: 5185 * svg/SVGFEMergeNodeElement.h: 5186 * svg/SVGFEMergeNodeElement.idl: 5187 * svg/SVGFEOffsetElement.cpp: 5188 * svg/SVGFEOffsetElement.h: 5189 * svg/SVGFEOffsetElement.idl: 5190 * svg/SVGFEPointLightElement.cpp: 5191 * svg/SVGFEPointLightElement.h: 5192 * svg/SVGFEPointLightElement.idl: 5193 * svg/SVGFESpecularLightingElement.cpp: 5194 * svg/SVGFESpecularLightingElement.h: 5195 * svg/SVGFESpecularLightingElement.idl: 5196 * svg/SVGFESpotLightElement.cpp: 5197 * svg/SVGFESpotLightElement.h: 5198 * svg/SVGFESpotLightElement.idl: 5199 * svg/SVGFETileElement.cpp: 5200 * svg/SVGFETileElement.h: 5201 * svg/SVGFETileElement.idl: 5202 * svg/SVGFETurbulenceElement.cpp: 5203 * svg/SVGFETurbulenceElement.h: 5204 * svg/SVGFETurbulenceElement.idl: 5205 * svg/SVGFilterElement.cpp: 5206 * svg/SVGFilterElement.h: 5207 * svg/SVGFilterElement.idl: 5208 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 5209 * svg/SVGFilterPrimitiveStandardAttributes.h: 5210 * svg/graphics/SVGResourceFilter.cpp: 5211 * svg/graphics/SVGResourceFilter.h: 5212 * svg/graphics/cairo/SVGResourceFilterCairo.cpp: 5213 * svg/graphics/cg/SVGResourceFilterCg.cpp: 5214 * svg/graphics/cg/SVGResourceFilterCg.mm: 5215 * svg/graphics/filters/SVGDistantLightSource.h: 5216 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 5217 * svg/graphics/filters/SVGFEConvolveMatrix.h: 5218 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 5219 * svg/graphics/filters/SVGFEDiffuseLighting.h: 5220 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 5221 * svg/graphics/filters/SVGFEDisplacementMap.h: 5222 * svg/graphics/filters/SVGFEFlood.cpp: 5223 * svg/graphics/filters/SVGFEFlood.h: 5224 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 5225 * svg/graphics/filters/SVGFEGaussianBlur.h: 5226 * svg/graphics/filters/SVGFEImage.cpp: 5227 * svg/graphics/filters/SVGFEImage.h: 5228 * svg/graphics/filters/SVGFEMerge.cpp: 5229 * svg/graphics/filters/SVGFEMerge.h: 5230 * svg/graphics/filters/SVGFEMorphology.cpp: 5231 * svg/graphics/filters/SVGFEMorphology.h: 5232 * svg/graphics/filters/SVGFEOffset.cpp: 5233 * svg/graphics/filters/SVGFEOffset.h: 5234 * svg/graphics/filters/SVGFESpecularLighting.cpp: 5235 * svg/graphics/filters/SVGFESpecularLighting.h: 5236 * svg/graphics/filters/SVGFETile.cpp: 5237 * svg/graphics/filters/SVGFETile.h: 5238 * svg/graphics/filters/SVGFETurbulence.cpp: 5239 * svg/graphics/filters/SVGFETurbulence.h: 5240 * svg/graphics/filters/SVGFilterEffect.cpp: 5241 * svg/graphics/filters/SVGFilterEffect.h: 5242 * svg/graphics/filters/SVGLightSource.cpp: 5243 * svg/graphics/filters/SVGLightSource.h: 5244 * svg/graphics/filters/SVGPointLightSource.h: 5245 * svg/graphics/filters/SVGSpotLightSource.h: 5246 * svg/graphics/filters/cg/SVGFEHelpersCg.h: 5247 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: 5248 * svg/graphics/filters/cg/SVGFilterEffectCg.mm: 5249 * svg/graphics/filters/cg/WKArithmeticFilter.h: 5250 * svg/graphics/filters/cg/WKArithmeticFilter.m: 5251 * svg/graphics/filters/cg/WKComponentMergeFilter.h: 5252 * svg/graphics/filters/cg/WKComponentMergeFilter.m: 5253 * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: 5254 * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: 5255 * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: 5256 * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: 5257 * svg/graphics/filters/cg/WKDisplacementMapFilter.h: 5258 * svg/graphics/filters/cg/WKDisplacementMapFilter.m: 5259 * svg/graphics/filters/cg/WKDistantLightFilter.h: 5260 * svg/graphics/filters/cg/WKDistantLightFilter.m: 5261 * svg/graphics/filters/cg/WKGammaTransferFilter.h: 5262 * svg/graphics/filters/cg/WKGammaTransferFilter.m: 5263 * svg/graphics/filters/cg/WKIdentityTransferFilter.h: 5264 * svg/graphics/filters/cg/WKIdentityTransferFilter.m: 5265 * svg/graphics/filters/cg/WKLinearTransferFilter.h: 5266 * svg/graphics/filters/cg/WKLinearTransferFilter.m: 5267 * svg/graphics/filters/cg/WKNormalMapFilter.h: 5268 * svg/graphics/filters/cg/WKNormalMapFilter.m: 5269 * svg/graphics/filters/cg/WKPointLightFilter.h: 5270 * svg/graphics/filters/cg/WKPointLightFilter.m: 5271 * svg/graphics/filters/cg/WKSpecularLightingFilter.h: 5272 * svg/graphics/filters/cg/WKSpecularLightingFilter.m: 5273 * svg/graphics/filters/cg/WKSpotLightFilter.h: 5274 * svg/graphics/filters/cg/WKSpotLightFilter.m: 5275 * svg/graphics/filters/cg/WKTableTransferFilter.h: 5276 * svg/graphics/filters/cg/WKTableTransferFilter.m: 5277 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: 5278 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: 5279 * svg/graphics/qt/SVGResourceFilterQt.cpp: 5280 * svg/graphics/skia/SVGResourceFilterSkia.cpp: 5281 * svg/svgtags.in: 5282 5283 2009-05-28 Brett Wilson <brettw (a] chromium.org> 5284 5285 Unreviewed, build fix. 5286 5287 https://bugs.webkit.org/show_bug.cgi?id=26067 5288 5289 Add casts for scale function to make more explicit what is happening 5290 and fix a compiler warning. 5291 5292 * platform/graphics/IntSize.h: 5293 (WebCore::IntSize::scale): 5294 5295 2009-05-28 Sam Weinig <sam (a] webkit.org> 5296 5297 Reviewed by Darin Adler. 5298 5299 Remove the returnValueSlot concept from JSDOMWindowBase. Now that windows 5300 are not cleared on navigation it is no longer necessary. 5301 5302 * bindings/js/JSDOMWindowBase.cpp: 5303 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): 5304 (WebCore::JSDOMWindowBase::willRemoveFromWindowShell): 5305 * bindings/js/JSDOMWindowBase.h: 5306 * bindings/js/JSDOMWindowCustom.cpp: 5307 (WebCore::JSDOMWindow::showModalDialog): 5308 5309 2009-05-19 Xan Lopez <xlopez (a] igalia.com> 5310 5311 Reviewed by Jan Alonzo and Gustavo Noronha. 5312 5313 https://bugs.webkit.org/show_bug.cgi?id=25415 5314 [GTK][ATK] Please implement support for get_text_at_offset 5315 5316 Implement atk_text_get_text_{at,after,before}_offset. 5317 5318 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 5319 5320 2009-05-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 5321 5322 Rubber-stamped by Darin Adler. 5323 5324 Remove unnecessary destructor from InputElementData/OptionElementData. 5325 5326 * dom/InputElement.cpp: 5327 * dom/InputElement.h: 5328 * dom/OptionElement.cpp: 5329 * dom/OptionElement.h: 5330 5331 2009-05-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 5332 5333 Reviewed by Darin Adler. 5334 5335 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26062 5336 5337 Refactor code from all virtual methods in HTMLSelectElement (that are also needed for WMLSelectElement) 5338 in the recently introduced SelectElement abstract base class. Follow the same design sheme that InputElement uses. 5339 5340 A follow-up patch can now easily add WMLSelectElement. 5341 5342 * dom/OptionElement.h: 5343 * dom/SelectElement.cpp: 5344 (WebCore::SelectElement::selectAll): 5345 (WebCore::SelectElement::saveLastSelection): 5346 (WebCore::isOptionElement): 5347 (WebCore::isOptionGroupElement): 5348 (WebCore::SelectElement::nextSelectableListIndex): 5349 (WebCore::SelectElement::previousSelectableListIndex): 5350 (WebCore::SelectElement::setActiveSelectionAnchorIndex): 5351 (WebCore::SelectElement::setActiveSelectionEndIndex): 5352 (WebCore::SelectElement::updateListBoxSelection): 5353 (WebCore::SelectElement::listBoxOnChange): 5354 (WebCore::SelectElement::menuListOnChange): 5355 (WebCore::SelectElement::scrollToSelection): 5356 (WebCore::SelectElement::recalcStyle): 5357 (WebCore::SelectElement::setRecalcListItems): 5358 (WebCore::SelectElement::recalcListItems): 5359 (WebCore::SelectElement::selectedIndex): 5360 (WebCore::SelectElement::setSelectedIndex): 5361 (WebCore::SelectElement::optionToListIndex): 5362 (WebCore::SelectElement::listToOptionIndex): 5363 (WebCore::SelectElement::dispatchFocusEvent): 5364 (WebCore::SelectElement::dispatchBlurEvent): 5365 (WebCore::SelectElement::deselectItems): 5366 (WebCore::SelectElement::saveFormControlState): 5367 (WebCore::SelectElement::restoreFormControlState): 5368 (WebCore::SelectElement::parseMultipleAttribute): 5369 (WebCore::SelectElement::appendFormData): 5370 (WebCore::SelectElement::reset): 5371 (WebCore::SelectElement::menuListDefaultEventHandler): 5372 (WebCore::SelectElement::listBoxDefaultEventHandler): 5373 (WebCore::SelectElement::defaultEventHandler): 5374 (WebCore::SelectElement::lastSelectedListIndex): 5375 (WebCore::stripLeadingWhiteSpace): 5376 (WebCore::SelectElement::typeAheadFind): 5377 (WebCore::SelectElement::insertedIntoTree): 5378 (WebCore::SelectElementData::SelectElementData): 5379 (WebCore::SelectElementData::checkListItems): 5380 (WebCore::SelectElementData::listItems): 5381 * dom/SelectElement.h: 5382 (WebCore::SelectElementData::multiple): 5383 (WebCore::SelectElementData::setMultiple): 5384 (WebCore::SelectElementData::size): 5385 (WebCore::SelectElementData::setSize): 5386 (WebCore::SelectElementData::usesMenuList): 5387 (WebCore::SelectElementData::lastOnChangeIndex): 5388 (WebCore::SelectElementData::setLastOnChangeIndex): 5389 (WebCore::SelectElementData::lastOnChangeSelection): 5390 (WebCore::SelectElementData::activeSelectionState): 5391 (WebCore::SelectElementData::setActiveSelectionState): 5392 (WebCore::SelectElementData::activeSelectionAnchorIndex): 5393 (WebCore::SelectElementData::setActiveSelectionAnchorIndex): 5394 (WebCore::SelectElementData::activeSelectionEndIndex): 5395 (WebCore::SelectElementData::setActiveSelectionEndIndex): 5396 (WebCore::SelectElementData::cachedStateForActiveSelection): 5397 (WebCore::SelectElementData::shouldRecalcListItems): 5398 (WebCore::SelectElementData::setShouldRecalcListItems): 5399 (WebCore::SelectElementData::rawListItems): 5400 (WebCore::SelectElementData::repeatingChar): 5401 (WebCore::SelectElementData::setRepeatingChar): 5402 (WebCore::SelectElementData::lastCharTime): 5403 (WebCore::SelectElementData::setLastCharTime): 5404 (WebCore::SelectElementData::typedString): 5405 (WebCore::SelectElementData::setTypedString): 5406 * html/HTMLOptionElement.h: 5407 * html/HTMLSelectElement.cpp: 5408 (WebCore::HTMLSelectElement::HTMLSelectElement): 5409 (WebCore::HTMLSelectElement::recalcStyle): 5410 (WebCore::HTMLSelectElement::formControlType): 5411 (WebCore::HTMLSelectElement::selectedIndex): 5412 (WebCore::HTMLSelectElement::deselectItems): 5413 (WebCore::HTMLSelectElement::setSelectedIndex): 5414 (WebCore::HTMLSelectElement::activeSelectionStartListIndex): 5415 (WebCore::HTMLSelectElement::activeSelectionEndListIndex): 5416 (WebCore::HTMLSelectElement::saveFormControlState): 5417 (WebCore::HTMLSelectElement::restoreFormControlState): 5418 (WebCore::HTMLSelectElement::parseMappedAttribute): 5419 (WebCore::HTMLSelectElement::canSelectAll): 5420 (WebCore::HTMLSelectElement::selectAll): 5421 (WebCore::HTMLSelectElement::createRenderer): 5422 (WebCore::HTMLSelectElement::appendFormData): 5423 (WebCore::HTMLSelectElement::optionToListIndex): 5424 (WebCore::HTMLSelectElement::listToOptionIndex): 5425 (WebCore::HTMLSelectElement::recalcListItems): 5426 (WebCore::HTMLSelectElement::setRecalcListItems): 5427 (WebCore::HTMLSelectElement::reset): 5428 (WebCore::HTMLSelectElement::dispatchFocusEvent): 5429 (WebCore::HTMLSelectElement::dispatchBlurEvent): 5430 (WebCore::HTMLSelectElement::defaultEventHandler): 5431 (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): 5432 (WebCore::HTMLSelectElement::setActiveSelectionEndIndex): 5433 (WebCore::HTMLSelectElement::updateListBoxSelection): 5434 (WebCore::HTMLSelectElement::menuListOnChange): 5435 (WebCore::HTMLSelectElement::listBoxOnChange): 5436 (WebCore::HTMLSelectElement::saveLastSelection): 5437 (WebCore::HTMLSelectElement::setOption): 5438 (WebCore::HTMLSelectElement::scrollToSelection): 5439 (WebCore::HTMLSelectElement::insertedIntoTree): 5440 * html/HTMLSelectElement.h: 5441 (WebCore::HTMLSelectElement::size): 5442 (WebCore::HTMLSelectElement::multiple): 5443 (WebCore::HTMLSelectElement::listItems): 5444 * wml/WMLOptionElement.cpp: 5445 (WebCore::WMLOptionElement::text): 5446 * wml/WMLOptionElement.h: 5447 5448 5449 * dom/OptionElement.h: 5450 * dom/SelectElement.cpp: 5451 (WebCore::SelectElement::selectAll): 5452 (WebCore::SelectElement::saveLastSelection): 5453 (WebCore::isOptionElement): 5454 (WebCore::isOptionGroupElement): 5455 (WebCore::SelectElement::nextSelectableListIndex): 5456 (WebCore::SelectElement::previousSelectableListIndex): 5457 (WebCore::SelectElement::setActiveSelectionAnchorIndex): 5458 (WebCore::SelectElement::setActiveSelectionEndIndex): 5459 (WebCore::SelectElement::updateListBoxSelection): 5460 (WebCore::SelectElement::listBoxOnChange): 5461 (WebCore::SelectElement::menuListOnChange): 5462 (WebCore::SelectElement::scrollToSelection): 5463 (WebCore::SelectElement::recalcStyle): 5464 (WebCore::SelectElement::setRecalcListItems): 5465 (WebCore::SelectElement::recalcListItems): 5466 (WebCore::SelectElement::selectedIndex): 5467 (WebCore::SelectElement::setSelectedIndex): 5468 (WebCore::SelectElement::optionToListIndex): 5469 (WebCore::SelectElement::listToOptionIndex): 5470 (WebCore::SelectElement::dispatchFocusEvent): 5471 (WebCore::SelectElement::dispatchBlurEvent): 5472 (WebCore::SelectElement::deselectItems): 5473 (WebCore::SelectElement::saveFormControlState): 5474 (WebCore::SelectElement::restoreFormControlState): 5475 (WebCore::SelectElement::parseMultipleAttribute): 5476 (WebCore::SelectElement::appendFormData): 5477 (WebCore::SelectElement::reset): 5478 (WebCore::SelectElement::menuListDefaultEventHandler): 5479 (WebCore::SelectElement::listBoxDefaultEventHandler): 5480 (WebCore::SelectElement::defaultEventHandler): 5481 (WebCore::SelectElement::lastSelectedListIndex): 5482 (WebCore::stripLeadingWhiteSpace): 5483 (WebCore::SelectElement::typeAheadFind): 5484 (WebCore::SelectElement::insertedIntoTree): 5485 (WebCore::SelectElementData::SelectElementData): 5486 (WebCore::SelectElementData::~SelectElementData): 5487 (WebCore::SelectElementData::checkListItems): 5488 (WebCore::SelectElementData::listItems): 5489 * dom/SelectElement.h: 5490 (WebCore::SelectElementData::multiple): 5491 (WebCore::SelectElementData::setMultiple): 5492 (WebCore::SelectElementData::size): 5493 (WebCore::SelectElementData::setSize): 5494 (WebCore::SelectElementData::usesMenuList): 5495 (WebCore::SelectElementData::lastOnChangeIndex): 5496 (WebCore::SelectElementData::setLastOnChangeIndex): 5497 (WebCore::SelectElementData::lastOnChangeSelection): 5498 (WebCore::SelectElementData::activeSelectionState): 5499 (WebCore::SelectElementData::setActiveSelectionState): 5500 (WebCore::SelectElementData::activeSelectionAnchorIndex): 5501 (WebCore::SelectElementData::setActiveSelectionAnchorIndex): 5502 (WebCore::SelectElementData::activeSelectionEndIndex): 5503 (WebCore::SelectElementData::setActiveSelectionEndIndex): 5504 (WebCore::SelectElementData::cachedStateForActiveSelection): 5505 (WebCore::SelectElementData::shouldRecalcListItems): 5506 (WebCore::SelectElementData::setShouldRecalcListItems): 5507 (WebCore::SelectElementData::rawListItems): 5508 (WebCore::SelectElementData::repeatingChar): 5509 (WebCore::SelectElementData::setRepeatingChar): 5510 (WebCore::SelectElementData::lastCharTime): 5511 (WebCore::SelectElementData::setLastCharTime): 5512 (WebCore::SelectElementData::typedString): 5513 (WebCore::SelectElementData::setTypedString): 5514 * html/HTMLOptionElement.h: 5515 * html/HTMLSelectElement.cpp: 5516 (WebCore::HTMLSelectElement::HTMLSelectElement): 5517 (WebCore::HTMLSelectElement::recalcStyle): 5518 (WebCore::HTMLSelectElement::formControlType): 5519 (WebCore::HTMLSelectElement::selectedIndex): 5520 (WebCore::HTMLSelectElement::deselectItems): 5521 (WebCore::HTMLSelectElement::setSelectedIndex): 5522 (WebCore::HTMLSelectElement::activeSelectionStartListIndex): 5523 (WebCore::HTMLSelectElement::activeSelectionEndListIndex): 5524 (WebCore::HTMLSelectElement::saveFormControlState): 5525 (WebCore::HTMLSelectElement::restoreFormControlState): 5526 (WebCore::HTMLSelectElement::parseMappedAttribute): 5527 (WebCore::HTMLSelectElement::canSelectAll): 5528 (WebCore::HTMLSelectElement::selectAll): 5529 (WebCore::HTMLSelectElement::createRenderer): 5530 (WebCore::HTMLSelectElement::appendFormData): 5531 (WebCore::HTMLSelectElement::optionToListIndex): 5532 (WebCore::HTMLSelectElement::listToOptionIndex): 5533 (WebCore::HTMLSelectElement::recalcListItems): 5534 (WebCore::HTMLSelectElement::setRecalcListItems): 5535 (WebCore::HTMLSelectElement::reset): 5536 (WebCore::HTMLSelectElement::dispatchFocusEvent): 5537 (WebCore::HTMLSelectElement::dispatchBlurEvent): 5538 (WebCore::HTMLSelectElement::defaultEventHandler): 5539 (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): 5540 (WebCore::HTMLSelectElement::setActiveSelectionEndIndex): 5541 (WebCore::HTMLSelectElement::updateListBoxSelection): 5542 (WebCore::HTMLSelectElement::menuListOnChange): 5543 (WebCore::HTMLSelectElement::listBoxOnChange): 5544 (WebCore::HTMLSelectElement::saveLastSelection): 5545 (WebCore::HTMLSelectElement::setOption): 5546 (WebCore::HTMLSelectElement::scrollToSelection): 5547 (WebCore::HTMLSelectElement::insertedIntoTree): 5548 * html/HTMLSelectElement.h: 5549 (WebCore::HTMLSelectElement::size): 5550 (WebCore::HTMLSelectElement::multiple): 5551 (WebCore::HTMLSelectElement::listItems): 5552 * wml/WMLOptionElement.cpp: 5553 (WebCore::WMLOptionElement::text): 5554 * wml/WMLOptionElement.h: 5555 5556 2009-05-28 Adam Roben <aroben (a] apple.com> 5557 5558 Don't try to use the new combobox parts on Vista in Classic mode 5559 5560 Fixes: 5561 <rdar://problem/6929277> REGRESSION (r42289+r42350): Windows Classic 5562 theme: drop down lists in Preferences get a line/square 5563 <rdar://problem/6929298> REGRESSION (r42289): Windows Classic: drop 5564 down lists are black with a circle on many sites 5565 5566 Reviewed by Steve Falkenburg. 5567 5568 * rendering/RenderThemeWin.cpp: 5569 (WebCore::RenderThemeWin::paintMenuList): Only use the new combobox 5570 parts when we have a theme (i.e., when we're not in Classic mode). 5571 When we don't have a theme, fall back to the pre-r42289 code. 5572 5573 2009-05-27 Peter Kasting <pkasting (a] google.com> 5574 5575 Reviewed by Simon Fraser. 5576 5577 https://bugs.webkit.org/show_bug.cgi?id=25659 5578 Avoid calling frameCount() unnecessarily (which could lead to extra 5579 GIF decoding). 5580 5581 * platform/graphics/BitmapImage.cpp: 5582 (WebCore::BitmapImage::destroyDecodedDataIfNecessary): 5583 5584 2009-05-28 Simon Fraser <simon.fraser (a] apple.com> 5585 5586 Reviewed by Oliver Hunt. 5587 5588 https://bugs.webkit.org/show_bug.cgi?id=8736 5589 5590 Tests: fast/borders/border-radius-constraints.html 5591 fast/borders/border-radius-split-inline.html 5592 5593 When the sum of the corner radii on a side exceed the length of the side, 5594 reduce the radii according to CSS 3 rules. 5595 5596 Add RenderStyle::getBorderRadiiForRect() to fetch corner radii, applying 5597 the constraints. Use that for painting borders, box-shadow, clipping replaced 5598 elements 5599 5600 * platform/graphics/IntSize.h: 5601 (WebCore::IntSize::scale): 5602 Add a scale method that scales by a float (using C rounding rules, like IntRect::scale()). 5603 5604 * platform/graphics/Path.cpp: 5605 Make the QUARTER const static. 5606 5607 * rendering/RenderBox.cpp: 5608 (WebCore::RenderBox::pushContentsClip): 5609 Use getBorderRadiiForRect to fetch border radii. 5610 5611 * rendering/RenderBoxModelObject.cpp: 5612 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 5613 Use getBorderRadiiForRect to fetch border radii. 5614 5615 (WebCore::RenderBoxModelObject::paintBorder): 5616 Use getBorderRadiiForRect to fetch border radii, and fix a bug when drawing 5617 borders for split inlines, which used to apply the radii for each segment, 5618 and no longer does. 5619 5620 (WebCore::RenderBoxModelObject::paintBoxShadow): 5621 Use getBorderRadiiForRect to fetch border radii. 5622 5623 * rendering/RenderReplaced.cpp: 5624 (WebCore::RenderReplaced::paint): 5625 Use getBorderRadiiForRect to fetch border radii for clipping. 5626 5627 * rendering/RenderWidget.cpp: 5628 (WebCore::RenderWidget::paint): 5629 Use getBorderRadiiForRect to fetch border radii for clipping. 5630 5631 * rendering/style/RenderStyle.h: 5632 * rendering/style/RenderStyle.cpp: 5633 (WebCore::RenderStyle::getBorderRadiiForRect): 5634 New bottleneck method to fetch corner radiil given a rect, applying the constraint 5635 rules. 5636 5637 2009-05-28 Alexey Proskuryakov <ap (a] webkit.org> 5638 5639 Reviewed by Darin Adler. 5640 5641 https://bugs.webkit.org/show_bug.cgi?id=26005 5642 Optimization for XPath //* does not preserve context size 5643 5644 Test: fast/xpath/position.html 5645 5646 Fixed the bug by removing the incorrect optimization, and made enough micro-optimizations to 5647 get a performance progression on my tests. 5648 5649 * xml/XPathPath.h: Removed broken optimizeStepPair(). 5650 5651 * xml/XPathPath.cpp: 5652 (WebCore::XPath::LocationPath::evaluate): Style fix. 5653 (WebCore::XPath::LocationPath::appendStep): Don't call optimizeStepPair(). 5654 (WebCore::XPath::LocationPath::insertFirstStep): Ditto. 5655 (WebCore::XPath::Path::Path): Style fix. 5656 5657 * xml/XPathStep.cpp: 5658 (WebCore::XPath::primaryNodeType): Turned this member function into a static inline helper. 5659 (WebCore::XPath::nodeMatches): Ditto. Don't check for namespace axis, which is unsupported 5660 (and might never be). 5661 (WebCore::XPath::Step::nodesInAxis): Updated for the new nodeMatches() signature. 5662 5663 * xml/XPathStep.h: 5664 (WebCore::XPath::Step::NodeTest::data): 5665 (WebCore::XPath::Step::NodeTest::namespaceURI): 5666 Made these data members AtomicString to avoid repeated conversions. This is the biggest 5667 performance win here. 5668 5669 * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Reserve some capacity upfront. 5670 5671 2009-05-28 Stephen White <senorblanco (a] chromium.org> 5672 5673 Reviewed by Dimitri Glazkov. 5674 5675 When creating a linear or radial gradient with a single stop 5676 at offset 1.0, the Skia layer was allocating 3 stops, but only 5677 filling 2, leaving one uninitialized. Only 2 stops are necessary 5678 in this case, at offsets (0.0, 1.0). 5679 5680 http://bugs.webkit.org/show_bug.cgi?id=26063 5681 5682 Covered by: LayoutTests/svg/W3C-SVG-1.1/pservers-grad-16-b.svg 5683 LayoutTests/svg/custom/gradient-stop-corner-cases.svg 5684 LayoutTests/svg/custom/js-late-gradient-and-object-creation.svg 5685 5686 * platform/graphics/skia/GradientSkia.cpp: 5687 (WebCore::totalStopsNeeded): 5688 5689 2009-05-28 Yury Semikhatsky <yurys (a] chromium.org> 5690 5691 Reviewed by Timothy Hatcher. 5692 5693 https://bugs.webkit.org/show_bug.cgi?id=26041 5694 Allow adding resource source to WebInspector.SourceFrame asynchronously. 5695 5696 Provide common implementation for InspectorController::addResourceSourceToFrame and 5697 InspectorController::addSourceToFrame methods. 5698 5699 * bindings/js/JSInspectorControllerCustom.cpp: 5700 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 5701 * inspector/InspectorController.cpp: 5702 (WebCore::InspectorController::addResourceSourceToFrame): 5703 * inspector/InspectorController.h: 5704 * inspector/InspectorController.idl: 5705 * inspector/front-end/SourceFrame.js: 5706 (WebInspector.SourceFrame.prototype.revealLine): 5707 (WebInspector.SourceFrame.prototype.highlightLine): 5708 (WebInspector.SourceFrame.prototype._loaded): 5709 (WebInspector.SourceFrame.prototype._isContentLoaded): 5710 * inspector/front-end/SourceView.js: 5711 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): 5712 (WebInspector.SourceView.prototype._contentLoaded): 5713 5714 2009-05-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 5715 5716 Reviewed by Xan Lopez. 5717 5718 After r44177 we had a problem when increasing the size 5719 of the window the scrollbars stayed and were not hidden. 5720 This was due WebCore giving up on the Scrollbar as it became 5721 unnecessary but the GtkAdjustment remained unchanged. 5722 So from the point of view of the GtkScrolledWindow scrolling 5723 was still necessary and the GtkScrollbar kept being displayed. 5724 5725 Solve the issue by resetting the GtkAdjustment in the 5726 destructor of ScrollbarGtk. 5727 5728 * platform/gtk/ScrollbarGtk.cpp: 5729 (ScrollbarGtk::~ScrollbarGtk): 5730 5731 2009-05-28 Adam Barth <abarth (a] webkit.org> 5732 5733 Reviewed by Darin Adler. 5734 5735 Clean up window.open()'s use of lexical and dynamic scope. 5736 5737 (Added one unreviewed tweak: use dynamicFrame instead of lexicalFrame 5738 for DOMWindow::allowPopUp.) 5739 5740 Test: http/tests/security/frameNavigation/context-for-window-open.html 5741 5742 * bindings/js/JSDOMBinding.cpp: 5743 (WebCore::toDynamicFrame): 5744 (WebCore::processingUserGesture): 5745 (WebCore::completeURL): 5746 * bindings/js/JSDOMBinding.h: 5747 * bindings/js/JSDOMWindowCustom.cpp: 5748 (WebCore::createWindow): 5749 (WebCore::JSDOMWindow::open): 5750 (WebCore::JSDOMWindow::showModalDialog): 5751 * bindings/v8/custom/V8DOMWindowCustom.cpp: 5752 (WebCore::CALLBACK_FUNC_DECL): 5753 (WebCore::createWindow): 5754 5755 2009-05-27 Alexey Proskuryakov <ap (a] webkit.org> 5756 5757 Reviewed by Oliver Hunt. 5758 5759 https://bugs.webkit.org/show_bug.cgi?id=26056 5760 XPath string() function can be very slow 5761 5762 * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Use an intermediate Vector when appending. 5763 5764 2009-05-27 Dan Bernstein <mitz (a] apple.com> 5765 5766 Reviewed by Sam Weinig. 5767 5768 - fix <rdar://problem/6927761> <isindex> placeholder text is unstylable 5769 and initially not visible 5770 5771 Test: fast/forms/isindex-placeholder.html 5772 5773 * css/html4.css: Added a default style for <isindex> placeholder text. 5774 * html/HTMLInputElement.cpp: 5775 (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call 5776 the new protected function updatePlaceholderVisibility(). 5777 * html/HTMLInputElement.h: 5778 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Added this 5779 protected function to allow HTMLIsIndexElement::parseMappedAttribute() 5780 to invoke InputElement::updatePlaceholderVisibility(). 5781 * html/HTMLIsIndexElement.cpp: 5782 (WebCore::HTMLIsIndexElement::parseMappedAttribute): Call 5783 updatePlaceholderVisibility() when parsing the placeholder attribute. 5784 * rendering/RenderTextControlSingleLine.cpp: 5785 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): If there 5786 is no placeholder pseudo-element style, use the normal style. 5787 5788 2009-05-27 Sam Weinig <sam (a] webkit.org> 5789 5790 Reviewed by Maciej Stachowiak. 5791 5792 More cleanup of DOMWindow related functions. 5793 5794 * bindings/js/JSDOMWindowBase.cpp: 5795 (WebCore::JSDOMWindowBase::willRemoveFromWindowShell): Renamed from JSDOMWindowBase::clear() 5796 * bindings/js/JSDOMWindowBase.h: 5797 5798 * bindings/js/JSDOMWindowCustom.cpp: 5799 (WebCore::JSDOMWindow::showModalDialog): Update Comment. 5800 5801 * bindings/js/JSDOMWindowShell.cpp: 5802 * bindings/js/JSDOMWindowShell.h: 5803 Remove JSDOMWindowShell::clear(). It was unused. 5804 5805 * bindings/js/ScriptController.cpp: 5806 (WebCore::ScriptController::clearWindowShell): 5807 5808 2009-05-27 Sam Weinig <sam (a] webkit.org> 5809 5810 Reviewed by David Hyatt. 5811 5812 Miscellaneous cleanup of DOMWindow related functions. 5813 5814 * bindings/js/JSDOMGlobalObject.cpp: 5815 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): Fix poorly named variables. 5816 * bindings/js/JSDOMWindowBase.cpp: 5817 (WebCore::JSDOMWindowBase::supportsProfiling): Don't jump through hoops 5818 checking for null frames if the build does not support profiling. 5819 (WebCore::JSDOMWindowBase::clear): Use setCurrentEvent(0) instead of calling 5820 clearHelperObjectProperties(). It is clearer. 5821 * bindings/js/JSDOMWindowBase.h: 5822 Removed now unused clearHelperObjectProperties() function, empty disconnectFrame() 5823 function, and the empty destructor. 5824 * bindings/js/JSDOMWindowShell.cpp: 5825 * bindings/js/JSDOMWindowShell.h: 5826 Remove disconnectFrame() which only called JSDOMWindowBase::disconnectFrame(), which 5827 is a no-op. 5828 * page/Frame.cpp: 5829 (WebCore::Frame::~Frame): 5830 (WebCore::Frame::pageDestroyed): 5831 Remove calls to JSDOMWindowShell::disconnectFrame() which only called 5832 JSDOMWindowBase::disconnectFrame(), which is a no-op. 5833 5834 2009-05-27 Dimitri Glazkov <dglazkov (a] chromium.org> 5835 5836 Unreviewed, build fix. 5837 5838 https://bugs.webkit.org/show_bug.cgi?id=25974 5839 Remove extra qualifiers from the ScheduledAction decl. 5840 5841 * bindings/v8/ScheduledAction.h: Removed extraneous class qualifiers. 5842 5843 2009-05-27 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 5844 5845 Unreviewed make distcheck fix. One more missing file. 5846 5847 * GNUmakefile.am: 5848 5849 2009-05-27 Antonio Gomes <antonio.gomes (a] openbossa.org> 5850 5851 Reviewed by Simon Hausmann. 5852 5853 [Qt] Fixed trunk build on Linux after r44126. 5854 5855 * WebCore.pro: 5856 5857 2009-05-27 Eric Carlson <eric.carlson (a] apple.com> 5858 5859 Reviewed by Oliver Hunt. 5860 5861 <rdar://problem/6926046> REGRESSION (r43972): http://www.youtube.com/html5 crashes on open 5862 5863 * platform/graphics/MediaPlayer.cpp: 5864 (WebCore::MediaPlayer::load): Don't look for a media engine based on an empty MIME type. 5865 5866 2009-05-27 David Levin <levin (a] chromium.org> 5867 5868 Reviewed by Maciej Stachowiak. 5869 5870 Bug 26029: FrameLoader::canLoad should allow calls with just a security origin 5871 https://bugs.webkit.org/show_bug.cgi?id=26029 5872 5873 No functional changes, so no tests. 5874 5875 * loader/FrameLoader.cpp: 5876 (WebCore::FrameLoader::canLoad): 5877 * loader/FrameLoader.h: 5878 5879 2009-05-27 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 5880 5881 Unreviewed build fix. 5882 5883 Remove file that does not exist from the build. 5884 5885 * GNUmakefile.am: 5886 5887 2009-05-27 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 5888 5889 Reviewed by Darin Adler. 5890 5891 Remove two unneeded protected constructors, these classes have pure-virtual functions, and can't be constructed anyway. 5892 5893 * dom/InputElement.h: 5894 * dom/OptionGroupElement.h: 5895 5896 2009-05-27 Alexey Proskuryakov <ap (a] webkit.org> 5897 5898 Reviewed by Darin Adler. 5899 5900 https://bugs.webkit.org/show_bug.cgi?id=17725 5901 XPath should be case insensitive for HTML 5902 5903 Test: fast/xpath/node-name-case-sensitivity.html 5904 5905 * xml/XPathStep.cpp: (WebCore::XPath::Step::nodeMatches): Made node name check case insensitive 5906 for HTML elements in HTML documents. 5907 5908 2009-05-27 John Sullivan <sullivan (a] apple.com> 5909 5910 fixed <rdar://problem/6925482> repro crash in WebCore::DragController::dragExited dropping 5911 bookmarks (at least) over Top Sites (at least) 5912 5913 Reviewed by Kevin Decker 5914 5915 * page/DragController.cpp: 5916 (WebCore::DragController::dragExited): 5917 nil check m_documentUnderMouse and take the "local file" case if it's nil 5918 5919 2009-05-27 Fridrich Strba <fridrich.strba (a] bluewin.ch> 5920 5921 Reviewed by Gustavo Noronha. 5922 5923 When building on window, consider Windows specific files. 5924 5925 * GNUmakefile.am: 5926 5927 2009-05-27 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 5928 5929 Reviewed by George Staikos. 5930 5931 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26031 5932 5933 InputElementData is too heavy, save storing two pointers by passing them 5934 directly to the static helper functions (the only place which needs them). 5935 5936 * dom/InputElement.cpp: 5937 (WebCore::InputElement::dispatchFocusEvent): 5938 (WebCore::InputElement::dispatchBlurEvent): 5939 (WebCore::InputElement::updatePlaceholderVisibility): 5940 (WebCore::InputElement::updateFocusAppearance): 5941 (WebCore::InputElement::updateSelectionRange): 5942 (WebCore::InputElement::aboutToUnload): 5943 (WebCore::InputElement::setValueFromRenderer): 5944 (WebCore::InputElement::constrainValue): 5945 (WebCore::InputElement::handleBeforeTextInsertedEvent): 5946 (WebCore::InputElement::parseSizeAttribute): 5947 (WebCore::InputElement::parseMaxLengthAttribute): 5948 (WebCore::InputElement::updateValueIfNeeded): 5949 (WebCore::InputElement::notifyFormStateChanged): 5950 (WebCore::InputElementData::InputElementData): 5951 * dom/InputElement.h: 5952 * html/HTMLInputElement.cpp: 5953 (WebCore::HTMLInputElement::HTMLInputElement): 5954 (WebCore::HTMLInputElement::updateFocusAppearance): 5955 (WebCore::HTMLInputElement::aboutToUnload): 5956 (WebCore::HTMLInputElement::dispatchFocusEvent): 5957 (WebCore::HTMLInputElement::dispatchBlurEvent): 5958 (WebCore::HTMLInputElement::setInputType): 5959 (WebCore::HTMLInputElement::setSelectionRange): 5960 (WebCore::HTMLInputElement::parseMappedAttribute): 5961 (WebCore::HTMLInputElement::setValue): 5962 (WebCore::HTMLInputElement::setValueFromRenderer): 5963 (WebCore::HTMLInputElement::setFileListFromRenderer): 5964 (WebCore::HTMLInputElement::defaultEventHandler): 5965 (WebCore::HTMLInputElement::constrainValue): 5966 * wml/WMLInputElement.cpp: 5967 (WebCore::WMLInputElement::WMLInputElement): 5968 (WebCore::WMLInputElement::dispatchFocusEvent): 5969 (WebCore::WMLInputElement::dispatchBlurEvent): 5970 (WebCore::WMLInputElement::updateFocusAppearance): 5971 (WebCore::WMLInputElement::aboutToUnload): 5972 (WebCore::WMLInputElement::setValue): 5973 (WebCore::WMLInputElement::setValueFromRenderer): 5974 (WebCore::WMLInputElement::parseMappedAttribute): 5975 (WebCore::WMLInputElement::defaultEventHandler): 5976 (WebCore::WMLInputElement::constrainValue): 5977 5978 2009-05-27 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 5979 5980 Reviewed by George Staikos. 5981 5982 Fixes: https://bugs.webkit.org/show_bug.cgi?id=26033 5983 5984 OptionElementData saves an Element pointer, which is unnessary. 5985 Just pass it to the static function calls directly. 5986 5987 * dom/OptionElement.cpp: 5988 (WebCore::OptionElement::setSelectedState): 5989 (WebCore::OptionElement::collectOptionText): 5990 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel): 5991 (WebCore::OptionElement::collectOptionValue): 5992 (WebCore::OptionElementData::OptionElementData): 5993 * dom/OptionElement.h: 5994 * html/HTMLOptionElement.cpp: 5995 (WebCore::HTMLOptionElement::HTMLOptionElement): 5996 (WebCore::HTMLOptionElement::text): 5997 (WebCore::HTMLOptionElement::value): 5998 (WebCore::HTMLOptionElement::setSelected): 5999 (WebCore::HTMLOptionElement::setSelectedState): 6000 (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel): 6001 * wml/WMLOptionElement.cpp: 6002 (WebCore::WMLOptionElement::WMLOptionElement): 6003 (WebCore::WMLOptionElement::setSelectedState): 6004 (WebCore::WMLOptionElement::value): 6005 (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel): 6006 6007 2009-05-27 Fridrich Strba <fridrich.strba (a] bluewin.ch> 6008 6009 Reviewed by Maciej Stachowiak. 6010 6011 When building with MinGW, don't use the __declspec(dl{import,export}) 6012 decorations and rely on the linker to use its nifty auto-import feature. 6013 It is extremely hard to get the decorations right with MinGW in general 6014 and impossible in WebKit, where the resulting shared library is linking 6015 together some static libraries. 6016 6017 * config.h: 6018 6019 2009-05-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 6020 6021 Reviewed by Xan Lopez. 6022 6023 https://bugs.webkit.org/show_bug.cgi?id=25613 6024 6025 Add a WebCore::Widget that can embed GtkWidget with and 6026 without a GdkWindow. This can be used to embed any GtkWidget. 6027 6028 Some bits are directly copied from the Scrollbar implementation 6029 but can not be easily shared here. 6030 6031 * GNUmakefile.am: 6032 * platform/gtk/GtkPluginWidget.cpp: Added. 6033 (WebCore::GtkPluginWidget::GtkPluginWidget): 6034 (WebCore::GtkPluginWidget::invalidateRect): 6035 (WebCore::GtkPluginWidget::frameRectsChanged): 6036 (WebCore::GtkPluginWidget::paint): 6037 * platform/gtk/GtkPluginWidget.h: Added. 6038 6039 2009-05-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 6040 6041 Reviewed by Gustavo Noronha. 6042 6043 https://bugs.webkit.org/show_bug.cgi?id=25613. 6044 6045 Implement Widget::setIsSelected for Gtk+ by searching 6046 for a property of the name "webkit-widget-is-selected" and if 6047 such property exists we are going to set it. We expect 6048 the property to take a boolean. 6049 6050 * platform/gtk/WidgetGtk.cpp: 6051 (WebCore::Widget::setIsSelected): 6052 6053 2009-05-26 Sam Weinig <sam (a] webkit.org> 6054 6055 Reviewed by Brady Eidson. 6056 6057 Fix for <rdar://problem/6916371> 6058 iWeb 'Announce' button does nothing after publishing to MobileMe 6059 6060 Add ability to force content sniffing for all urls (including file: urls) 6061 6062 * WebCore.base.exp: 6063 * platform/network/ResourceHandle.cpp: 6064 (WebCore::ResourceHandle::shouldContentSniffURL): 6065 (WebCore::ResourceHandle::forceContentSniffing): 6066 * platform/network/ResourceHandle.h: 6067 6068 2009-05-26 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 6069 6070 Reviewed by Holger Freyther. 6071 6072 https://bugs.webkit.org/show_bug.cgi?id=25996 6073 6074 [Qt] Dead-code stripping for unix 6075 6076 * WebCore.pro: Turn on GCC dead-code stripping flags for Unix 6077 6078 2009-05-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 6079 6080 Reviewed by Dave Hyatt. 6081 6082 https://bugs.webkit.org/show_bug.cgi?id=25646 6083 6084 [GTK] Send onscroll events for the main FrameView 6085 6086 WebKit/GTK+ is currently not sending any onscroll 6087 events for a frame with external adjustments. This is 6088 due the fact that the value-changed signal of the GtkAdjustment 6089 is handled by WebCore::ScrollView directly and is not going through 6090 the WebCore::Scrollbar -> WebCore::ScrollbarClient -> 6091 WebCore::FrameView::valueChanged -> WebCore::ScrollView::valueChanged 6092 path. 6093 6094 Fix the above problem by wrapping the GtkAdjustment we get 6095 assigned from GTK+ in a ScrollbarGtk that will not have any 6096 visual appearance. Remove code from ScrollView that knows 6097 about adjustments and create a special case for 6098 WebCore::ScrollView::createScrollbar that will create such 6099 a special WebCore::ScrollbarGtk. 6100 6101 * platform/ScrollView.cpp: Remove adjustment code 6102 (WebCore::ScrollView::setHasHorizontalScrollbar): 6103 (WebCore::ScrollView::setHasVerticalScrollbar): 6104 (WebCore::ScrollView::updateScrollbars): 6105 (WebCore::ScrollView::wheelEvent): 6106 * platform/ScrollView.h: Remove adjustment code 6107 * platform/gtk/ScrollViewGtk.cpp: 6108 (WebCore::ScrollView::platformDestroy): 6109 (WebCore::ScrollView::createScrollbar): 6110 (WebCore::ScrollView::setGtkAdjustments): 6111 * platform/gtk/ScrollbarGtk.cpp: 6112 (ScrollbarGtk::createScrollbar): Special case. 6113 (ScrollbarGtk::ScrollbarGtk): New ctor and work on the adjustment 6114 (ScrollbarGtk::~ScrollbarGtk): Disconnect signal 6115 (ScrollbarGtk::frameRectsChanged): Do nothing when we lack a platformWidget 6116 * platform/gtk/ScrollbarGtk.h: 6117 6118 2009-05-26 Cameron Zwarich <zwarich (a] apple.com> 6119 6120 Reviewed by Maciej Stachowiak. 6121 6122 Bug 26035: Make ImageSource::frameHasAlphaAtIndex() return false for JPEGs with CG 6123 <https://bugs.webkit.org/show_bug.cgi?id=26035> 6124 <rdar://problem/6924087> 6125 6126 * platform/graphics/cg/ImageSourceCG.cpp: 6127 (WebCore::ImageSource::frameHasAlphaAtIndex): return false if the image 6128 is JPEG, there is no image type, or m_decoder is null. 6129 6130 2009-05-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 6131 6132 Unreviewed build fix for the JPEGImageDecoder. 6133 6134 Revision 44167 removed stdio.h from the included headers and 6135 this will lead to an error that FILE is not known inside the 6136 jpeglib.h Put back the stdio.h include. 6137 6138 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: 6139 6140 2009-05-26 Yichao Yin <yichao.yin (a] torchmobile.com.cn> 6141 6142 Reviewed by Maciej Stachowiak. 6143 6144 Fix the crash issue while running layout tests after enalbed XHTMLMP 6145 https://bugs.webkit.org/show_bug.cgi?id=26017 6146 6147 * dom/Document.cpp: 6148 (WebCore::Document::isXHTMLMPDocument): 6149 6150 2009-05-26 Anders Carlsson <andersca (a] apple.com> 6151 6152 Reviewed by Dan Bernstein. 6153 6154 <rdar://problem/6901751> 6155 REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com 6156 6157 Don't use the WKCGContextIsSafeToClip function; it wasn't working correctly. Instead, just disable 6158 the improved selection drawing on Tiger. 6159 6160 * WebCore.Tiger.exp: 6161 * platform/graphics/cg/GraphicsContextCG.cpp: 6162 (WebCore::GraphicsContext::fillPath): 6163 (WebCore::GraphicsContext::strokePath): 6164 (WebCore::GraphicsContext::fillRect): 6165 (WebCore::GraphicsContext::clip): 6166 (WebCore::GraphicsContext::clipOut): 6167 (WebCore::GraphicsContext::clipOutEllipseInRect): 6168 (WebCore::GraphicsContext::clipPath): 6169 (WebCore::GraphicsContext::addInnerRoundedRectClip): 6170 (WebCore::GraphicsContext::strokeRect): 6171 * platform/mac/WebCoreSystemInterface.h: 6172 * platform/mac/WebCoreSystemInterface.mm: 6173 * rendering/RenderBlock.cpp: 6174 (WebCore::RenderBlock::fillSelectionGaps): 6175 6176 2009-05-26 Peter Kasting <pkasting (a] google.com> 6177 6178 Reviewed by Eric Seidel. 6179 6180 https://bugs.webkit.org/show_bug.cgi?id=25709 part two 6181 Mostly cosmetic changes, mainly to get image decoders for Cairo build to 6182 comply with WebKit style guidelines: 6183 * Fix header guard names 6184 * Fix initializer list wrapping 6185 * Fix class/function "{" wrapping 6186 * Fix wrapping of long boolean expressions 6187 * Fix whitespace around operators 6188 * Eliminate whitespace on otherwise-blank lines 6189 * No {} on single-line conditional arms 6190 * Use 0 instead of NULL 6191 * Don't #include "config.h" in headers 6192 6193 Also a few non-cosmetic changes: 6194 * Remove unneeded #ifdef protecting the contents of these files. The 6195 platforms listed don't match who uses these files anymore (even 6196 without considering Skia), and platforms which don't use them at all 6197 (like CG) aren't harmed by the files, since they don't have 6198 equivalently-named classes. It's simpler to just ditch these. 6199 * Convert a use of Vector<>& into SharedBuffer*, since that's how the 6200 data is really stored anyway. 6201 * Use size() instead of m_size, for consistency with Skia code, and 6202 future-proofing (if a particular decoder wants to specialize this). 6203 * Move an ASSERT that was slightly more aggressive than necessary. 6204 * Change variable names/types for clarity/accuracy and to match Skia. 6205 * Remove unnecessary macro magic to work around a problem which no 6206 longer exists in the third-party JPEG headers. 6207 * Stop silencing a portability warning about setjmp (the vcproj/vsprops 6208 are the right place for this) 6209 * In Skia code, don't explicitly check |m_failed| before calling 6210 isSizeAvailable(), which itself checks |m_failed|. 6211 6212 * platform/image-decoders/ImageDecoder.h: Fix header guards, "{" wrapping. 6213 (WebCore::RGBA32Buffer::): 6214 (WebCore::RGBA32Buffer::RGBA32Buffer): Fix initializer list wrapping. 6215 (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping. 6216 * platform/image-decoders/bmp/BMPImageDecoder.cpp: Remove unneeded #ifdef. 6217 * platform/image-decoders/bmp/BMPImageDecoder.h: Fix header guards, "{" wrapping. 6218 * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove unneeded #ifdef, fix "{" wrapping. 6219 (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): Use an initializer instead of a block-level statement. 6220 (WebCore::GIFImageDecoderPrivate::decode): Expect a SharedBuffer. 6221 (WebCore::GIFImageDecoderPrivate::getColorMap): 6222 (WebCore::GIFImageDecoder::GIFImageDecoder): Fix initializer list wrapping. 6223 (WebCore::GIFImageDecoder::frameCount): Add comment. 6224 (WebCore::GIFImageDecoder::frameBufferAtIndex): Explicitly cast, fix whitespace around operators. 6225 (WebCore::GIFImageDecoder::decode): Pass a SharedBuffer. 6226 (WebCore::GIFImageDecoder::initFrameBuffer): Use size() instead of m_size, move ASSERT, fix boolean wrapping, fix indenting. 6227 (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): Use size() instead of m_size. 6228 (WebCore::GIFImageDecoder::haveDecodedRow): Use size() instead of m_size, eliminate unneeded whitespace, change variable name. 6229 (WebCore::GIFImageDecoder::frameComplete): Use size() instead of m_size, no {} on single-line conditional arms, fix boolean wrapping. 6230 * platform/image-decoders/gif/GIFImageDecoder.h: Fix header guards, "{" wrapping. 6231 * platform/image-decoders/gif/GIFImageReader.cpp: Remove unneeded #ifdef. 6232 (GIFImageReader::read): 6233 * platform/image-decoders/gif/GIFImageReader.h: Fix header guards, change variable type. 6234 * platform/image-decoders/ico/ICOImageDecoder.cpp: Remove unneeded #ifdef. 6235 * platform/image-decoders/ico/ICOImageDecoder.h: Fix header guards, "{" wrapping. 6236 * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove unneeded #ifdef, macro magic, silencing of warning. 6237 (WebCore::JPEGImageDecoder::outputScanlines): Use size() instead of m_size, change variable name. 6238 * platform/image-decoders/jpeg/JPEGImageDecoder.h: Fix header guards, "{" wrapping. 6239 * platform/image-decoders/png/PNGImageDecoder.cpp: Remove unneeded #ifdef, silencing of warning, change variable type. 6240 (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping. 6241 (WebCore::PNGImageReader::close): Add comment, zero another member for consistency. 6242 (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting. 6243 (WebCore::PNGImageDecoder::decodingFailed): Define in .cpp, not .h. 6244 (WebCore::PNGImageDecoder::rowAvailable): 6245 * platform/image-decoders/png/PNGImageDecoder.h: Fix header guards, "{" wrapping. 6246 * platform/image-decoders/skia/GIFImageDecoder.cpp: 6247 (WebCore::GIFImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily. 6248 (WebCore::GIFImageDecoder::frameBufferAtIndex): Fix whitespace around operators. 6249 * platform/image-decoders/skia/GIFImageReader.h: "unsigned" is sufficient to convey "unsigned int". 6250 * platform/image-decoders/skia/ImageDecoder.h: Remove unnecessary #includes. 6251 (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping. 6252 * platform/image-decoders/skia/JPEGImageDecoder.cpp: 6253 (WebCore::JPEGImageReader::JPEGImageReader): Use 0 instead of NULL. 6254 (WebCore::JPEGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily. 6255 * platform/image-decoders/skia/PNGImageDecoder.cpp: 6256 (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping. 6257 (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting. 6258 (WebCore::PNGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily. 6259 (WebCore::rowAvailable): 6260 * platform/image-decoders/skia/XBMImageDecoder.h: Don't #include config.h. 6261 * platform/image-decoders/xbm/XBMImageDecoder.cpp: Remove unneeded #ifdef. 6262 * platform/image-decoders/xbm/XBMImageDecoder.h: Fix header guards, "{" wrapping. 6263 6264 2009-05-26 Jian Li <jianli (a] chromium.org> 6265 6266 Reviewed by Dimitri Glazkov. 6267 6268 https://bugs.webkit.org/show_bug.cgi?id=25944 6269 Remove the uses of V8 Locker in worker execution code. No additional test is needed. 6270 The normal WebKit layout tests should cover it. However, layout tests that start 6271 multiple workers will fail to pass due to test shell limitation in Chromium. To cover 6272 this, UI tests will be added (http://code.google.com/p/chromium/issues/detail?id=12554). 6273 6274 * bindings/v8/V8WorkerContextEventListener.cpp: 6275 (WebCore::V8WorkerContextEventListener::handleEvent): 6276 * bindings/v8/WorkerContextExecutionProxy.cpp: 6277 (WebCore::WorkerContextExecutionProxy::dispose): 6278 (WebCore::WorkerContextExecutionProxy::initV8IfNeeded): 6279 (WebCore::WorkerContextExecutionProxy::evaluate): 6280 (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper): 6281 (WebCore::WorkerContextExecutionProxy::RemoveEventListener): 6282 6283 2009-05-26 Dmitry Titov <dimich (a] chromium.org> 6284 6285 Reviewed by Dimitri Glazkov. 6286 6287 https://bugs.webkit.org/show_bug.cgi?id=25974 6288 Enable timers in Chromuim workers. 6289 6290 * bindings/v8/ScheduledAction.cpp: 6291 (WebCore::ScheduledAction::execute): Added function which can execute a callback using WorkerContext. 6292 * bindings/v8/ScheduledAction.h: 6293 (WebCore::ScheduledAction::ScheduledAction): added url parameter to capture the worker's location. 6294 * bindings/v8/custom/V8WorkerContextCustom.cpp: 6295 (WebCore::SetTimeoutOrInterval): replaced NotImplemented with code to create ScheduledAction and DOMTimer. 6296 Also, removed declarations for clearTimeout/clearInterval callbacks since they are now directly generated from IDL. 6297 6298 2009-05-26 Dimitri Glazkov <dglazkov (a] chromium.org> 6299 6300 Unreviewed, build fix. 6301 6302 https://bugs.webkit.org/show_bug.cgi?id=23649 6303 Update V8 bindings to match SQLTransactionErrorCallback change. 6304 6305 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 6306 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): Changed to return void. 6307 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Ditto. 6308 6309 2009-05-26 Dirk Schulze <krit (a] webkit.org> 6310 6311 Reviewed by Nikolas Zimmermann. 6312 6313 Move FilterEffect to platform/graphics/filters. First step to get an 6314 SVG independent filter system. 6315 6316 * GNUmakefile.am: 6317 * WebCore.pro: 6318 * WebCore.xcodeproj/project.pbxproj: 6319 * platform/graphics/filters/FilterEffect.cpp: Added. 6320 (WebCore::FilterEffect::FilterEffect): 6321 (WebCore::FilterEffect::~FilterEffect): 6322 (WebCore::FilterEffect::externalRepresentation): 6323 * platform/graphics/filters/FilterEffect.h: Added. 6324 (WebCore::FilterEffect::xBoundingBoxMode): 6325 (WebCore::FilterEffect::setXBoundingBoxMode): 6326 (WebCore::FilterEffect::yBoundingBoxMode): 6327 (WebCore::FilterEffect::setYBoundingBoxMode): 6328 (WebCore::FilterEffect::widthBoundingBoxMode): 6329 (WebCore::FilterEffect::setWidthBoundingBoxMode): 6330 (WebCore::FilterEffect::heightBoundingBoxMode): 6331 (WebCore::FilterEffect::setHeightBoundingBoxMode): 6332 (WebCore::FilterEffect::subRegion): 6333 (WebCore::FilterEffect::setSubRegion): 6334 (WebCore::FilterEffect::resultImage): 6335 (WebCore::FilterEffect::setEffectBuffer): 6336 * svg/FilterEffect.cpp: Removed. 6337 * svg/FilterEffect.h: Removed. 6338 6339 2009-05-26 Dimitri Glazkov <dglazkov (a] chromium.org> 6340 6341 Reviewed by Maciej Stachowiak. 6342 6343 https://bugs.webkit.org/show_bug.cgi?id=23649 6344 Update SQLTransactionErrorCallback to not return a value per changes in 6345 HTML5 spec. 6346 6347 Test: storage/transaction-error-callback.html 6348 6349 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 6350 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 6351 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 6352 * storage/SQLTransaction.cpp: 6353 (WebCore::SQLTransaction::SQLTransaction): 6354 (WebCore::SQLTransaction::postflightAndCommit): 6355 (WebCore::SQLTransaction::handleTransactionError): 6356 (WebCore::SQLTransaction::deliverTransactionErrorCallback): 6357 (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback): 6358 * storage/SQLTransaction.h: 6359 * storage/SQLTransactionErrorCallback.h: 6360 6361 2009-05-26 David Hyatt <hyatt (a] apple.com> 6362 6363 Reviewed by Darin Adler. 6364 6365 Fix for https://bugs.webkit.org/show_bug.cgi?id=25969 6366 6367 Detect the case where we can fit without scrollbars when the view shrinks, so that we don't mistakenly 6368 continue to show scrollbars. 6369 6370 Added two tests in fast/dynamic. 6371 6372 * platform/ScrollView.cpp: 6373 (WebCore::ScrollView::updateScrollbars): 6374 6375 2009-05-26 Chris Fleizach <cfleizach (a] apple.com> 6376 6377 Reviewed by Mark Rowe. 6378 6379 Bug 25801: change AccessibilityAria -> AccessibilityARIA 6380 https://bugs.webkit.org/show_bug.cgi?id=25801 6381 6382 * GNUmakefile.am: 6383 * WebCore.order: 6384 * WebCore.pro: 6385 * WebCore.vcproj/WebCore.vcproj: 6386 * WebCore.xcodeproj/project.pbxproj: 6387 * WebCoreSources.bkl: 6388 * accessibility/AXObjectCache.cpp: 6389 (WebCore::AXObjectCache::getOrCreate): 6390 * accessibility/AccessibilityARIAGrid.cpp: Copied from WebCore/accessibility/AccessibilityAriaGrid.cpp. 6391 (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid): 6392 (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid): 6393 (WebCore::AccessibilityARIAGrid::create): 6394 (WebCore::AccessibilityARIAGrid::addChild): 6395 (WebCore::AccessibilityARIAGrid::addChildren): 6396 (WebCore::AccessibilityARIAGrid::cellForColumnAndRow): 6397 * accessibility/AccessibilityARIAGrid.h: Copied from WebCore/accessibility/AccessibilityAriaGrid.h. 6398 * accessibility/AccessibilityARIAGridCell.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridCell.cpp. 6399 (WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell): 6400 (WebCore::AccessibilityARIAGridCell::~AccessibilityARIAGridCell): 6401 (WebCore::AccessibilityARIAGridCell::create): 6402 (WebCore::AccessibilityARIAGridCell::parentTable): 6403 (WebCore::AccessibilityARIAGridCell::rowIndexRange): 6404 (WebCore::AccessibilityARIAGridCell::columnIndexRange): 6405 * accessibility/AccessibilityARIAGridCell.h: Copied from WebCore/accessibility/AccessibilityAriaGridCell.h. 6406 * accessibility/AccessibilityARIAGridRow.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridRow.cpp. 6407 (WebCore::AccessibilityARIAGridRow::AccessibilityARIAGridRow): 6408 (WebCore::AccessibilityARIAGridRow::~AccessibilityARIAGridRow): 6409 (WebCore::AccessibilityARIAGridRow::create): 6410 (WebCore::AccessibilityARIAGridRow::parentTable): 6411 (WebCore::AccessibilityARIAGridRow::headerObject): 6412 * accessibility/AccessibilityARIAGridRow.h: Copied from WebCore/accessibility/AccessibilityAriaGridRow.h. 6413 * accessibility/AccessibilityAriaGrid.cpp: Removed. 6414 * accessibility/AccessibilityAriaGrid.h: Removed. 6415 * accessibility/AccessibilityAriaGridCell.cpp: Removed. 6416 * accessibility/AccessibilityAriaGridCell.h: Removed. 6417 * accessibility/AccessibilityAriaGridRow.cpp: Removed. 6418 * accessibility/AccessibilityAriaGridRow.h: Removed. 6419 6420 2009-05-26 Stephen White <senorblanco (a] chromium.org> 6421 6422 Reviewed by Dimitri Glazkov. 6423 6424 https://bugs.webkit.org/show_bug.cgi?id=26012 6425 6426 Fix the Skia path to normalize the given source rect when 6427 drawing patterns, so it accepts negative width/height (as CG does). 6428 Fixes Chromium bug http://www.crbug.com/6167. 6429 * platform/graphics/skia/ImageSkia.cpp: 6430 (WebCore::Image::drawPattern): 6431 6432 2009-05-26 Pavel Feldman <pfeldman (a] chromium.org> 6433 6434 Reviewed by Timothy Hatcher. 6435 6436 Serialize calls to WebInspector. This is the first step where method 6437 calls are being serialized to arrays (not yet JSON stringified ones) and 6438 are being dispatched on the client. This change also allows client to override 6439 InspectorFrontend, so that the serialized calls can be made on a given object 6440 instead of in-process WebInspector global. This will be the main control flow 6441 when InspectorController is decoupled from the in-process frontend. 6442 6443 https://bugs.webkit.org/show_bug.cgi?id=26010 6444 6445 * inspector/InspectorController.cpp: 6446 (WebCore::InspectorController::scriptObjectReady): 6447 (WebCore::InspectorController::overrideFrontendObject): 6448 (WebCore::InspectorController::show): 6449 (WebCore::InspectorController::populateScriptObjects): 6450 * inspector/InspectorController.h: 6451 * inspector/InspectorFrontend.cpp: 6452 (WebCore::InspectorFrontend::addMessageToConsole): 6453 (WebCore::InspectorFrontend::addResource): 6454 (WebCore::InspectorFrontend::updateResource): 6455 (WebCore::InspectorFrontend::removeResource): 6456 (WebCore::InspectorFrontend::updateFocusedNode): 6457 (WebCore::InspectorFrontend::setAttachedWindow): 6458 (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared): 6459 (WebCore::InspectorFrontend::showPanel): 6460 (WebCore::InspectorFrontend::populateInterface): 6461 (WebCore::InspectorFrontend::reset): 6462 (WebCore::InspectorFrontend::debuggerWasEnabled): 6463 (WebCore::InspectorFrontend::debuggerWasDisabled): 6464 (WebCore::InspectorFrontend::profilerWasEnabled): 6465 (WebCore::InspectorFrontend::profilerWasDisabled): 6466 (WebCore::InspectorFrontend::parsedScriptSource): 6467 (WebCore::InspectorFrontend::failedToParseScriptSource): 6468 (WebCore::InspectorFrontend::addProfile): 6469 (WebCore::InspectorFrontend::setRecordingProfile): 6470 (WebCore::InspectorFrontend::pausedScript): 6471 (WebCore::InspectorFrontend::resumedScript): 6472 (WebCore::InspectorFrontend::addDatabase): 6473 (WebCore::InspectorFrontend::addDOMStorage): 6474 (WebCore::InspectorFrontend::newFunctionCall): 6475 (WebCore::InspectorFrontend::callSimpleFunction): 6476 * inspector/InspectorFrontend.h: 6477 * inspector/front-end/inspector.js: 6478 (WebInspector.dispatch): 6479 6480 2009-05-25 Alexey Proskuryakov <ap (a] webkit.org> 6481 6482 Reviewed by Darin Adler. 6483 6484 <rdar://problem/6918671> REGRESSION (r41700): Crashes in debug DumpRenderTree at RefCountedBase::ref(). 6485 6486 * dom/QualifiedName.cpp: (WebCore::QualifiedName::QualifiedName): 6487 * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl): 6488 Adjust empty namespace before QNameComponentsTranslator black magic, not after. 6489 6490 2009-05-25 David Levin <levin (a] chromium.org> 6491 6492 Reviewed by Maciej Stachowiak and Oliver Hunt. 6493 6494 Added forwarding headers. 6495 6496 * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Added. 6497 * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Added. 6498 6499 2009-05-25 Anders Carlsson <andersca (a] apple.com> 6500 6501 Reviewed by Sam Weinig. 6502 6503 - WebCore side of <rdar://problem/6914001>. 6504 6505 Add a new m_allowPopupsFromPlugin flag. 6506 6507 * bindings/js/ScriptController.cpp: 6508 (WebCore::ScriptController::ScriptController): 6509 (WebCore::ScriptController::processingUserGesture): 6510 * bindings/js/ScriptController.h: 6511 (WebCore::ScriptController::setAllowPopupsFromPlugin): 6512 (WebCore::ScriptController::allowPopupsFromPlugin): 6513 6514 2009-05-25 Adam Barth <abarth (a] webkit.org> 6515 6516 Reviewed by Sam Weinig. 6517 6518 https://bugs.webkit.org/show_bug.cgi?id=26006 6519 6520 Sort out our use of dynamicGlobalObject and lexicalGlobalObject for 6521 window.location. The correct use appears to be as follows: 6522 6523 1) Use dynamicGlobalObject to find the user gesture. 6524 2) Use dynamicGlobalObject to complete URLs. 6525 3) Use lexicalGlobalObject to find the referrer. 6526 4) Use lexicalGlobalObject for the frame navigation checks. 6527 5) Use lexicalGlobalObject for the XSS checks. 6528 6529 Tests: http/tests/security/frameNavigation/context-for-location-assign.html 6530 http/tests/security/frameNavigation/context-for-location-href.html 6531 http/tests/security/frameNavigation/context-for-location.html 6532 6533 * bindings/js/JSDOMBinding.cpp: 6534 (WebCore::shouldAllowNavigation): 6535 (WebCore::toLexicalFrame): 6536 (WebCore::processingUserGesture): 6537 (WebCore::completeURL): 6538 * bindings/js/JSDOMBinding.h: 6539 * bindings/js/JSDOMWindowCustom.cpp: 6540 (WebCore::JSDOMWindow::setLocation): 6541 * bindings/js/JSLocationCustom.cpp: 6542 (WebCore::navigateIfAllowed): 6543 (WebCore::JSLocation::setHref): 6544 (WebCore::JSLocation::replace): 6545 (WebCore::JSLocation::reload): 6546 (WebCore::JSLocation::assign): 6547 (WebCore::JSLocation::toString): 6548 (WebCore::JSLocationPrototype::customPut): 6549 * bindings/v8/V8Utilities.cpp: 6550 (WebCore::processingUserGesture): 6551 (WebCore::shouldAllowNavigation): 6552 (WebCore::completeURL): 6553 (WebCore::navigateIfAllowed): 6554 * bindings/v8/V8Utilities.h: 6555 * bindings/v8/custom/V8DOMWindowCustom.cpp: 6556 (WebCore::V8Custom::WindowSetLocation): 6557 * bindings/v8/custom/V8LocationCustom.cpp: 6558 (WebCore::ACCESSOR_SETTER): 6559 (WebCore::CALLBACK_FUNC_DECL): 6560 6561 2009-05-25 Fridrich Strba <fridrich.strba (a] bluewin.ch> 6562 6563 Reviewed by Maciej Stachowiak. 6564 6565 With Windows compilers older then MSVC 2005, the functions 6566 gmtime_s and localtime_s don't exist. The gmtime and localtime are 6567 on Windows always thread safe. So use them in the cases where 6568 gmtime_s and localtime_s are not present. 6569 6570 * loader/FTPDirectoryDocument.cpp: 6571 * loader/FTPDirectoryParser.cpp: 6572 6573 2009-05-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 6574 6575 Reviewed by Simon Hausmann. 6576 6577 Follow up on r44120. PluginPackageMac.cpp is used 6578 by Qt on Mac and contained a copy of the m_browserFunc 6579 assignments and ::equal, ::hash and ::compareFileVersion. 6580 Change it to use the ones from PluginPackage.cpp as well. 6581 6582 * plugins/mac/PluginPackageMac.cpp: 6583 (WebCore::PluginPackage::load): 6584 6585 2009-05-25 Simon Hausmann <simon.hausmann (a] nokia.com> 6586 6587 Reviewed by Tor Arne Vestb. 6588 6589 https://bugs.webkit.org/show_bug.cgi?id=25612 6590 6591 Support conditionals in the tag factories, by placing 6592 feature #ifdefs around the individual factory functions 6593 and the registration. 6594 6595 Made the Audio and Video elements conditional in the tag factories 6596 6597 * html/HTMLTagNames.in: 6598 * dom/make_names.pl: 6599 6600 2009-05-25 Simon Hausmann <simon.hausmann (a] nokia.com> 6601 6602 Fix the Gtk build when video is disabled. 6603 6604 * GNUmakefile.am: Always generate and compile the IDL files for the media 6605 elements. They contain proper feature #ifdefs. 6606 6607 2009-05-25 Simon Hausmann <simon.hausmann (a] nokia.com> 6608 6609 Fix the Qt build when video is disabled. 6610 6611 * WebCore.pro: Always generate the IDL files for the media elements. They 6612 contain proper ENABLE(VIDEO) #ifdefs. 6613 6614 2009-05-25 Adam Barth <abarth (a] webkit.org> 6615 6616 Reviewed by Maciej Stachowiak. 6617 6618 https://bugs.webkit.org/show_bug.cgi?id=26004 6619 6620 The origin for postMessage should follow lexical scope, not dynamic 6621 scope. Yes, this is a super-obscure corner case. 6622 6623 Test: http/tests/security/postMessage/origin-follows-lexical-scope.html 6624 6625 * bindings/js/JSDOMWindowCustom.cpp: 6626 (WebCore::JSDOMWindow::postMessage): 6627 * bindings/v8/custom/V8DOMWindowCustom.cpp: 6628 (WebCore::CALLBACK_FUNC_DECL): 6629 6630 2009-05-24 Darin Fisher <darin (a] chromium.org> 6631 6632 Reviewed by Mark Rowe. 6633 6634 Fix build bustage related to PassOwnPtr changes. 6635 6636 https://bugs.webkit.org/show_bug.cgi?id=25999 6637 6638 * platform/graphics/chromium/TransparencyWin.cpp: 6639 6640 2009-05-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 6641 6642 Reviewed by Maciej Stachowiak. 6643 6644 https://bugs.webkit.org/show_bug.cgi?id=25988 6645 6646 Minor cleanup in PluginPackage::hash. Let the compiler 6647 figure out the size of the array. Do not have it in the 6648 definition and specially not the in the call to 6649 StringImpl::hash. 6650 6651 * plugins/PluginPackage.cpp: 6652 (WebCore::PluginPackage::hash): 6653 6654 2009-05-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 6655 6656 Reviewed by Maciej Stachowiak. 6657 6658 https://bugs.webkit.org/show_bug.cgi?id=25988 6659 6660 Move ::hash, ::equal and ::compareFileVersion from 6661 the duplicated copies in PluginPackageQt.cpp and 6662 PluginPackageGtk to PluginPackage.cpp. We need to #ifdef 6663 this for the PluginPackageWin version. Use the new style 6664 ENABLE() for this feature/policy and enable it in the Gtk+ 6665 and Qt buildsystem. 6666 6667 * GNUmakefile.am: 6668 * WebCore.pro: 6669 * plugins/PluginPackage.cpp: 6670 (WebCore::PluginPackage::hash): 6671 (WebCore::PluginPackage::equal): 6672 (WebCore::PluginPackage::compareFileVersion): 6673 * plugins/gtk/PluginPackageGtk.cpp: 6674 * plugins/qt/PluginPackageQt.cpp: 6675 6676 2009-05-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 6677 6678 Reviewed by Maciej Stachowiak. 6679 6680 https://bugs.webkit.org/show_bug.cgi?id=25988 6681 6682 So far the initialization of the browserfuncs struct 6683 is done in PluginPackageQt, PluginPackageGtk and 6684 PluginPackageWin there is no need for this duplication. 6685 6686 The PluginPackageWin version got copied to PluginPackage 6687 6688 * plugins/PluginPackage.cpp: 6689 (WebCore::PluginPackage::initializeBrowserFuncs): 6690 * plugins/PluginPackage.h: 6691 * plugins/gtk/PluginPackageGtk.cpp: 6692 (WebCore::PluginPackage::load): 6693 * plugins/qt/PluginPackageQt.cpp: 6694 (WebCore::PluginPackage::load): 6695 * plugins/win/PluginPackageWin.cpp: 6696 (WebCore::PluginPackage::load): 6697 6698 2009-05-24 Dirk Schulze <krit (a] webkit.org> 6699 6700 Reviewed by Nikolas Zimmermann. 6701 6702 WebKit needs cross-platform filter system 6703 [https://bugs.webkit.org/show_bug.cgi?id=19991] 6704 6705 Added standard input for filter system. 6706 6707 No testcases were added. Filter system is still off. 6708 6709 * GNUmakefile.am: 6710 * WebCore.pro: 6711 * WebCore.xcodeproj/project.pbxproj: 6712 * platform/graphics/filters/SourceAlpha.cpp: Added. 6713 (WebCore::SourceAlpha::create): 6714 (WebCore::SourceAlpha::effectName): 6715 (WebCore::SourceAlpha::apply): 6716 (WebCore::SourceAlpha::dump): 6717 * platform/graphics/filters/SourceAlpha.h: Added. 6718 (WebCore::SourceAlpha::SourceAlpha): 6719 * platform/graphics/filters/SourceGraphic.cpp: Added. 6720 (WebCore::SourceGraphic::create): 6721 (WebCore::SourceGraphic::effectName): 6722 (WebCore::SourceGraphic::apply): 6723 (WebCore::SourceGraphic::dump): 6724 * platform/graphics/filters/SourceGraphic.h: Added. 6725 (WebCore::SourceGraphic::SourceGraphic): 6726 * svg/FilterBuilder.cpp: Added. 6727 (WebCore::FilterBuilder::FilterBuilder): 6728 (WebCore::FilterBuilder::add): 6729 (WebCore::FilterBuilder::getEffectById): 6730 (WebCore::FilterBuilder::clearEffects): 6731 * svg/FilterBuilder.h: 6732 6733 2009-05-24 Simon Hausmann <simon.hausmann (a] nokia.com> 6734 6735 Reviewed by Maciej Stachowiak. 6736 6737 https://bugs.webkit.org/show_bug.cgi?id=25612 6738 6739 Add support conditionals in the JSC bindings generator code for attributes, 6740 by placing feature #ifdefs around the setters/getters. 6741 6742 Made the audio and video element specific DOM attributes conditional 6743 in the generated code, by moving the #ifdefs from the IDL files into 6744 the generated code. This allows for re-using the same generated code 6745 with or without ENABLE(VIDEO). 6746 6747 * page/DOMWindow.idl: 6748 * bindings/scripts/CodeGeneratorJS.pm: 6749 6750 2009-05-23 Holger Hans Peter Freyther <zecke (a] selfish.org> 6751 6752 Unreviewed build fix for Qt. Change signature to have PassOwnPtr. 6753 6754 * platform/text/qt/TextCodecQt.cpp: 6755 (WebCore::newTextCodecQt): 6756 6757 2009-05-23 Dan Bernstein <mitz (a] apple.com> 6758 6759 Reviewed by Darin Adler. 6760 6761 - clean up ColorMac a little 6762 6763 * platform/graphics/mac/ColorMac.h: Whitespace change. 6764 * platform/graphics/mac/ColorMac.mm: Removed redundant #import 6765 statements and sorted the remaining ones. 6766 (WebCore::makeRGBAFromNSColor): Replaced four Objective-C method calls 6767 with a single call and removed redundant casts to int. 6768 (WebCore::nsColor): Removed ".0f" from number literals used as CGFloats. 6769 In one case, this avoids an intermediate conversion to float before 6770 conversion to double on 64-bit. 6771 (WebCore::CGColorFromNSColor): Replaced four Objective-C method calls 6772 with a single call. 6773 (WebCore::focusRingColor): 6774 (+[WebCoreControlTintObserver controlTintDidChange]): Whitespace change. 6775 6776 2009-05-23 Jan Michael Alonzo <jmalonzo (a] webkit.org> 6777 6778 Reviewed by Xan Lopez. 6779 6780 [Gtk] ROLE_ROW_HEADER should not be used for list item bullets/numbers 6781 https://bugs.webkit.org/show_bug.cgi?id=25900 6782 6783 Use ATK_ROLE_TEXT for ListMarkerRole. 6784 6785 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 6786 (atkRole): 6787 6788 2009-05-23 David Kilzer <ddkilzer (a] apple.com> 6789 6790 Reformat WebCore::requiresContextForWordBoundary() 6791 6792 * platform/text/TextBoundaries.h: 6793 (WebCore::requiresContextForWordBoundary): 6794 6795 2009-05-23 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 6796 6797 Not reviewed. Roll out ResourceHandle patch, that I accidently included in my last commit. 6798 6799 * platform/network/ResourceHandle.cpp: 6800 (WebCore::ResourceHandle::shouldContentSniffURL): 6801 6802 2009-05-23 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 6803 6804 Reviewed by Darin Adler. 6805 6806 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23808 6807 6808 After a long journey, add the last missing ABC to share form control element support with HTMLSelectElement. 6809 RenderListBox/RenderMenuList operates on SelectElement instead of HTMLSelectElement now, querying selected index etc. 6810 This makes it possible to use these render objects for ie. WML, as it's done before for input & option elements. 6811 6812 WMLSelectElement will be created soon, in a follow-up patch, adding more methods to SelectElement, sharing code between 6813 HTMLSelectElement/WMLSelectElement. 6814 6815 * GNUmakefile.am: 6816 * WebCore.pro: 6817 * WebCore.vcproj/WebCore.vcproj: 6818 * WebCore.xcodeproj/project.pbxproj: 6819 * WebCoreSources.bkl: 6820 * accessibility/AccessibilityListBox.cpp: 6821 (WebCore::AccessibilityListBox::addChildren): 6822 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 6823 * accessibility/AccessibilityListBoxOption.cpp: 6824 (WebCore::AccessibilityListBoxOption::listBoxOptionIndex): 6825 * accessibility/AccessibilityRenderObject.cpp: 6826 (WebCore::AccessibilityRenderObject::actionElement): 6827 * dom/Element.h: 6828 (WebCore::Element::isFormControlElement): 6829 (WebCore::Element::dispatchFormControlChangeEvent): 6830 * dom/SelectElement.cpp: Added. 6831 (WebCore::toSelectElement): 6832 * dom/SelectElement.h: Added. 6833 (WebCore::SelectElement::~SelectElement): 6834 * html/HTMLFormControlElement.cpp: 6835 (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): 6836 * html/HTMLFormControlElement.h: 6837 * html/HTMLInputElement.cpp: 6838 (WebCore::HTMLInputElement::setChecked): 6839 (WebCore::HTMLInputElement::defaultEventHandler): 6840 * html/HTMLOptionElement.cpp: 6841 (WebCore::HTMLOptionElement::index): 6842 * html/HTMLSelectElement.cpp: 6843 (WebCore::HTMLSelectElement::selectedIndex): 6844 (WebCore::HTMLSelectElement::lastSelectedListIndex): 6845 (WebCore::HTMLSelectElement::deselectItems): 6846 (WebCore::HTMLSelectElement::setSelectedIndex): 6847 (WebCore::HTMLSelectElement::length): 6848 (WebCore::HTMLSelectElement::remove): 6849 (WebCore::HTMLSelectElement::value): 6850 (WebCore::HTMLSelectElement::setValue): 6851 (WebCore::HTMLSelectElement::saveFormControlState): 6852 (WebCore::HTMLSelectElement::restoreFormControlState): 6853 (WebCore::HTMLSelectElement::selectAll): 6854 (WebCore::HTMLSelectElement::appendFormData): 6855 (WebCore::HTMLSelectElement::optionToListIndex): 6856 (WebCore::HTMLSelectElement::listToOptionIndex): 6857 (WebCore::HTMLSelectElement::recalcListItems): 6858 (WebCore::HTMLSelectElement::reset): 6859 (WebCore::HTMLSelectElement::dispatchFocusEvent): 6860 (WebCore::HTMLSelectElement::dispatchBlurEvent): 6861 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): 6862 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 6863 (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): 6864 (WebCore::HTMLSelectElement::updateListBoxSelection): 6865 (WebCore::HTMLSelectElement::menuListOnChange): 6866 (WebCore::HTMLSelectElement::listBoxOnChange): 6867 (WebCore::HTMLSelectElement::saveLastSelection): 6868 (WebCore::HTMLSelectElement::typeAheadFind): 6869 (WebCore::HTMLSelectElement::nextSelectableListIndex): 6870 (WebCore::HTMLSelectElement::previousSelectableListIndex): 6871 (WebCore::HTMLSelectElement::setLength): 6872 (WebCore::HTMLSelectElement::checkListItems): 6873 * html/HTMLSelectElement.h: 6874 (WebCore::HTMLSelectElement::size): 6875 (WebCore::HTMLSelectElement::multiple): 6876 (WebCore::HTMLSelectElement::listItems): 6877 (WebCore::HTMLSelectElement::setActiveSelectionEndIndex): 6878 * platform/network/ResourceHandle.cpp: 6879 (WebCore::ResourceHandle::shouldContentSniffURL): 6880 * rendering/RenderFileUploadControl.cpp: 6881 (WebCore::RenderFileUploadControl::valueChanged): 6882 * rendering/RenderListBox.cpp: 6883 (WebCore::RenderListBox::RenderListBox): 6884 (WebCore::RenderListBox::updateFromElement): 6885 (WebCore::RenderListBox::scrollToRevealSelection): 6886 (WebCore::RenderListBox::size): 6887 (WebCore::RenderListBox::numItems): 6888 (WebCore::RenderListBox::paintItemForeground): 6889 (WebCore::RenderListBox::paintItemBackground): 6890 (WebCore::RenderListBox::panScroll): 6891 (WebCore::RenderListBox::autoscroll): 6892 (WebCore::RenderListBox::stopAutoscroll): 6893 (WebCore::RenderListBox::valueChanged): 6894 (WebCore::RenderListBox::nodeAtPoint): 6895 * rendering/RenderListBox.h: 6896 * rendering/RenderMenuList.cpp: 6897 (WebCore::RenderMenuList::RenderMenuList): 6898 (WebCore::RenderMenuList::updateOptionsWidth): 6899 (WebCore::RenderMenuList::updateFromElement): 6900 (WebCore::RenderMenuList::setTextFromOption): 6901 (WebCore::RenderMenuList::showPopup): 6902 (WebCore::RenderMenuList::valueChanged): 6903 (WebCore::RenderMenuList::itemText): 6904 (WebCore::RenderMenuList::itemIsEnabled): 6905 (WebCore::RenderMenuList::itemStyle): 6906 (WebCore::RenderMenuList::itemBackgroundColor): 6907 (WebCore::RenderMenuList::listSize): 6908 (WebCore::RenderMenuList::selectedIndex): 6909 (WebCore::RenderMenuList::itemIsSeparator): 6910 (WebCore::RenderMenuList::itemIsLabel): 6911 (WebCore::RenderMenuList::itemIsSelected): 6912 (WebCore::RenderMenuList::setTextFromItem): 6913 * rendering/RenderMenuList.h: 6914 * rendering/RenderSlider.cpp: 6915 (WebCore::RenderSlider::setValueForPosition): 6916 6917 2009-05-23 David Kilzer <ddkilzer (a] apple.com> 6918 6919 Fix Gtk/Qt builds for PassOwnPtr 6920 6921 * platform/graphics/cairo/ImageCairo.cpp: 6922 (WebCore::Image::drawPattern): Use an OwnPtr<ImageBuffer> 6923 instead of an std::auto_ptr<ImageBuffer> to store the result of 6924 ImageBuffer::create() now that it returns a 6925 PassOwnPtr<ImageBuffer>. 6926 * platform/graphics/qt/PathQt.cpp: 6927 (WebCore::Path::strokeContains): Ditto. 6928 (WebCore::Path::strokeBoundingRect): Ditto. 6929 6930 2009-05-23 David Kilzer <ddkilzer (a] apple.com> 6931 6932 Part 2 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr 6933 6934 <https://bugs.webkit.org/show_bug.cgi?id=25495> 6935 6936 Reviewed by Oliver Hunt. 6937 6938 No test cases added since there is no change in behavior. 6939 6940 * WebCore.base.exp: Updated export for 6941 HistoryItem::setRedirectURLs() which now takes a PassOwnPtr. 6942 * dom/Node.cpp: 6943 (WebCore::Node::childNodes): Use NodeListsNodeData::create() 6944 instead of new NodeListsNodeData. 6945 (WebCore::Node::registerDynamicNodeList): Ditto. 6946 (WebCore::Node::getElementsByTagNameNS): Ditto. 6947 (WebCore::Node::getElementsByName): Ditto. 6948 (WebCore::Node::getElementsByClassName): Ditto. 6949 * dom/NodeRareData.h: 6950 (WebCore::NodeListsNodeData::create): Added. Implements 6951 create() pattern popularized by RefCounted classes. 6952 (WebCore::NodeListsNodeData::NodeListsNodeData): Declared 6953 private constructor. 6954 (WebCore::NodeRareData::setNodeLists): Now takes a PassOwnPtr<> 6955 instead of an auto_ptr<>. 6956 * history/HistoryItem.cpp: 6957 (WebCore::HistoryItem::setRedirectURLs): Ditto. 6958 * history/HistoryItem.h: 6959 (WebCore::HistoryItem::setRedirectURLs): Ditto. 6960 * html/CanvasRenderingContext2D.cpp: 6961 (WebCore::CanvasRenderingContext2D::drawTextInternal): Use 6962 OwnPtr<> instead of auto_ptr<> for stack variable. 6963 * html/HTMLCanvasElement.cpp: 6964 (WebCore::HTMLCanvasElement::createImageBuffer): Updated to use 6965 assignment operator now that ImageBuffer::create() returns a 6966 PassOwnPtr<>. 6967 * loader/EmptyClients.h: 6968 (WebCore::EmptyChromeClient::createHTMLParserQuirks): Return a 6969 PassOwnPtr<> instead of a raw HTMLParserQuirks pointer. 6970 * page/ChromeClient.h: 6971 (WebCore::ChromeClient::createHTMLParserQuirks): Ditto. 6972 * platform/graphics/GeneratedImage.cpp: 6973 (WebCore::GeneratedImage::drawPattern): Use OwnPtr<> instead of 6974 auto_ptr<> for stack variable. 6975 * platform/graphics/ImageBuffer.h: 6976 (WebCore::ImageBuffer::create): Return PassOwnPtr<> instead of 6977 auto_ptr<>. Use OwnPtr<> instead of auto_ptr<> for stack 6978 variable. 6979 * platform/mac/ScrollbarThemeMac.mm: 6980 (WebCore::ScrollbarThemeMac::paint): Use OwnPtr<> instead of 6981 auto_ptr<> for stack variable. 6982 * platform/text/TextCodec.h: 6983 (WebCore::NewTextCodecFunction): Return PassOwnPtr<> instead of 6984 auto_ptr<>. 6985 * platform/text/TextCodecICU.cpp: 6986 (WebCore::newTextCodecICU): Ditto. 6987 * platform/text/TextCodecLatin1.cpp: 6988 (WebCore::newStreamingTextDecoderWindowsLatin1): Ditto. 6989 * platform/text/TextCodecUTF16.cpp: 6990 (WebCore::newStreamingTextDecoderUTF16LE): Ditto. 6991 (WebCore::newStreamingTextDecoderUTF16BE): Ditto. 6992 * platform/text/TextCodecUserDefined.cpp: 6993 (WebCore::newStreamingTextDecoderUserDefined): Ditto. 6994 * platform/text/TextEncodingRegistry.cpp: 6995 (WebCore::newTextCodec): Ditto. 6996 * platform/text/TextEncodingRegistry.h: 6997 (WebCore::newTextCodec): Ditto. 6998 * platform/text/mac/TextCodecMac.cpp: 6999 (WebCore::newTextCodecMac): Ditto. 7000 * rendering/RenderBoxModelObject.cpp: 7001 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Use 7002 OwnPtr<> instead of auto_ptr<> for stack variable. 7003 * svg/SVGMaskElement.cpp: 7004 (WebCore::SVGMaskElement::drawMaskerContent): Ditto. Return 7005 OwnPtr<> instead of auto_ptr<>. 7006 * svg/SVGMaskElement.h: 7007 (WebCore::SVGMaskElement::drawMaskerContent): Return OwnPtr<> 7008 instead of auto_ptr<>. 7009 * svg/SVGPatternElement.cpp: 7010 (WebCore::SVGPatternElement::buildPattern): Use OwnPtr<> instead 7011 of auto_ptr<> for stack variable. 7012 * svg/graphics/SVGImage.cpp: 7013 (WebCore::SVGImage::nativeImageForCurrentFrame): Updated to use 7014 assignment operator now that ImageBuffer::create() returns a 7015 PassOwnPtr<>. 7016 * svg/graphics/SVGPaintServerGradient.cpp: 7017 (WebCore::createMaskAndSwapContextForTextGradient): Use OwnPtr<> 7018 instead of auto_ptr<> for stack variable. 7019 * svg/graphics/SVGPaintServerPattern.cpp: 7020 (WebCore::SVGPaintServerPattern::setTile): Updated to take a 7021 PassOwnPtr<> instead of an auto_ptr<>. 7022 (WebCore::SVGPaintServerPattern::setup): Use OwnPtr<> instead of 7023 auto_ptr<> for stack variable. 7024 * svg/graphics/SVGPaintServerPattern.h: 7025 (WebCore::SVGPaintServerPattern::setTile): Updated to take a 7026 PassOwnPtr<> instead of an auto_ptr<>. 7027 * svg/graphics/SVGResourceMasker.cpp: 7028 (WebCore::SVGResourceMasker::applyMask): Updated to use 7029 assignment operator now that SVGMaskElement::drawMaskerContent() 7030 returns a PassOwnPtr<>. Use OwnPtr<> instead of auto_ptr<> for 7031 stack variable. 7032 7033 2009-05-23 David Kilzer <ddkilzer (a] apple.com> 7034 7035 Part 1 of 2: Bug 25495: Implement PassOwnPtr and replace uses of std::auto_ptr 7036 7037 <https://bugs.webkit.org/show_bug.cgi?id=25495> 7038 7039 Reviewed by Oliver Hunt. 7040 7041 * ForwardingHeaders/wtf/OwnPtrCommon.h: Added. 7042 * ForwardingHeaders/wtf/PassOwnPtr.h: Added. 7043 * WebCore.vcproj/WebCore.vcproj: Added OwnPtrCommon.h and 7044 PassOwnPtr.h. 7045 7046 2009-05-23 David Kilzer <ddkilzer (a] apple.com> 7047 7048 Fix Mac builds by backing out r44093 7049 7050 * bindings/js/JSCustomPositionCallback.cpp: 7051 * bindings/js/JSCustomPositionCallback.h: 7052 * bindings/js/JSCustomPositionErrorCallback.cpp: 7053 * bindings/js/JSCustomPositionErrorCallback.h: 7054 * bindings/js/JSGeolocationCustom.cpp: 7055 * page/Geolocation.cpp: 7056 * page/Geolocation.idl: 7057 * page/Geoposition.cpp: 7058 * page/Geoposition.h: 7059 * page/Geoposition.idl: 7060 * page/Navigator.cpp: 7061 (WebCore::Navigator::disconnectFrame): 7062 (WebCore::Navigator::geolocation): 7063 * page/PositionError.idl: 7064 * platform/GeolocationService.cpp: 7065 (WebCore::GeolocationService::create): 7066 7067 2009-05-23 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 7068 7069 Reviewed by Eric Seidel. 7070 7071 Add GEOLOCATION guards around Geolocation API code 7072 https://bugs.webkit.org/show_bug.cgi?id=25756 7073 7074 * bindings/js/JSCustomPositionCallback.cpp: 7075 * bindings/js/JSCustomPositionCallback.h: 7076 * bindings/js/JSCustomPositionErrorCallback.cpp: 7077 * bindings/js/JSCustomPositionErrorCallback.h: 7078 * bindings/js/JSGeolocationCustom.cpp: 7079 * page/Geolocation.cpp: 7080 * page/Geolocation.idl: 7081 * page/Geoposition.cpp: 7082 * page/Geoposition.h: 7083 * page/Geoposition.idl: 7084 * page/Navigator.cpp: 7085 (WebCore::Navigator::disconnectFrame): 7086 (WebCore::Navigator::geolocation): 7087 * page/PositionError.idl: 7088 * platform/GeolocationService.cpp: 7089 7090 2009-05-23 David Kilzer <ddkilzer (a] apple.com> 7091 7092 Rename startupdateStyleIfNeededDispatcher to startUpdateStyleIfNeededDispatcher 7093 7094 In r42377, startUpdateRenderingDispatcher() was renamed to 7095 startupdateStyleIfNeededDispatcher(), but the camelCase "U" was 7096 dropped. This change restores it. 7097 7098 * WebCore.order: 7099 * page/animation/AnimationController.cpp: 7100 (WebCore::AnimationControllerPrivate::startUpdateStyleIfNeededDispatcher): 7101 (WebCore::AnimationControllerPrivate::addEventToDispatch): 7102 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch): 7103 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): 7104 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): 7105 * page/animation/AnimationControllerPrivate.h: 7106 7107 2009-05-23 Holger Hans Peter Freyther <zecke (a] selfish.org> 7108 7109 Unreviewed build-fix for Qt. Disable SVG Filters. 7110 7111 SVG Filters can not be built right now and Qt should not have 7112 them enabled anyway as they do not carry out any filtering. 7113 7114 * WebCore.pro: 7115 7116 2009-05-23 Dirk Schulze <krit (a] webkit.org> 7117 7118 Unreviewed build-fix for gtk. Remove source input files 7119 for SVG filter system from the build for the moment and 7120 add them later again. 7121 7122 * GNUmakefile.am: 7123 7124 2009-05-23 Dirk Schulze <krit (a] webkit.org> 7125 7126 Reviewed by Eric Seidel. 7127 7128 WebKit needs cross-platform filter system 7129 [https://bugs.webkit.org/show_bug.cgi?id=19991] 7130 7131 Preparing Filter primitves for the new filter system. 7132 7133 No testcases were added. SVG filters are off by default. 7134 7135 * GNUmakefile.am: 7136 * platform/graphics/filters/FEBlend.cpp: 7137 (WebCore::FEBlend::apply): 7138 * platform/graphics/filters/FEBlend.h: 7139 * platform/graphics/filters/FEColorMatrix.cpp: 7140 (WebCore::FEColorMatrix::apply): 7141 * platform/graphics/filters/FEColorMatrix.h: 7142 * platform/graphics/filters/FEComponentTransfer.cpp: 7143 (WebCore::FEComponentTransfer::apply): 7144 * platform/graphics/filters/FEComponentTransfer.h: 7145 * platform/graphics/filters/FEComposite.cpp: 7146 (WebCore::FEComposite::apply): 7147 * platform/graphics/filters/FEComposite.h: 7148 * svg/Filter.h: 7149 * svg/FilterBuilder.h: 7150 (WebCore::FilterBuilder::lastFilter): 7151 * svg/FilterEffect.cpp: 7152 (WebCore::FilterEffect::FilterEffect): 7153 * svg/FilterEffect.h: 7154 (WebCore::FilterEffect::xBoundingBoxMode): 7155 (WebCore::FilterEffect::setXBoundingBoxMode): 7156 (WebCore::FilterEffect::yBoundingBoxMode): 7157 (WebCore::FilterEffect::setYBoundingBoxMode): 7158 (WebCore::FilterEffect::widthBoundingBoxMode): 7159 (WebCore::FilterEffect::setWidthBoundingBoxMode): 7160 (WebCore::FilterEffect::heightBoundingBoxMode): 7161 (WebCore::FilterEffect::setHeightBoundingBoxMode): 7162 (WebCore::FilterEffect::subRegion): 7163 (WebCore::FilterEffect::setSubRegion): 7164 (WebCore::FilterEffect::resultImage): 7165 (WebCore::FilterEffect::setEffectBuffer): 7166 * svg/graphics/filters/SVGFEConvolveMatrix.cpp: 7167 (WebCore::FEConvolveMatrix::apply): 7168 * svg/graphics/filters/SVGFEConvolveMatrix.h: 7169 * svg/graphics/filters/SVGFEDiffuseLighting.cpp: 7170 (WebCore::FEDiffuseLighting::apply): 7171 * svg/graphics/filters/SVGFEDiffuseLighting.h: 7172 * svg/graphics/filters/SVGFEDisplacementMap.cpp: 7173 (WebCore::FEDisplacementMap::apply): 7174 * svg/graphics/filters/SVGFEDisplacementMap.h: 7175 * svg/graphics/filters/SVGFEFlood.cpp: 7176 (WebCore::FEFlood::apply): 7177 * svg/graphics/filters/SVGFEFlood.h: 7178 * svg/graphics/filters/SVGFEGaussianBlur.cpp: 7179 (WebCore::FEGaussianBlur::apply): 7180 * svg/graphics/filters/SVGFEGaussianBlur.h: 7181 * svg/graphics/filters/SVGFEImage.cpp: 7182 (WebCore::FEImage::apply): 7183 * svg/graphics/filters/SVGFEImage.h: 7184 * svg/graphics/filters/SVGFEMerge.cpp: 7185 (WebCore::FEMerge::apply): 7186 * svg/graphics/filters/SVGFEMerge.h: 7187 * svg/graphics/filters/SVGFEMorphology.cpp: 7188 (WebCore::FEMorphology::apply): 7189 * svg/graphics/filters/SVGFEMorphology.h: 7190 * svg/graphics/filters/SVGFEOffset.cpp: 7191 (WebCore::FEOffset::apply): 7192 * svg/graphics/filters/SVGFEOffset.h: 7193 * svg/graphics/filters/SVGFESpecularLighting.cpp: 7194 (WebCore::FESpecularLighting::apply): 7195 * svg/graphics/filters/SVGFESpecularLighting.h: 7196 * svg/graphics/filters/SVGFETile.cpp: 7197 (WebCore::FETile::apply): 7198 * svg/graphics/filters/SVGFETile.h: 7199 * svg/graphics/filters/SVGFETurbulence.cpp: 7200 (WebCore::FETurbulence::apply): 7201 * svg/graphics/filters/SVGFETurbulence.h: 7202 7203 2009-05-22 Dirk Schulze <krit (a] webkit.org> 7204 7205 Unreviewed build-fix for gtk. Breakage caused by a wrong call of ImageBuffer. 7206 7207 * platform/graphics/cairo/ImageCairo.cpp: 7208 (WebCore::Image::drawPattern): 7209 7210 2009-05-22 Dirk Schulze <vbs85 (a] gmx.de> 7211 7212 Reviewed by Eric Seidel. 7213 7214 Added the use of tileRect() for a correct drawing of 7215 border-images. 7216 7217 Testcases for border-image are in fast/borders like 7218 border-image-01.html and will be activated for cairo, once 7219 gtk supports pixel tests. 7220 7221 https://bugs.webkit.org/show_bug.cgi?id=19652 7222 [CAIRO] wrong drawing of border-image 7223 7224 * platform/graphics/cairo/ImageCairo.cpp: 7225 (WebCore::Image::drawPattern): 7226 7227 2009-05-22 Holger Hans Peter Freyther <zecke (a] selfish.org> 7228 7229 Reviewed by Maciej Stachowiak. 7230 7231 https://bugs.webkit.org/show_bug.cgi?id=25684 7232 7233 Ask the Scrollbar for the orientation. 7234 7235 Use Scrollbar::orientation to figure out the 7236 direction of scrolling. 7237 7238 * platform/ScrollView.cpp: 7239 (WebCore::ScrollView::valueChanged): 7240 7241 2009-05-22 Darin Adler <darin (a] apple.com> 7242 7243 Reviewed by Dan Bernstein. 7244 7245 <rdar://problem/6916082> Incorrect handling of % as CSS value. 7246 7247 Test: fast/css/percent-character-as-value.html 7248 7249 * css/CSSGrammar.y: Make a stray % character reliably cause 7250 CSS parsing to succeed, but the CSS value to be ignored because 7251 of incorrect type. A type of 0 has this effect. 7252 7253 2009-05-22 Brent Fulgham <bfulgham (a] webkit.org> 7254 7255 Reviewed by Adam Roben. 7256 7257 https://bugs.webkit.org/show_bug.cgi?id=25971 7258 Correct a handful of build errors in the Windows Cairo variant 7259 due to missing VIDEO support. 7260 7261 * WebCore.vcproj/WebCore.vcproj: Exclude RenderMediaControls for 7262 the Cairo-based Windows target. 7263 * rendering/RenderThemeWin.cpp: Avoid #include of RenderMediaControls 7264 for non-VIDEO builds. 7265 7266 2009-05-22 David Kilzer <ddkilzer (a] apple.com> 7267 7268 One <limits> is enough 7269 7270 * html/HTMLMediaElement.cpp: Removed duplicate #include <limits>. 7271 7272 2009-05-22 Jon Honeycutt <jhoneycutt (a] apple.com> 7273 7274 <rdar://problem/6915957> REGRESSION: Hang when leaving page with VLC 7275 plug-in 7276 7277 Reviewed by Steve Falkenburg. 7278 7279 * plugins/win/PluginPackageWin.cpp: 7280 (WebCore::PluginPackage::determineQuirks): 7281 Look for the VLC plug-in's new name. 7282 7283 2009-05-22 Adam Barth <abarth (a] webkit.org> 7284 7285 Reviewed by Darin Fisher. 7286 7287 https://bugs.webkit.org/show_bug.cgi?id=25966 7288 7289 Remove redudant member from Chromium's ResourceRequest. We already 7290 have this data in the cross-platform ResourceRequestBase. Also, rename 7291 ChromiumBridge parameter to be consistant with the new name for this 7292 piece of data. 7293 7294 * platform/chromium/ChromiumBridge.h: 7295 * platform/network/chromium/ResourceRequest.h: 7296 7297 2009-05-22 Kevin Watters <kevinwatters (a] gmail.com> 7298 7299 Reviewed by Kevin Ollivier. 7300 7301 Only account for overhang for multi-character strings. 7302 7303 https://bugs.webkit.org/show_bug.cgi?id=25961 7304 7305 * platform/wx/wxcode/win/fontprops.cpp: 7306 (GetTextExtent): 7307 7308 2009-05-22 Kevin Ollivier <kevino (a] theolliviers.com> 7309 7310 wx build fix. Switch to CURL cookies so we can benefit from API updates. 7311 7312 * platform/wx/TemporaryLinkStubs.cpp: 7313 * webcore-wx.bkl: 7314 7315 2009-05-22 Peter Kasting <pkasting (a] google.com> 7316 7317 Reviewed by Darin Fisher. 7318 7319 https://bugs.webkit.org/show_bug.cgi?id=25709 part one 7320 Indent contents of namespaces in header files, to comply with the 7321 style guide. No functional change. 7322 7323 * platform/image-decoders/ImageDecoder.h: 7324 (WebCore::RGBA32Buffer::): 7325 (WebCore::RGBA32Buffer::RGBA32Buffer): 7326 (WebCore::RGBA32Buffer::clear): 7327 (WebCore::RGBA32Buffer::bytes): 7328 (WebCore::RGBA32Buffer::rect): 7329 (WebCore::RGBA32Buffer::height): 7330 (WebCore::RGBA32Buffer::status): 7331 (WebCore::RGBA32Buffer::duration): 7332 (WebCore::RGBA32Buffer::disposalMethod): 7333 (WebCore::RGBA32Buffer::hasAlpha): 7334 (WebCore::RGBA32Buffer::setRect): 7335 (WebCore::RGBA32Buffer::ensureHeight): 7336 (WebCore::RGBA32Buffer::setStatus): 7337 (WebCore::RGBA32Buffer::setDuration): 7338 (WebCore::RGBA32Buffer::setDisposalMethod): 7339 (WebCore::RGBA32Buffer::setHasAlpha): 7340 (WebCore::RGBA32Buffer::setRGBA): 7341 (WebCore::ImageDecoder::m_failed): 7342 (WebCore::ImageDecoder::~ImageDecoder): 7343 (WebCore::ImageDecoder::setData): 7344 (WebCore::ImageDecoder::size): 7345 (WebCore::ImageDecoder::frameCount): 7346 (WebCore::ImageDecoder::repetitionCount): 7347 (WebCore::ImageDecoder::supportsAlpha): 7348 (WebCore::ImageDecoder::failed): 7349 (WebCore::ImageDecoder::setFailed): 7350 (WebCore::ImageDecoder::clearFrameBufferCache): 7351 * platform/image-decoders/bmp/BMPImageDecoder.h: 7352 (WebCore::BMPImageDecoder::filenameExtension): 7353 * platform/image-decoders/gif/GIFImageDecoder.h: 7354 (WebCore::GIFImageDecoder::filenameExtension): 7355 (WebCore::GIFImageDecoder::frameDurationAtIndex): 7356 (WebCore::GIFImageDecoder::): 7357 * platform/image-decoders/ico/ICOImageDecoder.h: 7358 (WebCore::ICOImageDecoder::filenameExtension): 7359 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 7360 (WebCore::JPEGImageDecoder::filenameExtension): 7361 (WebCore::JPEGImageDecoder::supportsAlpha): 7362 (WebCore::JPEGImageDecoder::reader): 7363 (WebCore::JPEGImageDecoder::setSize): 7364 * platform/image-decoders/png/PNGImageDecoder.h: 7365 (WebCore::PNGImageDecoder::filenameExtension): 7366 (WebCore::PNGImageDecoder::reader): 7367 (WebCore::PNGImageDecoder::decodingFailed): 7368 * platform/image-decoders/xbm/XBMImageDecoder.h: 7369 (WebCore::XBMImageDecoder::filenameExtension): 7370 7371 2009-05-22 Dominik Rttsches <dominik.roettsches (a] access-company.com> 7372 7373 Reviewed by Gustavo Noronha. 7374 7375 https://bugs.webkit.org/show_bug.cgi?id=15914 7376 [GTK] Implement Unicode functionality using GLib 7377 7378 Minor changes that allow building a hybrid version of WebKit 7379 that has WTF Unicode backend based on GLib functions while 7380 text codecs and TextBreakIterator remain based on ICU. 7381 7382 Fixed some includes that were assuming a WTF ICU backend and 7383 introduced temporary usage of WTF_USE_GLIB_ICU_UNICODE_HYBRID 7384 macro. 7385 7386 * platform/ThreadGlobalData.cpp: 7387 (WebCore::ThreadGlobalData::ThreadGlobalData): 7388 (WebCore::ThreadGlobalData::~ThreadGlobalData): 7389 * platform/ThreadGlobalData.h: 7390 * platform/text/TextBoundariesICU.cpp: 7391 * platform/text/TextCodecICU.h: 7392 * platform/text/TextEncoding.cpp: 7393 (WebCore::TextEncoding::encode): 7394 * platform/text/TextEncodingRegistry.cpp: 7395 (WebCore::buildBaseTextCodecMaps): 7396 (WebCore::extendTextCodecMaps): 7397 7398 2009-05-22 Adam Barth <abarth (a] webkit.org> 7399 7400 Reviewed by Maciej Stachowiak. 7401 7402 https://bugs.webkit.org/show_bug.cgi?id=25955 7403 7404 Remove the policyBaseURL parameter from setCookie. This parameter is 7405 redundant with the document parameter. 7406 7407 * WebCore.base.exp: 7408 * WebCore.order: 7409 * dom/Document.cpp: 7410 (WebCore::Document::setCookie): 7411 * platform/CookieJar.h: 7412 * platform/mac/CookieJar.mm: 7413 (WebCore::setCookies): 7414 * platform/network/chromium/CookieJarChromium.cpp: 7415 (WebCore::setCookies): 7416 * platform/network/curl/CookieJarCurl.cpp: 7417 (WebCore::setCookies): 7418 * platform/network/soup/CookieJarSoup.cpp: 7419 (WebCore::setCookies): 7420 * platform/network/win/CookieJarCFNetWin.cpp: 7421 (WebCore::setCookies): 7422 * platform/network/win/CookieJarWin.cpp: 7423 (WebCore::setCookies): 7424 * platform/qt/CookieJarQt.cpp: 7425 (WebCore::setCookies): 7426 7427 2009-05-22 Adam Barth <abarth (a] webkit.org> 7428 7429 Reviewed by Maciej Stachowiak. 7430 7431 https://bugs.webkit.org/show_bug.cgi?id=25955 7432 7433 Rename policyBaseURL and mainDocumentURL to firstPartyForCookies. The 7434 previous names were confusing and inaccurate. 7435 7436 * WebCore.order: 7437 * dom/Document.cpp: 7438 (WebCore::Document::setCookie): 7439 * dom/Document.h: 7440 (WebCore::Document::firstPartyForCookies): 7441 (WebCore::Document::setFirstPartyForCookies): 7442 * loader/FrameLoader.cpp: 7443 (WebCore::FrameLoader::begin): 7444 (WebCore::FrameLoader::updateFirstPartyForCookies): 7445 (WebCore::FrameLoader::setFirstPartyForCookies): 7446 (WebCore::FrameLoader::open): 7447 (WebCore::FrameLoader::addExtraFieldsToRequest): 7448 (WebCore::FrameLoader::loadResourceSynchronously): 7449 * loader/FrameLoader.h: 7450 * loader/MainResourceLoader.cpp: 7451 (WebCore::MainResourceLoader::willSendRequest): 7452 (WebCore::ResourceRequestBase::adopt): 7453 (WebCore::ResourceRequestBase::copyData): 7454 (WebCore::ResourceRequestBase::firstPartyForCookies): 7455 (WebCore::ResourceRequestBase::setFirstPartyForCookies): 7456 (WebCore::equalIgnoringHeaderFields): 7457 * platform/network/ResourceRequestBase.h: 7458 * platform/network/cf/ResourceRequestCFNet.cpp: 7459 (WebCore::ResourceRequest::doUpdatePlatformRequest): 7460 (WebCore::ResourceRequest::doUpdateResourceRequest): 7461 * platform/network/chromium/CookieJarChromium.cpp: 7462 (WebCore::setCookies): 7463 * platform/network/mac/ResourceRequestMac.mm: 7464 (WebCore::ResourceRequest::doUpdateResourceRequest): 7465 (WebCore::ResourceRequest::doUpdatePlatformRequest): 7466 * platform/network/ResourceRequestBase.cpp: 7467 (WebCore::ResourceRequestBase::firstPartyForCookies): 7468 (WebCore::ResourceRequestBase::setFirstPartyForCookies): 7469 * platform/network/chromium/CookieJarChromium.cpp: 7470 (WebCore::setCookies): 7471 * platform/network/curl/CookieJarCurl.cpp: 7472 (WebCore::setCookies): 7473 * platform/network/soup/CookieJarSoup.cpp: 7474 (WebCore::setCookies): 7475 * platform/network/win/CookieJarCFNetWin.cpp: 7476 (WebCore::setCookies): 7477 * platform/network/win/CookieJarWin.cpp: 7478 (WebCore::setCookies): 7479 * platform/qt/CookieJarQt.cpp: 7480 (WebCore::setCookies): 7481 7482 2009-05-22 Pavel Feldman <pfeldman (a] chromium.org> 7483 7484 Fix the call to editingCancelled to be this._editingCancelled, since 7485 editingCancelled doesn't exist and throws an exception. 7486 7487 <https://bugs.webkit.org/show_bug.cgi?id=24881> 7488 7489 Reviewed by Timothy Hatcher. 7490 7491 * inspector/front-end/ElementsTreeOutline.js: 7492 (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): 7493 7494 2009-05-22 Alexey Proskuryakov <ap (a] webkit.org> 7495 7496 Reviewed by Eric Seidel. 7497 7498 https://bugs.webkit.org/show_bug.cgi?id=25928 7499 Several errors detected by cppcheck 7500 7501 Fix all (the only one) problem in cross-platform code found by the tool. Port maintainers 7502 should take a look at other reports. 7503 7504 * css/CSSParser.cpp: (WebCore::CSSParser::addProperty): Don't leak the property even if there 7505 are billions of those. 7506 7507 2009-05-22 Shinichiro Hamaji <hamaji (a] google.com> 7508 7509 Reviewed by Oliver Hunt. 7510 7511 Remove optimization path alpha=0 case from GraphicContext(CG|Skia). 7512 This optimization doesn't make sense for some composite mode (e.g., 'copy' operation). 7513 7514 https://bugs.webkit.org/show_bug.cgi?id=25956 7515 7516 * platform/graphics/cg/GraphicsContextCG.cpp: 7517 (WebCore::GraphicsContext::drawRect): 7518 (WebCore::GraphicsContext::drawLine): 7519 (WebCore::GraphicsContext::strokeArc): 7520 (WebCore::GraphicsContext::drawConvexPolygon): 7521 (WebCore::GraphicsContext::fillPath): 7522 (WebCore::GraphicsContext::strokePath): 7523 (WebCore::GraphicsContext::fillRect): 7524 (WebCore::GraphicsContext::fillRoundedRect): 7525 (WebCore::GraphicsContext::strokeRect): 7526 * platform/graphics/skia/GraphicsContextSkia.cpp: 7527 (WebCore::GraphicsContext::drawConvexPolygon): 7528 (WebCore::GraphicsContext::drawEllipse): 7529 (WebCore::GraphicsContext::fillPath): 7530 (WebCore::GraphicsContext::fillRect): 7531 (WebCore::GraphicsContext::strokePath): 7532 (WebCore::GraphicsContext::strokeRect): 7533 7534 2009-05-22 Xan Lopez <xlopez (a] igalia.com> 7535 7536 Unreviewed build fix. 7537 7538 Revert the whole thing, since we can't figure out a way to make it 7539 work in all platforms. 7540 7541 * rendering/SVGInlineTextBox.cpp: 7542 (WebCore::pathForDecoration): 7543 * svg/SVGLength.cpp: 7544 (WebCore::SVGLength::PercentageOfViewport): 7545 7546 2009-05-22 Xan Lopez <xlopez (a] igalia.com> 7547 7548 Try to fix Windows build. 7549 7550 Apparently it can't tell if '1.0f' is float or double, so cast to 7551 float. 7552 7553 * rendering/SVGInlineTextBox.cpp: 7554 (WebCore::pathForDecoration): 7555 7556 2009-05-22 Xan Lopez <xlopez (a] igalia.com> 7557 7558 Try to fix breakage from the previous patch. 7559 7560 * rendering/SVGInlineTextBox.cpp: 7561 (WebCore::pathForDecoration): 7562 * svg/SVGLength.cpp: 7563 (WebCore::SVGLength::PercentageOfViewport): 7564 7565 2009-05-15 Fridrich Strba <fridrich.strba (a] bluewin.ch> 7566 7567 Reviewed by Maciej Stachowiak. 7568 7569 https://bugs.webkit.org/show_bug.cgi?id=25805 7570 In debug build, mingw win32 build has problems with powf 7571 7572 Change C-style calls to powf and sqrtf to C++-style calls to 7573 overloaded pow and sqrt. This solves also a problem with mingw 7574 compiler during the debug build. 7575 7576 * rendering/SVGInlineTextBox.cpp: 7577 (WebCore::pathForDecoration): 7578 * svg/SVGLength.cpp: 7579 (WebCore::SVGLength::PercentageOfViewport): 7580 7581 2009-05-21 Stephanie Lewis <slewis (a] apple.com> 7582 7583 Reviewed by Mark Rowe. 7584 7585 <rdar://problem/6913680> Update image caching options. 7586 Disable extra ImageIO cache because we already handle caching decoded image data. 7587 7588 * platform/graphics/cg/ImageSourceCG.cpp: 7589 (WebCore::imageSourceOptions): 7590 7591 2009-05-21 Albert J. Wong <ajwong (a] chromium.org> 7592 7593 Reviewed by Eric Seidel. 7594 7595 Bug 25903: Create a default UI theme for media controls in Chromium. 7596 https://bugs.webkit.org/show_bug.cgi?id=25903 7597 7598 Implement a default UI for chromium. Add a style sheet for Chromium 7599 media controls with good defaults and implemented basic draw functions 7600 for play/pause & mute buttons. 7601 7602 * css/mediaControlsChromium.css: Added. 7603 * rendering/RenderThemeChromiumLinux.cpp: 7604 (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet): Export 7605 our custom media controls style sheet. 7606 (WebCore::RenderThemeChromiumLinux::paintMediaButtonInternal): Paint 7607 buttons respecting chromium media controls color scheme. 7608 (WebCore::RenderThemeChromiumLinux::paintMediaPlayButton): Paint logic 7609 specific to play/pause button. 7610 (WebCore::RenderThemeChromiumLinux::paintMediaMuteButton): Paint 7611 specific to mute button. 7612 * rendering/RenderThemeChromiumLinux.h: Appropriate header changes. 7613 * rendering/RenderThemeChromiumWin.cpp: 7614 (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet): Export 7615 our custom media controls style sheet. 7616 (WebCore::RenderThemeChromiumWin::paintMediaButtonInternal): Paint 7617 buttons respecting chromium media controls color scheme. 7618 (WebCore::RenderThemeChromiumWin::paintMediaPlayButton): Paint logic 7619 specific to play/pause button. 7620 (WebCore::RenderThemeChromiumWin::paintMediaMuteButton): Paint specific 7621 to mute button. 7622 (WebCore::RenderThemeChromiumWin::setDefaultFontSize): Appropriate 7623 header changes. 7624 * rendering/RenderThemeChromiumWin.h: 7625 7626 2009-05-21 Kevin Watters <kevinwatters (a] gmail.com> 7627 7628 Reviewed by Kevin Ollivier. 7629 7630 When stripping the query from a file:// URL, do not leave a trailing question mark. 7631 7632 https://bugs.webkit.org/show_bug.cgi?id=25940 7633 7634 * platform/network/curl/ResourceHandleManager.cpp: 7635 (WebCore::ResourceHandleManager::initializeHandle): 7636 7637 2009-05-21 Kevin Watters <kevinwatters (a] gmail.com> 7638 7639 Reviewed by Kevin Ollivier. 7640 7641 Notify ImageObserver::didDraw to help the cache purge alive resources. 7642 7643 https://bugs.webkit.org/show_bug.cgi?id=25942 7644 7645 * platform/graphics/wx/ImageWx.cpp: 7646 (WebCore::BitmapImage::draw): 7647 (WebCore::BitmapImage::drawPattern): 7648 7649 2009-05-21 Evan Martin <evan (a] chromium.org> 7650 7651 Reviewed by Eric Seidel. 7652 7653 Flesh out font fallback for Chromium's Skia port. 7654 getLastResortFallbackFont should fall back on well-known fonts. 7655 https://bugs.webkit.org/show_bug.cgi?id=25860 7656 7657 * platform/graphics/chromium/FontCacheLinux.cpp: 7658 (WebCore::FontCache::getLastResortFallbackFont): try known font names. 7659 7660 2009-05-21 Dan Bernstein <mitz (a] apple.com> 7661 7662 Reviewed by John Sullivan. 7663 7664 - speculative fix for <rdar://problem/6890716> crash at 7665 FontCache::purgeInactiveFontData + 199 7666 7667 * platform/graphics/FontCache.cpp: 7668 (WebCore::FontCache::purgeInactiveFontData): Deleting a SimpleFontData 7669 can cause releaseFontData() to be called, which modifies 7670 gInactiveFontData. Therefore, avoid deleting SimpleFontData instances 7671 while iterating over gInactiveFontData and delete them afterwards. 7672 7673 2009-05-21 Geoffrey Garen <ggaren (a] apple.com> 7674 7675 Reviewed by Sam Weinig. 7676 7677 Test for <rdar://problem/6910832> | https://bugs.webkit.org/show_bug.cgi?id=25907 7678 Incorrect URL returned to the DOM while the user drags a file 7679 7680 * page/DragController.cpp: 7681 (WebCore::DragController::dragExited): 7682 (WebCore::DragController::tryDHTMLDrag): Don't base our decision on KURL, 7683 since that only looks at the text of the document's URL. Do base our 7684 decision on the securityOrigin(), which knows more about the document's 7685 actual origin. 7686 7687 2009-05-21 Dan Bernstein <mitz (a] apple.com> 7688 7689 Rubber-stamped by Mark Rowe. 7690 7691 - fix https://bugs.webkit.org/show_bug.cgi?id=25947 7692 Assertion failure in FrameLoader::transitionToCommitted on launch in 7693 Safari with r43985 7694 7695 Rolled out r43979. 7696 7697 * platform/MIMETypeRegistry.cpp: 7698 (WebCore::initializeSupportedNonImageMimeTypes): 7699 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 7700 7701 2009-05-21 Sam Weinig <sam (a] webkit.org> 7702 7703 Reviewed by Brady Eidson and Mark Rowe. 7704 7705 Fix for <rdar://problem/6901522> 7706 REGRESSION: Office 2008: Preview with browser is not shown, and Finder window is in the front of Safari 7707 7708 If the NSURLRequest is annotated with a "ForceHTMLMIMEType" property, force 7709 the MIME type to be text/html. 7710 7711 * platform/network/mac/ResourceHandleMac.mm: 7712 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 7713 7714 2009-05-21 Kevin Ollivier <kevino (a] theolliviers.com> 7715 7716 Blind windows fix after last commit. 7717 7718 * platform/Logging.cpp: 7719 (WebCore::getChannelFromName): 7720 7721 2009-05-21 Kevin Watters <kevinwatters (a] gmail.com> 7722 7723 Reviewed by Kevin Ollivier. 7724 7725 Use an environment variable to control which logs are on and off. 7726 Also, make a generic function for translating channel name to its log. 7727 7728 https://bugs.webkit.org/show_bug.cgi?id=25936 7729 7730 * platform/Logging.cpp: 7731 (WebCore::getChannelFromName): 7732 * platform/Logging.h: 7733 * platform/wx/LoggingWx.cpp: 7734 (WebCore::InitializeLoggingChannelsIfNecessary): 7735 7736 2009-05-21 David Levin <levin (a] chromium.org> 7737 7738 Reviewed by Darin Fisher. 7739 7740 Bug 25946: Chromium needs MIMETypeRegistry::getMediaMIMETypeForExtension implementation. 7741 https://bugs.webkit.org/show_bug.cgi?id=25946 7742 7743 A very simple implementation to keep it working. A bug has been filed in the chromium db 7744 (http://code.google.com/p/chromium/issues/detail?id=12441) to investigate doing something more 7745 complete. 7746 7747 * platform/chromium/MimeTypeRegistryChromium.cpp: 7748 (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): 7749 7750 2009-05-20 Siddhartha Chattopadhyaya <sidchat (a] google.com> 7751 7752 Reviewed by Justin Garcia. 7753 7754 Add automatic spell correction support in WebKit 7755 7756 https://bugs.webkit.org/show_bug.cgi?id=24953 7757 7758 * editing/Editor.cpp: 7759 (WebCore::findFirstMisspellingInRange): 7760 (WebCore::Editor::advanceToNextMisspelling): 7761 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 7762 (WebCore::markAllMisspellingsInRange): 7763 (WebCore::markMisspellingsOrBadGrammar): 7764 (WebCore::Editor::markMisspellings): 7765 (WebCore::Editor::markBadGrammar): 7766 (WebCore::Editor::markMisspellingsAndBadGrammar): 7767 * editing/Editor.h: 7768 * loader/EmptyClients.h: 7769 (WebCore::EmptyEditorClient::getAutoCorrectSuggestionForMisspelledWord): 7770 * page/EditorClient.h: 7771 7772 2009-05-21 Christian Dywan <christian (a] twotoasts.de> 7773 7774 Reviewed by Darin Adler. 7775 7776 Text files which have sub MIME types are treated as not displayable 7777 http://bugs.webkit.org/show_bug.cgi?id=24903 7778 7779 * platform/MIMETypeRegistry.cpp: 7780 (WebCore::initializeSupportedNonImageMimeTypes): 7781 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): Regard any 7782 MIME type beginning with "text/" as supported and remove all "text/" 7783 types from the list. 7784 7785 2009-05-21 Alexey Proskuryakov <ap (a] webkit.org> 7786 7787 Reviewed by David Kilzer. 7788 7789 https://bugs.webkit.org/show_bug.cgi?id=25890 7790 Implement Network logging channel on Mac 7791 7792 * platform/network/mac/ResourceHandleMac.mm: 7793 (WebCore::ResourceHandle::~ResourceHandle): 7794 (WebCore::ResourceHandle::start): 7795 (WebCore::ResourceHandle::cancel): 7796 (WebCore::ResourceHandle::setDefersLoading): 7797 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 7798 (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]): 7799 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): 7800 (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): 7801 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): 7802 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): 7803 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): 7804 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): 7805 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): 7806 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): 7807 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 7808 Added logging for async requests (as these are most interesting). 7809 7810 2009-05-21 Eric Carlson <eric.carlson (a] apple.com> 7811 7812 Reviewed by David Kilzer. 7813 7814 <rdar://problem/6902197> WebCore doesn't know about all of the MIME types supported by QTKit 7815 7816 Add a static table to map from some common file extensions to their MIME types so it 7817 is possible to detect support even when the platform mapping is incomplete. Use the 7818 table to lookup types not found by UTI on the OSX, and when looking for a media engine 7819 with a generic or missing type. 7820 7821 * platform/MIMETypeRegistry.cpp: 7822 (WebCore::initializeMediaTypeMaps): New, initialize the mediaMIMETypeForExtensionMap. 7823 (WebCore::MIMETypeRegistry::getMediaMIMETypeForExtension): New. Look for the specified 7824 MIME type in the static mapping table if the platform specific getMIMETypeForExtension 7825 doesn't find a match. 7826 * platform/MIMETypeRegistry.h: Declare getMediaMIMETypeForExtension. 7827 7828 * platform/graphics/MediaPlayer.cpp: 7829 (WebCore::MediaPlayer::load): When the type passed is empty, "application/octet-stream", or 7830 "text/plain", try to look it up based on the file extension with getMediaMIMETypeForExtension. 7831 7832 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 7833 (WebCore::addFileTypesToCache): See if getMediaMIMETypeForExtension can map from file extension 7834 to MIME type if UTI fails. 7835 7836 2009-05-21 Eric Seidel <eric (a] webkit.org> 7837 7838 Reviewed by Alexey Proskuryakov. 7839 7840 Clean up DragController 7841 https://bugs.webkit.org/show_bug.cgi?id=25926 7842 7843 I renamed m_document to m_documentUnderMouse to better document what it does 7844 I could call it m_lastDocumentUnderMouse to be most-accurate, but this seemed 7845 long enough. 7846 7847 I also saw copy/paste code involving clearing the selection when moving out of 7848 one document and into another. I moved that code into a function called 7849 mouseMovedIntoDocument. 7850 7851 I also got rid of a couple needless null-checks after confirming via source 7852 inspection they were not ever possible. 7853 In Mac WebKit it's not possible to have a Page that doesn't have a mainFrame() 7854 I left an ASSERT(m_page->mainFrame()) in case some other port ever violates this. 7855 It's also not possible to return a document from documentAtPoint that is not 7856 in a frame (as such a document would not be rendered). 7857 7858 No functional changes, thus no tests. 7859 7860 * page/DragController.cpp: 7861 (WebCore::DragController::DragController): 7862 (WebCore::DragController::dragIsMove): 7863 (WebCore::DragController::dragExited): 7864 (WebCore::DragController::performDrag): 7865 (WebCore::DragController::mouseMovedIntoDocument): 7866 (WebCore::DragController::dragEnteredOrUpdated): 7867 (WebCore::DragController::tryDocumentDrag): 7868 (WebCore::DragController::operationForLoad): 7869 (WebCore::DragController::concludeEditDrag): 7870 (WebCore::DragController::canProcessDrag): 7871 (WebCore::DragController::tryDHTMLDrag): 7872 (WebCore::DragController::placeDragCaret): 7873 * page/DragController.h: 7874 (WebCore::DragController::documentUnderMouse): 7875 7876 2009-05-21 Eric Seidel <eric (a] webkit.org> 7877 7878 Reviewed by Alexey Proskuryakov. 7879 7880 Rename DragController::dragOperation() to sourceDragOperation() for clarity 7881 Remove unused setDragOperation() 7882 7883 There are two times DragOperation is used. The source specifies 7884 what drag operations it supports (in a mask) and the destination 7885 picks a subset of those as DragOperations it supports if a drop were 7886 to occur. I was confused when I first saw this accessor as to which 7887 it meant. It turns out that this is only used when WebKit starts a 7888 drag, and we keep it around so that we can provide this information 7889 to other Mac OS X applications when they ask. I've renamed the method 7890 for clarity so the next person in this code will be less confused. 7891 7892 No functional changes, thus no tests. 7893 7894 * page/DragController.h: 7895 (WebCore::DragController::sourceDragOperation): 7896 7897 2009-05-21 Dan Bernstein <mitz (a] apple.com> 7898 7899 Reviewed by Anders Carlsson. 7900 7901 - WebCore part of <rdar://problem/6901751> REGRESSION (r35515): Tiger 7902 crash painting the selection on registration page of car2go.com 7903 7904 A bug in old versions of Core Graphics causes memory corruption to occur 7905 when clipping under certain conditions. Make the clipping functions 7906 fail silently under those conditions. 7907 7908 Test: fast/block/float/selection-gap-clip-out-tiger-crash.html 7909 7910 * WebCore.Tiger.exp: Added wkCGContextIsSafeToClip 7911 * platform/graphics/cg/GraphicsContextCG.cpp: 7912 (WebCore::safeCGContextClip): Added a wrapper around CGContextClip that, 7913 on Tiger, bails out if wkCGContextIsSafeToClip() returns false. 7914 (WebCore::safeCGContextEOClip): Ditto for CGContextEOClip. 7915 (WebCore::safeCGContextClipToRect): Ditto for CGContextClipToRect. 7916 (WebCore::GraphicsContext::fillPath): Changed to call the safe variants 7917 of CGContextClip, CGContextEOClip and CGContextClipToRect. 7918 (WebCore::GraphicsContext::strokePath): Ditto. 7919 (WebCore::GraphicsContext::fillRect): Ditto. 7920 (WebCore::GraphicsContext::clip): Ditto. 7921 (WebCore::GraphicsContext::clipOut): Ditto. 7922 (WebCore::GraphicsContext::clipOutEllipseInRect): Ditto. 7923 (WebCore::GraphicsContext::clipPath): Ditto. 7924 (WebCore::GraphicsContext::addInnerRoundedRectClip): Ditto. 7925 (WebCore::GraphicsContext::strokeRect): Ditto. 7926 * platform/mac/WebCoreSystemInterface.h: Added wkCGContextIsSafeToClip. 7927 * platform/mac/WebCoreSystemInterface.mm: Added wkCGContextIsSafeToClip. 7928 7929 2009-05-21 Xan Lopez <xlopez (a] igalia.com> 7930 7931 Unreviewed build fix. 7932 7933 https://bugs.webkit.org/show_bug.cgi?id=25910 7934 WebkitGTK r43960 cannot compile 7935 7936 Do not include local copy of guriescape header, which was 7937 removed. We now use the copy in glib. 7938 7939 * platform/gtk/FileSystemGtk.cpp: 7940 7941 2009-05-20 Adam Barth <abarth (a] webkit.org> 7942 7943 Reviewed by Dimitri Glazkov. 7944 7945 https://bugs.webkit.org/show_bug.cgi?id=25706 7946 7947 It turns out the CurrentContext wasn't currect either because it gave 7948 us the frame for the write() function itself. We actually want the 7949 *calling* context. 7950 7951 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 7952 (WebCore::CALLBACK_FUNC_DECL): 7953 7954 2009-05-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 7955 7956 Reviewed by Gustavo Noronha. 7957 7958 [GTK] Implement Image::loadPlatformResource. 7959 7960 Install the four resources we are using. For the icons 7961 where an icon name is specified by freedeskop.org try to 7962 map the WebCore name to that name and fallback to the 7963 internal icon. For everything else use the internal icon 7964 name. Remove the temporary link stub as this is not 7965 required any more. 7966 7967 * GNUmakefile.am: Install the png files, set DATA_DIR again 7968 * Resources/panIcon.png: Copied from WebKit/win/WebKit.vcproj/panIcon.png. 7969 * platform/graphics/gtk/ImageGtk.cpp: 7970 (WTF::GtkIconInfo): Add template specialization for GtkIconInfo 7971 (WebCore::getIconFileNameOrFallback): Use GtkIconTheme to get the icon 7972 (WebCore::loadResourceIntoSharedBuffer): 7973 (WebCore::Image::loadPlatformResource): Implement 7974 * platform/gtk/TemporaryLinkStubs.cpp: Remove link stub 7975 7976 2009-05-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 7977 7978 Reviewed by Gustavo Noronha. 7979 7980 https://bugs.webkit.org/show_bug.cgi?id=19357 7981 7982 [GTK] The Gtk+ port wants to have a themable 7983 urlIcon too. 7984 7985 * loader/icon/IconDatabase.cpp: 7986 7987 2009-05-20 Stephanie Lewis <slewis (a] apple.com> 7988 7989 Update the order files. <rdar://problem/6881750> Generate new order files. 7990 7991 * WebCore.order: 7992 7993 2009-05-20 Mark Rowe <mrowe (a] apple.com> 7994 7995 Reviewed by Gavin Barraclough. 7996 7997 Fix some assertion failures in plug-in tests on the Windows debug build bot. 7998 7999 * plugins/PluginStream.cpp: 8000 (WebCore::PluginStream::startStream): Switch to using protocolIsJavaScript. 8001 * plugins/PluginView.cpp: 8002 (WebCore::scriptStringIfJavaScriptURL): Ditto. 8003 8004 2009-05-20 Brady Eidson <beidson (a] apple.com> 8005 8006 Reviewed by Darin Adler. 8007 8008 More protocolInHTTPFamily() cleanup. 8009 8010 * xml/XMLHttpRequest.cpp: 8011 (WebCore::XMLHttpRequest::send): 8012 8013 2009-05-20 Sam Weinig <sam (a] webkit.org> 8014 8015 Reviewed by Oliver Hunt. 8016 8017 Fix for <rdar://problem/6905475> 8018 Office 2008: Entourage: Crash when you switch to "My Day" view 8019 8020 The host function callback callObjCFallbackObject was not annotated 8021 with JSC_HOST_CALL which meant that when it was called by the JIT, which 8022 expects the JSC_HOST_CALL calling convention, the arguments are not in the 8023 expected places. 8024 8025 * bridge/objc/objc_runtime.mm: 8026 (JSC::Bindings::callObjCFallbackObject): Added missing JSC_HOST_CALL 8027 annotation on callObjCFallbackObject. 8028 8029 2009-05-20 David Levin <levin (a] chromium.org> 8030 8031 Not Reviewed, build fix. 8032 8033 Need to disable this assert while the chormium code is fixed for it. 8034 8035 * platform/KURLGoogle.cpp: 8036 (WebCore::KURL::protocolIs): 8037 8038 2009-05-20 David Levin <levin (a] chromium.org> 8039 8040 Not Reviewed, build fix. 8041 8042 Change KURLGoogle.cpp to mirror the KURL.cpp changes done in 8043 http://trac.webkit.org/changeset/43929. Fix assert placement. 8044 8045 * platform/KURLGoogle.cpp: 8046 (WebCore::KURL::protocolIs): 8047 (WebCore::protocolIs): 8048 8049 2009-05-20 Nate Chapin <japhet (a] google.com> 8050 8051 Reviewed by Dimitri Glazkov. 8052 8053 Upstream V8 bindings for V8DomWindow. 8054 https://bugs.webkit.org/show_bug.cgi?id=25869 8055 8056 * bindings/v8/custom/V8DOMWindowCustom.cpp: 8057 (WebCore::V8Custom::WindowSetTimeoutImpl): Moved from v8_custom.cpp. 8058 (WebCore::isAscii): Moved from v8_custom.cpp. 8059 (WebCore::convertBase64): Moved from v8_custom.cpp. 8060 (WebCore::CALLBACK_FUNC_DECL): Moved from v8_custom.cpp. 8061 (WebCore::eventNameFromAttributeName): Moved from v8_custom.cpp. 8062 (WebCore::ACCESSOR_SETTER): Moved from v8_custom.cpp. 8063 (WebCore::ACCESSOR_GETTER): Moved from v8_custom.cpp. 8064 (WebCore::NAMED_ACCESS_CHECK): Moved from v8_custom.cpp. 8065 (WebCore::INDEXED_ACCESS_CHECK): Moved from v8_custom.cpp. 8066 8067 2009-05-21 Christian Dywan <christian (a] twotoasts.de> 8068 8069 Reviewed by Jan Alonzo. 8070 8071 * platform/network/soup/ResourceHandleSoup.cpp: 8072 (WebCore::parseDataUrl): Always use Glib Base64 decoding. 8073 8074 2009-05-21 Christian Dywan <christian (a] twotoasts.de> 8075 8076 Rubberstamped by Gustavo Noronha. 8077 8078 * platform/network/curl/ResourceHandleManager.cpp: 8079 (WebCore::parseDataUrl): Remove Gtk/ Glib Base64 decoding. 8080 8081 2009-05-20 Christian Dywan <christian (a] twotoasts.de> 8082 8083 Reviewed by Gustavo Noronha. 8084 8085 * GNUmakefile.am: 8086 * platform/gtk/guriescape.c: 8087 * platform/gtk/guriescape.h: Remove copies of g_uri_escape_string and 8088 g_uri_unescape_string now that we require Glib 2.16. 8089 8090 2009-05-20 David Levin <levin (a] chromium.org> 8091 8092 Not Reviewed, build fix. 8093 8094 Change KURLGoogle.cpp to mirror the KURL.cpp changes done in 8095 http://trac.webkit.org/changeset/43929. 8096 8097 * platform/KURLGoogle.cpp: 8098 (WebCore::protocolIsJavaScript): 8099 (WebCore::protocolIs): 8100 8101 2009-05-20 Brady Eidson <beidson (a] apple.com> 8102 8103 Rubberstamped by Sam Weinig 8104 8105 At all call sites that check if a KURL has either the http or https protocol, 8106 use the KURL::protocolInHTTPFamily() accessor, instead. 8107 8108 * loader/FrameLoader.cpp: 8109 (WebCore::FrameLoader::iconURL): 8110 (WebCore::FrameLoader::didOpenURL): 8111 (WebCore::FrameLoader::open): 8112 8113 * loader/appcache/ApplicationCache.cpp: 8114 (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet): 8115 8116 * loader/loader.cpp: 8117 (WebCore::Loader::load): 8118 8119 * xml/XMLHttpRequest.cpp: 8120 (WebCore::XMLHttpRequest::send): 8121 8122 2009-05-20 Brady Eidson <beidson (a] apple.com> 8123 8124 Reviewed by Darin Adler. 8125 8126 Fix <rdar://problem/6904941> and https://bugs.webkit.org/show_bug.cgi?id=25300 8127 8128 KURL parsing changes back in r30243 and r30815 made javascript urls that use the form 8129 "javascript://" be detected as invalid hierarchical URLs. When a KURL is marked as 8130 invalid, you can no longer ask it a question such as "is your protocol javascript?" 8131 Therefore FrameLoader wouldn't recognize them as javascript URLs and instead try to 8132 navigate to them. 8133 8134 URL parsing rules aside, such URLs are in use in the wild (Microsoft's Virtual Earth 8135 being a high profile example) and actually represent valid javascript. 8136 8137 Whenever checking for javascript urls, the new protocolIsJavaScript() should be used 8138 as it functions on a String which doesn't have to pass KURLs parsing rules. 8139 8140 Test: fast/loader/javascript-url-hierarchical-execution.html 8141 8142 * bindings/js/JSAttrCustom.cpp: 8143 (WebCore::JSAttr::setValue): Use protocolIsJavaScript(). 8144 * bindings/js/JSDOMWindowCustom.cpp: 8145 (WebCore::JSDOMWindow::setLocation): Ditto. 8146 (WebCore::createWindow): Ditto. 8147 (WebCore::JSDOMWindow::open): Ditto. 8148 * bindings/js/JSElementCustom.cpp: 8149 (WebCore::allowSettingSrcToJavascriptURL): Ditto. 8150 * bindings/js/JSHTMLFrameElementCustom.cpp: 8151 (WebCore::allowSettingJavascriptURL): Ditto. 8152 * bindings/js/JSHTMLIFrameElementCustom.cpp: 8153 (WebCore::JSHTMLIFrameElement::setSrc): Ditto. 8154 * bindings/js/JSLocationCustom.cpp: 8155 (WebCore::navigateIfAllowed): Ditto. 8156 (WebCore::JSLocation::reload): Ditto. 8157 * editing/markup.cpp: 8158 (WebCore::appendQuotedURLAttributeValue): Ditto. 8159 * html/HTMLAnchorElement.cpp: 8160 (WebCore::HTMLAnchorElement::parseMappedAttribute): Ditto. 8161 * loader/FrameLoader.cpp: 8162 (WebCore::FrameLoader::requestFrame): Ditto. 8163 (WebCore::FrameLoader::submitForm): Ditto. 8164 (WebCore::FrameLoader::executeIfJavaScriptURL): Ditto. 8165 8166 * platform/KURL.cpp: 8167 (WebCore::KURL::init): Use protocolIsJavaScript(). 8168 (WebCore::KURL::protocolIs): ASSERT that the protocol being asked about is not javascript. 8169 Such checks should go through protocolIsJavaScript() instead. 8170 (WebCore::encodeRelativeString): Use protocolIsJavaScript(). 8171 (WebCore::protocolIsJavaScript): 8172 * platform/KURL.h: 8173 8174 2009-05-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 8175 8176 Reviewed by Anders Carlsson. 8177 8178 https://bugs.webkit.org/show_bug.cgi?id=24510 8179 8180 Fix a bug where the browserfuncs were not properly assigned, 8181 make hasproperty use _NP_HasProperty and hasmethod _NP_HasMethod. 8182 8183 Test: plugins/netscape-invoke-browserfuncs.html 8184 8185 * plugins/gtk/PluginPackageGtk.cpp: 8186 (WebCore::PluginPackage::load): Fix assignment 8187 * plugins/qt/PluginPackageQt.cpp: 8188 (WebCore::PluginPackage::load): Fix assignment 8189 8190 2009-05-20 Sam Weinig <sam (a] webkit.org> 8191 8192 Reviewed by Timothy Hatcher. 8193 8194 Make absoluteRectsForRange and absoluteQuadsForRange non-virtual 8195 and only exist on RenderText. 8196 8197 * dom/Range.cpp: 8198 (WebCore::Range::textRects): 8199 * inspector/InspectorController.cpp: 8200 (WebCore::InspectorController::drawNodeHighlight): Use absoluteQuads instead 8201 of absoluteQuadsForRange since no range is being specifiec. 8202 * rendering/RenderObject.cpp: 8203 * rendering/RenderObject.h: 8204 * rendering/RenderText.h: 8205 8206 2009-05-20 Xan Lopez <xlopez (a] igalia.com> 8207 8208 Reviewed by Gustavo Noronha. 8209 8210 Implement AtkObject::focus-event and 8211 AtkObject::state-changed:focused signal emission. 8212 8213 Adds a new handleFocusedUIElementChangedWithRenderers, only in the 8214 GTK port, called at the same point than 8215 handleFocusedUIElementChanged but with two parameters, the old and 8216 the newly focused RenderObjects. We need this, since the ATK 8217 signals require us to pass the objects involved in the focus 8218 change as arguments. 8219 8220 * accessibility/AXObjectCache.h: 8221 * accessibility/gtk/AXObjectCacheAtk.cpp: 8222 (WebCore::AXObjectCache::handleFocusedUIElementChangedWithRenderers): 8223 * dom/Document.cpp: 8224 (WebCore::Document::setFocusedNode): 8225 8226 2009-05-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 8227 8228 Reviewed by Darin Adler. 8229 8230 https://bugs.webkit.org/show_bug.cgi?id=25834 8231 8232 Make ChromeClient a interface again 8233 8234 With recent additions to ChromeClient.h empty defaults were 8235 added. This is bad for porters as these changes go unnoticed 8236 and at runtime no notImplemented warning is logged and grepping 8237 for notImplemented will not show anything. Change this Client 8238 to be like the other Clients again and always have pure virtuals 8239 (but for stuff inside #ifdef PLATFORM(MAC)). 8240 8241 Update the various WebKit/* implementations to compile again. 8242 8243 * loader/EmptyClients.h: Add empty defaults 8244 (WebCore::EmptyChromeClient::setCursor): 8245 (WebCore::EmptyChromeClient::scrollRectIntoView): 8246 (WebCore::EmptyChromeClient::requestGeolocationPermissionForFrame): 8247 * page/ChromeClient.h: Make methods pure virtual 8248 8249 2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 8250 8251 Reviewed by Simon Hausmann. 8252 8253 Fix a bug where a non visible plugin would show it self in a 8254 sibling frame. The problem was due to our clipping. In Qt, 8255 if setMask is set with an empty QRegion, no clipping will 8256 be performed, so in that case we hide the PluginContainer 8257 8258 Added manual test. 8259 8260 * plugins/qt/PluginContainerQt.cpp: 8261 (PluginContainerQt::adjustGeometry): 8262 * manual-tests/qt/plugin-sibling-frame-include.html 8263 * manual-tests/qt/plugin-sibling-frame.html 8264 8265 2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 8266 8267 Reviewed by Simon Hausmann. 8268 8269 Do not call the parent implementation (Widget::) in show() and hide() 8270 of the PluginViewQt, as it always changes the visible state of the 8271 platformWidget (equal to the platformPluginWidget in the Qt port), 8272 thus ignoring the isParentVisible() test. 8273 8274 * plugins/qt/PluginViewQt.cpp: 8275 (WebCore::PluginView::show): 8276 (WebCore::PluginView::hide): 8277 8278 2009-05-20 Yichao Yin <yichao.yin (a] torchmobile.com.cn> 8279 8280 Reviewed by George Staikos. 8281 8282 https://bugs.webkit.org/show_bug.cgi?id=23452 8283 Change the implementation of HTMLNoScriptElement to avoid the pain of 8284 adding virtual function for XHTMLMP support 8285 8286 Includes changes suggested by Simon Fraser. 8287 8288 * dom/Node.cpp: 8289 (WebCore::Node::styleForRenderer): 8290 * dom/Node.h: 8291 * html/HTMLNoScriptElement.cpp: 8292 * html/HTMLNoScriptElement.h: 8293 8294 2009-05-20 Kevin Ollivier <kevino (a] theolliviers.com> 8295 8296 CURL backend build fix. Make sure URL is always set. 8297 8298 * platform/network/curl/ResourceHandleManager.cpp: 8299 (WebCore::ResourceHandleManager::downloadTimerCallback): 8300 8301 2009-05-20 Yongjun Zhang <yongjun.zhang (a] nokia.com> 8302 8303 Reviewed by George Staikos. 8304 8305 Fix Qt WebKit build break in Mac OS. 8306 8307 * platform/FileSystem.h: 8308 8309 2009-05-20 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 8310 8311 Rubber-stamped by Eric Seidel. 8312 8313 Enable code that was commented out waiting for a way to get a 8314 GdkPixbuf from an image, effectively enabling copying images to 8315 the clipboard. 8316 8317 * platform/gtk/PasteboardGtk.cpp: 8318 (WebCore::Pasteboard::writeImage): 8319 8320 2009-05-20 Xan Lopez <xlopez (a] igalia.com> 8321 8322 Reviewed by Jan Alonzo. 8323 8324 https://bugs.webkit.org/show_bug.cgi?id=25414 8325 [GTK] ROLE_PANEL should not be used for paragraphs and list items. 8326 8327 Implement Atk list item role for list items. 8328 8329 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 8330 (webkit_accessible_get_role): 8331 8332 2009-05-20 Xan Lopez <xlopez (a] igalia.com> 8333 8334 Reviewed by Jan Alonzo. 8335 8336 https://bugs.webkit.org/show_bug.cgi?id=25414 8337 [GTK] ROLE_PANEL should not be used for paragraphs and list items. 8338 8339 Implement Atk paragraph role for paragraph elements. 8340 8341 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 8342 (webkit_accessible_get_role): 8343 8344 2009-05-20 Eric Seidel <eric (a] webkit.org> 8345 8346 Fix bug URL in ChangeLogs in r43903. 8347 https://bugs.webkit.org/show_bug.cgi?id=25742 8348 8349 2009-05-20 Takeshi Yoshino <tyoshino (a] google.com> 8350 8351 Reviewed by Eric Seidel. 8352 8353 Bug 24539: Fix RenderThemeChromiumWin::paintTextFieldInternal() not to hide background image. 8354 https://bugs.webkit.org/show_bug.cgi?id=25742 8355 8356 Fix RenderThemeChromiumWin::paintTextFieldInternal(). 8357 8358 We shouldn't paint the content area of text fields when o->style() has 8359 background image or transparent background color. paintTextFieldInternal() is 8360 used for painting inner area of HTML option elements by Chromium. 8361 8362 When we pass fillContentArea = true to ChromiumBridge::paintTextField, it hides 8363 the background image rendered by RenderBoxModelObject. So, we should set 8364 fillContentArea = false in such case. 8365 8366 Besides, when background-color:transparent is specified for CSS property, 8367 o->style().backgroundColor returns black color with alpha channel == 0. But 8368 since ThemeEngine for Windows behind ChromiumBridge::paintTextField cannot 8369 recognize alpha channel, it fills the rect with black. I made workaround to set 8370 fillContentArea = false when alpha channel == 0 to avoid this. 8371 8372 And more, I'd like to fallback the color passed to ChromiumBridge to white when 8373 o->style()->backgroundColor() is invalid. 8374 8375 * rendering/RenderThemeChromiumWin.cpp: 8376 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 8377 8378 2009-05-20 Shinichiro Hamaji <hamaji (a] google.com> 8379 8380 Reviewed by Eric Seidel. 8381 8382 https://bugs.webkit.org/show_bug.cgi?id=25417 8383 Map CompositeCopy to Skia's kSrc_Mode composite operation. 8384 8385 Test: fast/canvas/canvas-composite-alpha.html 8386 8387 * platform/graphics/skia/SkiaUtils.cpp: 8388 (WebCore::): 8389 8390 2009-05-20 Jan Michael Alonzo <jmalonzo (a] webkit.org> 8391 8392 Rubber-stamped by Xan Lopez. 8393 8394 Remove misplaced extern "C" 8395 8396 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 8397 8398 2009-05-20 Jan Michael Alonzo <jmalonzo (a] webkit.org> 8399 8400 Reviewed by Xan Lopez. 8401 8402 [GTK] Expose password field with role of PASSWORD_TEXT 8403 https://bugs.webkit.org/show_bug.cgi?id=25682 8404 8405 Check if input type is a password field and return 8406 ATK_ROLE_PASSWORD_TEXT if it is. 8407 8408 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: 8409 8410 2009-05-20 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 8411 8412 Reviewed by George Staikos. 8413 8414 BUG 25845: [Qt] Fix QtWebKit pkgconfig dependencies 8415 <https://bugs.webkit.org/show_bug.cgi?id=25845> 8416 8417 * WebCore.pro: Remove QtDBus; remove QtXml if Qt >= 4.4 8418 8419 2009-05-20 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 8420 8421 Reviewed by George Staikos. 8422 8423 BUG 25843: [Qt] Remove qt-port build flag 8424 <https://bugs.webkit.org/show_bug.cgi?id=25843> 8425 8426 * bridge/testbindings.pro: 8427 8428 2009-05-20 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 8429 8430 Reviewed by George Staikos. 8431 8432 https://bugs.webkit.org/show_bug.cgi?id=25824 8433 8434 [Qt] Cleanup - move files exclusive to JAVASCRIPT_DEBUGGER 8435 and WORKERS under the appropriate build section 8436 8437 * WebCore.pro: 8438 8439 2009-05-20 Ariya Hidayat <ariya.hidayat (a] nokia.com> 8440 8441 Unreviewed Qt build fix, after r43892. 8442 8443 * platform/graphics/qt/ImageQt.cpp: included ImageObservser.h 8444 8445 2009-05-20 Yongjun Zhang <yongjun.zhang (a] nokia.com> 8446 8447 Reviewed by Simon Hausmann. 8448 8449 https://bugs.webkit.org/show_bug.cgi?id=25856 8450 [Qt] notify an image has been drawn, to help Cache purge alive decoded data. 8451 8452 * platform/graphics/qt/ImageQt.cpp: 8453 (WebCore::Image::drawPattern): 8454 (WebCore::BitmapImage::draw): 8455 8456 2009-05-20 David Levin <levin (a] chromium.org> 8457 8458 Reviewed by NOBODY, layout tests fix. 8459 8460 https://bugs.webkit.org/show_bug.cgi?id=23727 8461 This reverts commit r43888. 8462 8463 Once that change was checked in many of the fast/flexbox0*.html 8464 tests (and others) started failing. 8465 8466 * WebCore.pro: 8467 * css/CSSParser.cpp: 8468 (WebCore::CSSParser::parseValue): 8469 * css/CSSPropertyNames.in: 8470 * css/CSSStyleSelector.cpp: 8471 (WebCore::CSSStyleSelector::applyProperty): 8472 * css/CSSValueKeywords.in: 8473 * rendering/RenderMarquee.cpp: 8474 (WebCore::RenderMarquee::updateMarqueePosition): 8475 (WebCore::RenderMarquee::timerFired): 8476 8477 2009-05-19 Yichao Yin <yichao.yin (a] torchmobile.com.cn> 8478 8479 Reviewed by George Staikos. 8480 8481 Add XHTMLMP support to Webkit 8482 Update the configure files for building XHTMLMP-enabled WebKit on different platform 8483 https://bugs.webkit.org/show_bug.cgi?id=23452 8484 8485 * GNUmakefile.am: 8486 * WebCore.pro: 8487 * WebCore.vcproj/WebCore.vcproj: 8488 * WebCoreSources.bkl: 8489 8490 2009-05-19 Antti Koivisto <antti (a] apple.com> 8491 8492 I can't figure out how to make this not timing dependent, making it manual test instead. 8493 8494 * manual-tests/preload-scanner-entities.html: Added. 8495 8496 2009-05-19 Brady Eidson <beidson (a] apple.com> 8497 8498 Reviewed by Antti Koivisto. 8499 8500 <rdar://problem/6886382> REGRESSION (Safari 4PB -> ToT): HTTP cache revalidation broken. 8501 8502 This was caused in http://trac.webkit.org/changeset/41425, which fixed an image caching bug 8503 in QuickLooks (rdar://problem/6619630). 8504 8505 We need to respect the DocumentLoader's request cache policy when deciding the cache policy 8506 for subresources, but the check (originally removed in r39304 and added back in in the same 8507 place in r41424) needs to be tweaked and relocated a bit. 8508 8509 * loader/FrameLoader.cpp: 8510 (WebCore::FrameLoader::subresourceCachePolicy): Renamed from cachePolicy(). Move checking 8511 the DocumentLoader's request to a more appropriate place. Add code to handle the recently 8512 added FIXME regarding POSTs. Add a new FIXME describing a great way to make this code 8513 cleaner in the future. 8514 * loader/FrameLoader.h: 8515 8516 * loader/DocLoader.cpp: 8517 (WebCore::DocLoader::cachePolicy): Calls the newly renamed subresourceCachePolicy(). 8518 8519 2009-05-19 Chris Fleizach <cfleizach (a] apple.com> 8520 8521 Reviewed by Beth Dakin. 8522 8523 Bug 25872: aria-labeledby appends all siblings instead of all children to aria name 8524 https://bugs.webkit.org/show_bug.cgi?id=25872 8525 8526 When setting the aria-labeledby text it should stay within the element identified by the id 8527 when searching through the sibling list. 8528 8529 This also removes an outdated assert in getDocumentLinks. Its possible for the document to 8530 think an element is a link, but accessibility can treat it differently (eg. its ARIA role is different). 8531 8532 Test: accessibility/aria-labelledby-stay-within.html 8533 8534 * accessibility/AccessibilityRenderObject.cpp: 8535 (WebCore::AccessibilityRenderObject::ariaAccessiblityName): 8536 (WebCore::AccessibilityRenderObject::getDocumentLinks): 8537 8538 2009-05-19 Antti Koivisto <antti (a] apple.com> 8539 8540 Reviewed by Darin Adler). 8541 8542 <rdar://problem/6902674> REGRESSION: Query parameters are sometimes incorrect in URL (23135) 8543 8544 Push characters back in correct order when entity parsing fails after 3 characters. 8545 8546 Test: fast/tokenizer/preload-scanner-entities.html 8547 8548 * html/PreloadScanner.cpp: 8549 (WebCore::PreloadScanner::consumeEntity): 8550 8551 2009-05-19 Paul Godavari <paul (a] chromium.org> 8552 8553 Reviewed by Dimitri Glazkov. 8554 8555 Fix a crash in Mac Chromium when displaying an HTML select element 8556 with no items. 8557 https://bugs.webkit.org/show_bug.cgi?id=25874 8558 8559 * platform/chromium/PopupMenuChromium.cpp: 8560 (WebCore::PopupContainer::showExternal): 8561 8562 2009-05-19 Nate Chapin <japhet (a] google.com> 8563 8564 Reviewed by Darin Fisher. 8565 8566 Upstream V8 bindings for CanvasRenderingContext2D. 8567 https://bugs.webkit.org/show_bug.cgi?id=25858 8568 8569 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Moved bindings from v8_custom.cpp. 8570 8571 2009-05-19 Jessie Berlin <jberlin (a] apple.com> 8572 8573 Reviewed by Mark Rowe. 8574 8575 Windows Build Fix. 8576 8577 * WebCore.vcproj/WebCore.vcproj: Copy accessibility headers from WebCore. 8578 8579 2009-05-19 Timothy Hatcher <timothy (a] apple.com> 8580 8581 <rdar://problem/6889218> REGRESSION: Some iChat transcript resources are not 8582 loaded because willSendRequest doesn't happen immediately 8583 8584 Reviewed by Antti Koivisto. 8585 8586 * WebCore.base.exp: Export Loader::servePendingRequests(). 8587 8588 2009-05-19 David Levin <levin (a] chromium.org> 8589 8590 Reviewed by Dimitri Glazkov. 8591 8592 Bug 25859: Need to upstream ScriptController.* for v8. 8593 https://bugs.webkit.org/show_bug.cgi?id=25859 8594 8595 Fixing the header file (which I accidentally made identical to the cpp file). 8596 8597 * bindings/v8/ScriptController.h: 8598 8599 2009-05-19 Alexey Proskuryakov <ap (a] webkit.org> 8600 8601 Reviewed by Darin Adler and Brady Eidson. 8602 8603 <rdar://problem/6900582> REGRESSION (r42446?): UA Profiler in http://stevesouders.com/ua/ stalls 8604 8605 The problem was that Document::removeAllEventListeners() was called for a wrong document 8606 when a CachedFrame was destroyed. 8607 8608 Cannot be tested automatically, because DRT doesn't have a b/f cache. 8609 8610 * dom/Document.cpp: (WebCore::Document::domWindow): Make sure that this doesn't return an 8611 unrelated window even if document's m_frame pointer is stale. 8612 8613 * history/CachedFrame.cpp: (WebCore::CachedFrame::clear): Added a FIXME about strange behavior. 8614 8615 2009-05-19 Pavel Feldman <pfeldman (a] chromium.org> 8616 8617 Reviewed by Timothy Hatcher. 8618 8619 Split InspectorController into InspectorController and InspectorFrontend. Latter encapsulates all frontend interaction and is the only entity allowed to make ScriptFunctionCalls. The further plan is to serialize these script function calls. 8620 8621 https://bugs.webkit.org/show_bug.cgi?id=25419 8622 8623 * GNUmakefile.am: 8624 * WebCore.pro: 8625 * WebCore.vcproj/WebCore.vcproj: 8626 * WebCore.xcodeproj/project.pbxproj: 8627 * WebCoreSources.bkl: 8628 * inspector/ConsoleMessage.cpp: 8629 (WebCore::ConsoleMessage::addToConsole): 8630 * inspector/ConsoleMessage.h: 8631 * inspector/InspectorController.cpp: 8632 (WebCore::InspectorController::~InspectorController): 8633 (WebCore::InspectorController::inspect): 8634 (WebCore::InspectorController::focusNode): 8635 (WebCore::InspectorController::setWindowVisible): 8636 (WebCore::InspectorController::addConsoleMessage): 8637 (WebCore::InspectorController::setAttachedWindow): 8638 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 8639 (WebCore::InspectorController::scriptObjectReady): 8640 (WebCore::InspectorController::showPanel): 8641 (WebCore::InspectorController::close): 8642 (WebCore::InspectorController::populateScriptObjects): 8643 (WebCore::InspectorController::resetScriptObjects): 8644 (WebCore::InspectorController::pruneResources): 8645 (WebCore::InspectorController::didCommitLoad): 8646 (WebCore::InspectorController::didLoadResourceFromMemoryCache): 8647 (WebCore::InspectorController::identifierForInitialRequest): 8648 (WebCore::InspectorController::willSendRequest): 8649 (WebCore::InspectorController::didReceiveResponse): 8650 (WebCore::InspectorController::didReceiveContentLength): 8651 (WebCore::InspectorController::didFinishLoading): 8652 (WebCore::InspectorController::didFailLoading): 8653 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 8654 (WebCore::InspectorController::scriptImported): 8655 (WebCore::InspectorController::didOpenDatabase): 8656 (WebCore::InspectorController::didUseDOMStorage): 8657 (WebCore::InspectorController::addScriptProfile): 8658 (WebCore::InspectorController::toggleRecordButton): 8659 (WebCore::InspectorController::enableProfiler): 8660 (WebCore::InspectorController::disableProfiler): 8661 (WebCore::InspectorController::enableDebugger): 8662 (WebCore::InspectorController::disableDebugger): 8663 (WebCore::InspectorController::didParseSource): 8664 (WebCore::InspectorController::failedToParseSource): 8665 (WebCore::InspectorController::didPause): 8666 (WebCore::InspectorController::didContinue): 8667 * inspector/InspectorController.h: 8668 * inspector/InspectorDOMStorageResource.cpp: 8669 (WebCore::InspectorDOMStorageResource::bind): 8670 * inspector/InspectorDOMStorageResource.h: 8671 * inspector/InspectorDatabaseResource.cpp: 8672 (WebCore::InspectorDatabaseResource::bind): 8673 * inspector/InspectorDatabaseResource.h: 8674 * inspector/InspectorFrontend.cpp: Added. 8675 (WebCore::callSimpleFunction): 8676 (WebCore::InspectorFrontend::InspectorFrontend): 8677 (WebCore::InspectorFrontend::~InspectorFrontend): 8678 (WebCore::InspectorFrontend::newJSONObject): 8679 (WebCore::InspectorFrontend::addMessageToConsole): 8680 (WebCore::InspectorFrontend::addResource): 8681 (WebCore::InspectorFrontend::updateResource): 8682 (WebCore::InspectorFrontend::removeResource): 8683 (WebCore::InspectorFrontend::updateFocusedNode): 8684 (WebCore::InspectorFrontend::setAttachedWindow): 8685 (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared): 8686 (WebCore::InspectorFrontend::showPanel): 8687 (WebCore::InspectorFrontend::populateInterface): 8688 (WebCore::InspectorFrontend::reset): 8689 (WebCore::InspectorFrontend::debuggerWasEnabled): 8690 (WebCore::InspectorFrontend::debuggerWasDisabled): 8691 (WebCore::InspectorFrontend::profilerWasEnabled): 8692 (WebCore::InspectorFrontend::profilerWasDisabled): 8693 (WebCore::InspectorFrontend::parsedScriptSource): 8694 (WebCore::InspectorFrontend::failedToParseScriptSource): 8695 (WebCore::InspectorFrontend::addProfile): 8696 (WebCore::InspectorFrontend::setRecordingProfile): 8697 (WebCore::InspectorFrontend::pausedScript): 8698 (WebCore::InspectorFrontend::resumedScript): 8699 (WebCore::InspectorFrontend::addDatabase): 8700 (WebCore::InspectorFrontend::addDOMStorage): 8701 * inspector/InspectorFrontend.h: Added. 8702 * inspector/InspectorResource.cpp: 8703 (WebCore::InspectorResource::createScriptObject): 8704 (WebCore::InspectorResource::updateScriptObject): 8705 (WebCore::InspectorResource::releaseScriptObject): 8706 * inspector/InspectorResource.h: 8707 8708 2009-05-19 Pavel Feldman <pfeldman (a] chromium.org> 8709 8710 Reviewed by Timothy Hatcher. 8711 8712 Introduce JSONObject that wraps ScriptObject and ScriptState* for further serialization 8713 8714 https://bugs.webkit.org/show_bug.cgi?id=25419 8715 8716 * GNUmakefile.am: 8717 * WebCore.pro: 8718 * WebCore.vcproj/WebCore.vcproj: 8719 * WebCore.xcodeproj/project.pbxproj: 8720 * WebCoreSources.bkl: 8721 * inspector/ConsoleMessage.cpp: 8722 (WebCore::ConsoleMessage::addToConsole): 8723 * inspector/InspectorDOMStorageResource.cpp: 8724 (WebCore::InspectorDOMStorageResource::bind): 8725 * inspector/InspectorDatabaseResource.cpp: 8726 (WebCore::InspectorDatabaseResource::bind): 8727 * inspector/InspectorResource.cpp: 8728 (WebCore::populateHeadersObject): 8729 (WebCore::InspectorResource::createScriptObject): 8730 (WebCore::InspectorResource::updateScriptObject): 8731 * inspector/JSONObject.cpp: Added. 8732 (WebCore::JSONObject::JSONObject): 8733 (WebCore::JSONObject::set): 8734 (WebCore::JSONObject::scriptObject): 8735 (WebCore::JSONObject::createNew): 8736 * inspector/JSONObject.h: Added. 8737 8738 2009-05-19 Pavel Feldman <pfeldman (a] chromium.org> 8739 8740 Reviewed by Timothy Hatcher. 8741 8742 Refactor InpectorController so that it does not instantiate resource/console/database/domresource javascript objects. Move instantiation into the javascript. 8743 8744 https://bugs.webkit.org/show_bug.cgi?id=25419 8745 8746 * inspector/ConsoleMessage.cpp: 8747 (WebCore::ConsoleMessage::addToConsole): 8748 * inspector/InspectorController.cpp: 8749 (WebCore::InspectorController::didReceiveResponse): 8750 (WebCore::InspectorController::didReceiveContentLength): 8751 (WebCore::InspectorController::didFinishLoading): 8752 (WebCore::InspectorController::didFailLoading): 8753 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 8754 (WebCore::InspectorController::scriptImported): 8755 * inspector/InspectorDOMStorageResource.cpp: 8756 (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): 8757 (WebCore::InspectorDOMStorageResource::bind): 8758 (WebCore::InspectorDOMStorageResource::unbind): 8759 * inspector/InspectorDOMStorageResource.h: 8760 * inspector/InspectorDatabaseResource.cpp: 8761 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 8762 (WebCore::InspectorDatabaseResource::bind): 8763 (WebCore::InspectorDatabaseResource::unbind): 8764 * inspector/InspectorDatabaseResource.h: 8765 * inspector/InspectorResource.cpp: 8766 (WebCore::InspectorResource::InspectorResource): 8767 (WebCore::populateHeadersObject): 8768 (WebCore::InspectorResource::createScriptObject): 8769 (WebCore::InspectorResource::updateScriptObject): 8770 (WebCore::InspectorResource::releaseScriptObject): 8771 * inspector/InspectorResource.h: 8772 * inspector/front-end/Console.js: 8773 (WebInspector.ConsoleMessage): 8774 * inspector/front-end/inspector.js: 8775 (WebInspector.addResource): 8776 (WebInspector.updateResource): 8777 (WebInspector.removeResource): 8778 (WebInspector.addDatabase): 8779 (WebInspector.addDOMStorage): 8780 (WebInspector.reset): 8781 (WebInspector.addMessageToConsole): 8782 8783 2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 8784 8785 Reviewed by Ariya Hidayat. 8786 8787 The Qt port has code that disables scrolling optimizations 8788 when the root contains native windows, such as windowed plugins. 8789 8790 This code broke when detaching iframes containing windowed 8791 plugins. 8792 8793 Each ScrollView now knows how many native windows it and its 8794 children contain, and when it is detached, that number is 8795 substracted from its old parents. 8796 8797 * platform/ScrollView.cpp: 8798 (WebCore::ScrollView::scrollContents): 8799 (WebCore::ScrollView::setParent): 8800 * platform/ScrollView.h: 8801 * platform/qt/ScrollViewQt.cpp: 8802 (WebCore::ScrollView::adjustWidgetsPreventingBlittingCount): 8803 (WebCore::ScrollView::platformAddChild): 8804 (WebCore::ScrollView::platformRemoveChild): 8805 8806 2009-05-18 David Kilzer <ddkilzer (a] apple.com> 8807 8808 Tiger build fix for r43850 8809 8810 * platform/mac/ClipboardMac.mm: Added typedef for NSUinteger 8811 when building on Tiger. 8812 8813 2009-05-18 Eric Seidel <eric (a] webkit.org> 8814 8815 Reviewed by Darin Adler. 8816 8817 ClipboardMac cleanup 8818 https://bugs.webkit.org/show_bug.cgi?id=25847 8819 8820 I'm mostly just moving code, however there are 3 changes I made while moving, detailed below. 8821 8822 No functional changes, so no tests. 8823 8824 * platform/mac/ClipboardMac.mm: 8825 (WebCore::ClipboardMac::clearData): 8826 (WebCore::absoluteURLsFromPasteboardFilenames): 8827 Broke out logic for filenames into its own function to make the caller more readable. 8828 (WebCore::absoluteURLsFromPasteboard): 8829 Broke out logic from getData into absoluteURLsFromPasteboard. This returns an NSArray 8830 so that we can use -[NSArray componentsJoinedByString] in the caller (which is 8831 cleaner than the manual "\n" addition before). 8832 This also access to the full list of file urls for future callers. 8833 (WebCore::ClipboardMac::getData): 8834 unsigned count = (type == "URL") ? 1 : [fileList count]; is now an 8835 explicit check for "URL", before it was a check for != "text/uri-list" which 8836 was much more confusing in my opinion. text/uri-list and URL are the only 8837 two types which map to NSURLPboardType in cocoaTypeFromMIMEType(). 8838 (WebCore::ClipboardMac::types): 8839 I removed an extra if (!types) check, right before [types count]. In Obj-C 8840 messaging nil will return 0 (size of a pointer), so it's safe to message nil 8841 here and expect it to return 0. 8842 8843 2009-05-18 David Levin <levin (a] chromium.org> 8844 8845 Reviewed by Darin Fisher. 8846 8847 Bug 25859: Need to upstream ScriptController.* for v8. 8848 https://bugs.webkit.org/show_bug.cgi?id=25859 8849 8850 * bindings/v8/ScriptController.cpp: Added. 8851 * bindings/v8/ScriptController.h: Added. 8852 8853 2009-05-18 Yichao Yin <yichao.yin (a] torchmobile.com.cn> 8854 8855 Reviewed by George Staikos. 8856 8857 Change ScriptElement to support XHTMLMP in a better way 8858 https://bugs.webkit.org/show_bug.cgi?id=23452 8859 8860 * dom/ScriptElement.h: 8861 * html/HTMLScriptElement.h: 8862 * svg/SVGScriptElement.h: 8863 (WebCore::SVGScriptElement::shouldExecuteAsJavaScript): 8864 8865 2009-05-18 Kevin Ollivier <kevino (a] theolliviers.com> 8866 8867 wx build fix, finish up changes after the accessibility dir split. 8868 8869 * webcore-base.bkl: 8870 8871 2009-05-18 Yichao Yin <yichao.yin (a] torchmobile.com.cn> 8872 8873 Reviewed by George Staikos (and others). 8874 8875 Add XHTMLMP support to Webkit 8876 https://bugs.webkit.org/show_bug.cgi?id=23452 8877 XHTMLMP is a strict subset of XHTML 1.1. It extends XHTML Basic and add enhanced 8878 functionality. Most of the functionalities have already been implemented by Webkit. 8879 8880 The changes include: 8881 1) Adding <noscript> support 8882 2) Document conformance validation 8883 3) User Agent conformance validation 8884 8885 refer to the specification: OMA-WAP-XHTMLMP-V1_1-20061020-A.pdf 8886 8887 Tests: fast/xhtmlmp/check-doctype-declaration.xhtml 8888 fast/xhtmlmp/check-rootelement.xhtml 8889 fast/xhtmlmp/noscript-in-multiscripts.xhtml 8890 fast/xhtmlmp/noscript-nested.xhtml 8891 fast/xhtmlmp/noscript.xhtml 8892 8893 * dom/DOMImplementation.cpp: 8894 (WebCore::DOMImplementation::createDocument): 8895 * dom/Document.cpp: 8896 (WebCore::Document::Document): 8897 (WebCore::Document::isXHTMLMPDocument): 8898 * dom/Document.h: 8899 (WebCore::Document::shouldProcessNoscriptElement): 8900 (WebCore::Document::setShouldProcessNoscriptElement): 8901 * dom/Node.cpp: 8902 (WebCore::Node::createRendererIfNeeded): 8903 * dom/Node.h: 8904 * dom/XMLTokenizer.h: 8905 (WebCore::XMLTokenizer::setIsXHTMLMPDocument): 8906 (WebCore::XMLTokenizer::isXHTMLMPDocument): 8907 * dom/XMLTokenizerLibxml2.cpp: 8908 (WebCore::XMLTokenizer::XMLTokenizer): 8909 (WebCore::XMLTokenizer::startElementNs): 8910 (WebCore::XMLTokenizer::endElementNs): 8911 (WebCore::XMLTokenizer::endDocument): 8912 (WebCore::XMLTokenizer::internalSubset): 8913 (WebCore::getEntityHandler): 8914 (WebCore::externalSubsetHandler): 8915 * dom/XMLTokenizerQt.cpp: 8916 (WebCore::XMLTokenizer::XMLTokenizer): 8917 (WebCore::XMLTokenizer::parse): 8918 (WebCore::XMLTokenizer::parseStartElement): 8919 (WebCore::XMLTokenizer::parseEndElement): 8920 (WebCore::): 8921 * dom/make_names.pl: 8922 * html/HTMLElement.cpp: 8923 (WebCore::HTMLElement::rendererIsNeeded): 8924 * html/HTMLNoScriptElement.cpp: Added. 8925 (WebCore::HTMLNoScriptElement::HTMLNoScriptElement): 8926 (WebCore::HTMLNoScriptElement::~HTMLNoScriptElement): 8927 (WebCore::HTMLNoScriptElement::checkDTD): 8928 (WebCore::HTMLNoScriptElement::attach): 8929 (WebCore::HTMLNoScriptElement::recalcStyle): 8930 (WebCore::HTMLNoScriptElement::childShouldCreateRenderer): 8931 (WebCore::HTMLNoScriptElement::styleForRenderer): 8932 * html/HTMLNoScriptElement.h: Added. 8933 (WebCore::HTMLNoScriptElement::rendererIsNeeded): 8934 * html/HTMLParser.cpp: 8935 (WebCore::HTMLParser::getNode): 8936 (WebCore::HTMLParser::isInline): 8937 * html/HTMLTagNames.in: 8938 * html/HTMLTokenizer.cpp: 8939 (WebCore::HTMLTokenizer::scriptHandler): 8940 (WebCore::HTMLTokenizer::notifyFinished): 8941 * loader/FrameLoader.cpp: 8942 (WebCore::FrameLoader::addExtraFieldsToRequest): 8943 * platform/MIMETypeRegistry.cpp: 8944 (WebCore::initializeSupportedNonImageMimeTypes): 8945 8946 2009-05-18 Mark Rowe <mrowe (a] apple.com> 8947 8948 Fix the build. 8949 8950 * WebCore.xcodeproj/project.pbxproj: 8951 8952 2009-05-18 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 8953 8954 Rubber-stamped by Gustavo Noronha. 8955 8956 Fixed build for the Qt port by adding the WebCore/accessibility 8957 directory to the includepath. 8958 8959 * WebCore.pro: 8960 8961 2009-05-18 Chris Fleizach <cfleizach (a] apple.com> 8962 8963 Bug 25776: accessibility should have its own folder in WebCore project 8964 https://bugs.webkit.org/show_bug.cgi?id=25776 8965 8966 Speculative fix for windows build failure. 8967 8968 * WebCore.vcproj/WebCoreCommon.vsprops: 8969 8970 2009-05-18 David Kilzer <ddkilzer (a] apple.com> 8971 8972 Bug 20652: WebKit doesn't display favicons with MIME type image/vnd.microsoft.icon 8973 8974 <https://bugs.webkit.org/show_bug.cgi?id=20652> 8975 8976 Reviewed by Darin Adler. 8977 8978 Test: http/tests/misc/favicon-as-image.html 8979 8980 * inspector/front-end/inspector.js: Added 8981 image/vnd.microsoft.icon to WebInspector.MIMETypes. 8982 * platform/MIMETypeRegistry.cpp: 8983 (WebCore::initializeSupportedImageMIMETypes): Added 8984 image/vnd.microsoft.icon to list of supported image and image 8985 resource MIME types. 8986 8987 2009-05-18 Chris Fleizach <cfleizach (a] apple.com> 8988 8989 Reviewed by Sam Weinig. 8990 8991 Bug 25776: accessibility should have its own folder in WebCore project 8992 https://bugs.webkit.org/show_bug.cgi?id=25776 8993 8994 * GNUmakefile.am: 8995 * WebCore.pro: 8996 * WebCore.vcproj/WebCore.vcproj: 8997 * WebCore.xcodeproj/project.pbxproj: 8998 * WebCoreSources.bkl: 8999 * accessibility: Added. 9000 * accessibility/AXObjectCache.cpp: Copied from WebCore/page/AXObjectCache.cpp. 9001 * accessibility/AXObjectCache.h: Copied from WebCore/page/AXObjectCache.h. 9002 * accessibility/AccessibilityAriaGrid.cpp: Copied from WebCore/page/AccessibilityAriaGrid.cpp. 9003 * accessibility/AccessibilityAriaGrid.h: Copied from WebCore/page/AccessibilityAriaGrid.h. 9004 * accessibility/AccessibilityAriaGridCell.cpp: Copied from WebCore/page/AccessibilityAriaGridCell.cpp. 9005 * accessibility/AccessibilityAriaGridCell.h: Copied from WebCore/page/AccessibilityAriaGridCell.h. 9006 * accessibility/AccessibilityAriaGridRow.cpp: Copied from WebCore/page/AccessibilityAriaGridRow.cpp. 9007 * accessibility/AccessibilityAriaGridRow.h: Copied from WebCore/page/AccessibilityAriaGridRow.h. 9008 * accessibility/AccessibilityImageMapLink.cpp: Copied from WebCore/page/AccessibilityImageMapLink.cpp. 9009 * accessibility/AccessibilityImageMapLink.h: Copied from WebCore/page/AccessibilityImageMapLink.h. 9010 * accessibility/AccessibilityList.cpp: Copied from WebCore/page/AccessibilityList.cpp. 9011 * accessibility/AccessibilityList.h: Copied from WebCore/page/AccessibilityList.h. 9012 * accessibility/AccessibilityListBox.cpp: Copied from WebCore/page/AccessibilityListBox.cpp. 9013 * accessibility/AccessibilityListBox.h: Copied from WebCore/page/AccessibilityListBox.h. 9014 * accessibility/AccessibilityListBoxOption.cpp: Copied from WebCore/page/AccessibilityListBoxOption.cpp. 9015 * accessibility/AccessibilityListBoxOption.h: Copied from WebCore/page/AccessibilityListBoxOption.h. 9016 * accessibility/AccessibilityObject.cpp: Copied from WebCore/page/AccessibilityObject.cpp. 9017 * accessibility/AccessibilityObject.h: Copied from WebCore/page/AccessibilityObject.h. 9018 * accessibility/AccessibilityRenderObject.cpp: Copied from WebCore/page/AccessibilityRenderObject.cpp. 9019 * accessibility/AccessibilityRenderObject.h: Copied from WebCore/page/AccessibilityRenderObject.h. 9020 * accessibility/AccessibilityTable.cpp: Copied from WebCore/page/AccessibilityTable.cpp. 9021 * accessibility/AccessibilityTable.h: Copied from WebCore/page/AccessibilityTable.h. 9022 * accessibility/AccessibilityTableCell.cpp: Copied from WebCore/page/AccessibilityTableCell.cpp. 9023 * accessibility/AccessibilityTableCell.h: Copied from WebCore/page/AccessibilityTableCell.h. 9024 * accessibility/AccessibilityTableColumn.cpp: Copied from WebCore/page/AccessibilityTableColumn.cpp. 9025 * accessibility/AccessibilityTableColumn.h: Copied from WebCore/page/AccessibilityTableColumn.h. 9026 * accessibility/AccessibilityTableHeaderContainer.cpp: Copied from WebCore/page/AccessibilityTableHeaderContainer.cpp. 9027 * accessibility/AccessibilityTableHeaderContainer.h: Copied from WebCore/page/AccessibilityTableHeaderContainer.h. 9028 * accessibility/AccessibilityTableRow.cpp: Copied from WebCore/page/AccessibilityTableRow.cpp. 9029 * accessibility/AccessibilityTableRow.h: Copied from WebCore/page/AccessibilityTableRow.h. 9030 * accessibility/chromium: Added. 9031 * accessibility/chromium/AXObjectCacheChromium.cpp: Copied from WebCore/page/chromium/AXObjectCacheChromium.cpp. 9032 * accessibility/chromium/AccessibilityObjectChromium.cpp: Copied from WebCore/page/chromium/AccessibilityObjectChromium.cpp. 9033 * accessibility/chromium/AccessibilityObjectWrapper.h: Copied from WebCore/page/chromium/AccessibilityObjectWrapper.h. 9034 * accessibility/gtk: Added. 9035 * accessibility/gtk/AXObjectCacheAtk.cpp: Copied from WebCore/page/gtk/AXObjectCacheAtk.cpp. 9036 * accessibility/gtk/AccessibilityObjectAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectAtk.cpp. 9037 * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.cpp. 9038 * accessibility/gtk/AccessibilityObjectWrapperAtk.h: Copied from WebCore/page/gtk/AccessibilityObjectWrapperAtk.h. 9039 * accessibility/mac: Added. 9040 * accessibility/mac/AXObjectCacheMac.mm: Copied from WebCore/page/mac/AXObjectCacheMac.mm. 9041 * accessibility/mac/AccessibilityObjectMac.mm: Copied from WebCore/page/mac/AccessibilityObjectMac.mm. 9042 * accessibility/mac/AccessibilityObjectWrapper.h: Copied from WebCore/page/mac/AccessibilityObjectWrapper.h. 9043 * accessibility/mac/AccessibilityObjectWrapper.mm: Copied from WebCore/page/mac/AccessibilityObjectWrapper.mm. 9044 * accessibility/qt: Added. 9045 * accessibility/qt/AccessibilityObjectQt.cpp: Copied from WebCore/page/qt/AccessibilityObjectQt.cpp. 9046 * accessibility/win: Added. 9047 * accessibility/win/AXObjectCacheWin.cpp: Copied from WebCore/page/win/AXObjectCacheWin.cpp. 9048 * accessibility/win/AccessibilityObjectWin.cpp: Copied from WebCore/page/win/AccessibilityObjectWin.cpp. 9049 * accessibility/win/AccessibilityObjectWrapperWin.h: Copied from WebCore/page/win/AccessibilityObjectWrapperWin.h. 9050 * accessibility/wx: Added. 9051 * accessibility/wx/AccessibilityObjectWx.cpp: Copied from WebCore/page/wx/AccessibilityObjectWx.cpp. 9052 * page/AXObjectCache.cpp: Removed. 9053 * page/AXObjectCache.h: Removed. 9054 * page/AccessibilityAriaGrid.cpp: Removed. 9055 * page/AccessibilityAriaGrid.h: Removed. 9056 * page/AccessibilityAriaGridCell.cpp: Removed. 9057 * page/AccessibilityAriaGridCell.h: Removed. 9058 * page/AccessibilityAriaGridRow.cpp: Removed. 9059 * page/AccessibilityAriaGridRow.h: Removed. 9060 * page/AccessibilityImageMapLink.cpp: Removed. 9061 * page/AccessibilityImageMapLink.h: Removed. 9062 * page/AccessibilityList.cpp: Removed. 9063 * page/AccessibilityList.h: Removed. 9064 * page/AccessibilityListBox.cpp: Removed. 9065 * page/AccessibilityListBox.h: Removed. 9066 * page/AccessibilityListBoxOption.cpp: Removed. 9067 * page/AccessibilityListBoxOption.h: Removed. 9068 * page/AccessibilityObject.cpp: Removed. 9069 * page/AccessibilityObject.h: Removed. 9070 * page/AccessibilityRenderObject.cpp: Removed. 9071 * page/AccessibilityRenderObject.h: Removed. 9072 * page/AccessibilityTable.cpp: Removed. 9073 * page/AccessibilityTable.h: Removed. 9074 * page/AccessibilityTableCell.cpp: Removed. 9075 * page/AccessibilityTableCell.h: Removed. 9076 * page/AccessibilityTableColumn.cpp: Removed. 9077 * page/AccessibilityTableColumn.h: Removed. 9078 * page/AccessibilityTableHeaderContainer.cpp: Removed. 9079 * page/AccessibilityTableHeaderContainer.h: Removed. 9080 * page/AccessibilityTableRow.cpp: Removed. 9081 * page/AccessibilityTableRow.h: Removed. 9082 * page/chromium/AXObjectCacheChromium.cpp: Removed. 9083 * page/chromium/AccessibilityObjectChromium.cpp: Removed. 9084 * page/chromium/AccessibilityObjectWrapper.h: Removed. 9085 * page/gtk/AXObjectCacheAtk.cpp: Removed. 9086 * page/gtk/AccessibilityObjectAtk.cpp: Removed. 9087 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Removed. 9088 * page/gtk/AccessibilityObjectWrapperAtk.h: Removed. 9089 * page/mac/AXObjectCacheMac.mm: Removed. 9090 * page/mac/AccessibilityObjectMac.mm: Removed. 9091 * page/mac/AccessibilityObjectWrapper.h: Removed. 9092 * page/mac/AccessibilityObjectWrapper.mm: Removed. 9093 * page/qt/AccessibilityObjectQt.cpp: Removed. 9094 * page/win/AXObjectCacheWin.cpp: Removed. 9095 * page/win/AccessibilityObjectWin.cpp: Removed. 9096 * page/win/AccessibilityObjectWrapperWin.h: Removed. 9097 * page/wx/AccessibilityObjectWx.cpp: Removed. 9098 9099 2009-05-18 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 9100 9101 Reviewed by Jan Alonzo. 9102 9103 https://bugs.webkit.org/show_bug.cgi?id=25854 9104 [GTK] Should tell servers we only support identity as content encoding 9105 9106 Let servers know we only support identity as content 9107 encoding. We will implement this in libsoup. 9108 9109 * platform/network/soup/ResourceHandleSoup.cpp: 9110 (WebCore::ResourceHandle::startHttp): 9111 9112 2009-05-18 Alexey Proskuryakov <ap (a] webkit.org> 9113 9114 Reviewed by Darin Adler. 9115 9116 <rdar://problem/6881160> REGRESSION (r41425): Unable to create battle.net account due to 9117 CAPTCHA failure. 9118 9119 The problem was that after loading and displaying a CAPTCHA image, it was loaded from 9120 the server again due to preloading. So, the server expected the last loaded (invisible) 9121 CAPTCHA text to be typed and posted back. 9122 9123 I don't know how to make tests for preloading. 9124 9125 * loader/DocLoader.cpp: (WebCore::DocLoader::checkForPendingPreloads): There is never a reason 9126 to preload after loading for real - and if cache policy is CachePolicyReload, that actually 9127 results in another load from network layer. 9128 9129 * loader/FrameLoader.cpp: (WebCore::FrameLoader::cachePolicy): It's not good for cachePolicy() 9130 to lie, but I don't know how to re-do r41425 properly. Added a FIXME. 9131 9132 2009-05-18 Ariya Hidayat <ariya.hidayat (a] nokia.com> 9133 9134 Reviewed by Simon Hausmann. 9135 9136 Done together with Balazs Kelemen <kelemen.balazs (a] stud.u-szeged.hu>. 9137 9138 https://bugs.webkit.org/show_bug.cgi?id=24551 9139 9140 [Qt] Reuse FontPlatformData for the same FontDescription. 9141 This effectively prevents growing heap usage for loading every web page. 9142 9143 * platform/graphics/qt/FontCacheQt.cpp: 9144 (WebCore::qHash): Necessary for FontPlatformDataCache. 9145 (WebCore::FontCache::getCachedFontPlatformData): Reuse the instance if 9146 it exists, otherwise create a new one and insert it in the cache. 9147 9148 2009-05-18 Balazs Kelemen <kelemen.balazs (a] stud.u-szeged.hu> 9149 9150 Reviewed by Ariya Hidayat. 9151 9152 https://bugs.webkit.org/show_bug.cgi?id=24551 9153 9154 [Qt] Fix the leak in FontFallbackList::fontDataAt() function. 9155 When creating a new instance of SimpleFontData, put it in the font list 9156 so that it can deleted later on. 9157 9158 * platform/graphics/qt/FontFallbackListQt.cpp: 9159 (WebCore::FontFallbackList::invalidate): 9160 (WebCore::FontFallbackList::releaseFontData): 9161 (WebCore::FontFallbackList::fontDataAt): 9162 9163 2009-05-15 Jan Michael Alonzo <jmalonzo (a] webkit.org> 9164 9165 Reviewed by Xan Lopez. 9166 9167 [Gtk] Various autotools build refactoring and fixes 9168 https://bugs.webkit.org/show_bug.cgi?id=25286 9169 9170 Style fixes 9171 9172 * GNUmakefile.am: 9173 9174 2009-05-17 George Staikos <george.staikos (a] torchmobile.com> 9175 9176 Not reviewed - build fix. 9177 9178 Fix typo: constr -> const. 9179 9180 * wml/WMLInputElement.h: 9181 (WebCore::WMLInputElement::setPlaceholder): 9182 9183 2009-05-17 Darin Adler <darin (a] apple.com> 9184 9185 Fix done by Simon Fraser (reviewed by me). 9186 9187 <rdar://problem/6893775> Page with screen-only stylesheet with overflow and height 9188 transitions has bad layout and overlapping garbled text when printing 9189 9190 * manual-tests/print-with-height-transition-in-screen-stylesheet.html: Added. 9191 9192 * page/animation/AnimationController.cpp: 9193 (WebCore::AnimationController::updateAnimations): Don't run transitions when printing. 9194 9195 2009-05-17 Darin Adler <darin (a] apple.com> 9196 9197 Reviewed by Simon Fraser. 9198 9199 <rdar://problem/6870241> REGRESSION: Programmatically selected popup menu item not shown 9200 9201 * html/HTMLSelectElement.cpp: 9202 (WebCore::HTMLSelectElement::setSelectedIndex): Added a call to updateFromElement and 9203 also a type check on the selected index to avoid a bad cast to HTMLOptionElement. 9204 9205 * manual-tests/select-option-in-onload.html: Added. 9206 9207 2009-05-17 Simon Fraser <simon.fraser (a] apple.com> 9208 9209 Reviewed by Anders Carlsson 9210 9211 Rename local variables for readability. 9212 9213 * rendering/RenderBoxModelObject.cpp: 9214 (WebCore::RenderBoxModelObject::paintBorder): 9215 9216 2009-05-17 Darin Adler <darin (a] apple.com> 9217 9218 Reviewed by Mark Rowe. 9219 9220 Bug 25840: fix some warnings seen on the GTK bot 9221 https://bugs.webkit.org/show_bug.cgi?id=25840 9222 9223 * platform/ScrollView.cpp: 9224 (WebCore::ScrollView::platformScrollbarModes): Initialize results here. 9225 This is really just to quiet warnings. I think this code is unreachable. 9226 Someone could put ASSERT_NOT_REACHED() in here too at some point. 9227 9228 * plugins/PluginStream.cpp: 9229 (WebCore::PluginStream::startStream): Use proper printf format for int 9230 here, %d, not %lu. This could cause a real problem when compiled 64-bit, 9231 so it's good to fix. 9232 9233 * rendering/RenderTextControl.cpp: 9234 (WebCore::getNextSoftBreak): Initialize breakOffset to 0 here. This is 9235 really just to quiet the warning, but still seems like a good idea. 9236 9237 2009-05-17 Chris Fleizach <cfleizach (a] apple.com> 9238 9239 Reviewed by Darin Adler. 9240 9241 Bug 25769: Fix accessibility warnings on GTK 9242 https://bugs.webkit.org/show_bug.cgi?id=25769 9243 9244 * page/AccessibilityTable.cpp: 9245 (WebCore::AccessibilityTable::columnCount): Get rid of excess const. 9246 (WebCore::AccessibilityTable::rowCount): Ditto. 9247 * page/AccessibilityTable.h: Ditto. 9248 9249 2009-05-17 Kai Brning <kai (a] granus.net> 9250 9251 Reviewed by Darin Adler. 9252 9253 bug 25822: DOM normalize does not remove empty text node between element nodes 9254 https://bugs.webkit.org/show_bug.cgi?id=25822 9255 9256 Test: fast/dom/Node/normalize.html 9257 9258 * dom/Node.cpp: 9259 (WebCore::Node::normalize): Changed to remove any empty text nodes. 9260 9261 2009-05-16 Dave Moore <davemoore (a] google.com> 9262 9263 Reviewed by Darin Adler. 9264 9265 Allow Strings to be created with one malloc node with no copying 9266 https://bugs.webkit.org/show_bug.cgi?id=25779 9267 9268 Add new methods to String and StringImpl, refactoring existing 9269 methods in StringImpl to use new createUninitialized() method. 9270 9271 * platform/text/PlatformString.h: 9272 (WebCore::String::createUninitialized): 9273 * platform/text/StringImpl.cpp: 9274 (WebCore::StringImpl::createUninitialized): 9275 (WebCore::StringImpl::create): 9276 * platform/text/StringImpl.h: 9277 9278 2009-05-16 Mark Rowe <mrowe (a] apple.com> 9279 9280 Reviewed by Darin Adler. 9281 9282 <rdar://problem/6827041> WebCore should stop throwing away the CGImageSourceRef to 9283 dramatically improve animated GIF decoding performance 9284 9285 Recent versions of ImageIO discard previously decoded image frames if the client 9286 application no longer holds references to them, so there's no need to throw away 9287 the decoder unless we're explicitly asked to destroy all of the frames. 9288 9289 This drops peak CPU usage when displaying <http://www.aintitcool.com/files/HoD2.gif> 9290 from over 90% to below 3%. 9291 9292 * platform/graphics/cg/ImageSourceCG.cpp: 9293 (WebCore::ImageSource::clear): 9294 9295 2009-05-16 Dan Bernstein <mitz (a] apple.com> 9296 9297 Reviewed by Alexey Proskuryakov. 9298 9299 - fix <rdar://problem/6873305> Two distinct characters are not displayed 9300 correctly with 2 of the font selections from the stickies widget 9301 9302 Test: platform/mac/editing/pasteboard/text-precomposed.html 9303 9304 Ensure that "text/plain" data retrieved from the clipboard is always 9305 precomposed. This makes Clipboard::getData() and 9306 Pasteboard::documentFragment() consistent with Pasteboard::plainText() 9307 and -[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]. 9308 9309 * platform/mac/ClipboardMac.mm: 9310 (WebCore::ClipboardMac::getData): 9311 * platform/mac/PasteboardMac.mm: 9312 (WebCore::Pasteboard::documentFragment): 9313 9314 2009-05-16 Mark Rowe <mrowe (a] apple.com> 9315 9316 Build fix. 9317 9318 * css/CSSComputedStyleDeclaration.cpp: 9319 (WebCore::valueForFamily): Declare valueForFamily as static. 9320 9321 2009-05-15 Darin Adler <darin (a] apple.com> 9322 9323 Reviewed by Dan Bernstein. 9324 9325 <rdar://problem/6883872> REGRESSION (r43243): computed style for font-family is returning 9326 only the generic font, if any generic font is in the family list 9327 9328 Test: fast/css/getComputedStyle/computed-style-font-family.html 9329 9330 * css/CSSComputedStyleDeclaration.cpp: 9331 Sorted computedProperties alphabetically. Added CSSPropertyClip and CSSPropertyWordBreak. 9332 (WebCore::identifierForFamily): Added. Maps internal font family names to identifiers. 9333 (WebCore::valueForFamily): Added. Creates either an identifier or a string as appropriate. 9334 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Implemented the font-family 9335 property as specified in the CSS standard. Fixed clip to return "auto" when there is no 9336 clip set instead of nothing at all. Gave inheritableProperties and numInheritableProperties 9337 internal linkage since there was no reason for them to have external linkage. 9338 9339 2009-05-15 Adam Barth <abarth (a] webkit.org> 9340 9341 Reviewed by Oliver Hunt. 9342 9343 https://bugs.webkit.org/show_bug.cgi?id=25741 9344 9345 Append instead of throwing when insertItemBefore gets an out-of-bound 9346 index. 9347 9348 Test: svg/dom/svglist-insertItemBefore-appends.html 9349 9350 * svg/SVGList.h: 9351 (WebCore::SVGList::insertItemBefore): 9352 9353 2009-05-15 Simon Fraser <simon.fraser (a] apple.com> 9354 9355 Reviewed by Darin Adler 9356 9357 https://bugs.webkit.org/show_bug.cgi?id=25829 9358 9359 Fix -webkit-background-clip:text when the renderer had a non (0,0) x, y offset. 9360 9361 Test: fast/backgrounds/background-clip-text.html 9362 9363 * rendering/RenderBoxModelObject.cpp: 9364 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 9365 9366 2009-05-15 Dan Bernstein <mitz (a] apple.com> 9367 9368 Reviewed by Sam Weinig. 9369 9370 - fix <rdar://problem/6888244> REGRESSION: Using the Up or Down keyboard 9371 arrows, I can't navigate caret between To Do items in a Note message 9372 9373 Test: editing/selection/move-by-line-004.html 9374 9375 * editing/visible_units.cpp: 9376 (WebCore::enclosingNodeWithNonInlineRenderer): Added this helper 9377 function. 9378 (WebCore::previousLinePosition): When advancing to the next candidate 9379 node, stop when leaving the closest ancestor of the original node that 9380 is not an inline. The code, incorrectly, was trying to exit the closest 9381 ancestor of that type which was editable, and therefore missing other 9382 blocks in the same editable root. 9383 (WebCore::nextLinePosition): Ditto. 9384 9385 2009-05-15 Fridrich Strba <fridrich.strba (a] bluewin.ch> 9386 9387 Reviewed by Jan Alonzo. 9388 9389 Converting filename to uri by concatenating strings is broken 9390 on Windows. So, don't do it for that platform. 9391 9392 * platform/network/soup/ResourceHandleSoup.cpp: 9393 (WebCore::ResourceHandle::startGio): 9394 9395 2009-05-15 Nate Chapin <japhet (a] google.com> 9396 9397 Reviewed by Dimitri Glazkov. 9398 9399 Upstream V8 bindings for HTMLOptionsCollection and HTMLSelectElementCollection. 9400 https://bugs.webkit.org/show_bug.cgi?id=25739 9401 9402 * bindings/v8/V8Collection.cpp: Added. 9403 (WebCore::toOptionsCollectionSetter): Moved from v8_custom.cpp. 9404 * bindings/v8/V8Collection.h: Added prototype for toOptionsCollectionSetter(). 9405 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 9406 (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp. 9407 * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Added. 9408 (WebCore::NAMED_PROPERTY_GETTER): Moved from v8_custom.cpp. 9409 (WebCore::INDEXED_PROPERTY_SETTER): Moved from v8_custom.cpp. 9410 9411 2009-05-15 David Kilzer <ddkilzer (a] apple.com> 9412 9413 <rdar://problem/6649936> Add *.exp export files to WebCore Xcode project 9414 9415 Reviewed by Darin Adler and Timothy Hatcher. 9416 9417 * WebCore.xcodeproj/project.pbxproj: Added Exports group, moved 9418 WebCore.base.exp into the group, and added 10 other *.exp files 9419 in WebCore. 9420 9421 2009-05-15 Dimitri Glazkov <dglazkov (a] chromium.org> 9422 9423 Unreviewed, build fix. 9424 9425 https://bugs.webkit.org/show_bug.cgi?id=25826 9426 Change type to only have custom getter in JCS. 9427 9428 * html/HTMLInputElement.idl: Changed CustomGetter attribute to JSCCustomGetter. 9429 9430 2009-05-15 Antti Koivisto <antti (a] apple.com> 9431 9432 Reviewed by Dave Kilzer. 9433 9434 Add a settings entry to en/disable web font support 9435 https://bugs.webkit.org/show_bug.cgi?id=25239 9436 9437 * css/CSSFontSelector.cpp: 9438 (WebCore::CSSFontSelector::addFontFaceRule): 9439 9440 2009-05-15 Sam Weinig <sam (a] webkit.org> 9441 9442 Reviewed by Steve Falkenburg. 9443 9444 Remove dead youtube site specific hack that was commented out. 9445 9446 * bindings/js/JSNavigatorCustom.cpp: 9447 * page/Navigator.idl: 9448 9449 2009-05-15 Sam Weinig <sam (a] webkit.org> 9450 9451 Reviewed by Beth Dakin. 9452 9453 Fix for https://bugs.webkit.org/show_bug.cgi?id=25826 9454 <rdar://problem/6884742> 9455 REGRESSION: In Gmail's Edit Link dialog, I can't type in the Link To: field (due to <input type=url> support) 9456 9457 Added a site specific quirk for mail.google.com which returns "text" when getting the type of an <input type=url> 9458 9459 * bindings/js/JSHTMLInputElementCustom.cpp: 9460 (WebCore::needsGmailQuirk): 9461 (WebCore::JSHTMLInputElement::type): 9462 * html/HTMLInputElement.idl: 9463 9464 2009-05-14 Dimitri Glazkov <dglazkov (a] chromium.org> 9465 9466 Reviewed by Eric Seidel. 9467 9468 https://bugs.webkit.org/show_bug.cgi?id=25810 9469 Upstream V8 DOM Wrapper map declarations. 9470 9471 No behavior change, so no tests. 9472 9473 * bindings/v8/V8DOMMap.h: 9474 (WebCore::WeakReferenceMap::WeakReferenceMap): Added. 9475 (WebCore::WeakReferenceMap::~WeakReferenceMap): Added. 9476 (WebCore::WeakReferenceMap::get): Added. 9477 (WebCore::WeakReferenceMap::set): Added. 9478 (WebCore::WeakReferenceMap::forget): Added. 9479 (WebCore::WeakReferenceMap::contains): Added. 9480 (WebCore::WeakReferenceMap::impl): Added. 9481 (WebCore::DOMWrapperMap::DOMWrapperMap): Added. 9482 9483 2009-05-15 Simon Fraser <simon.fraser (a] apple.com> 9484 9485 Reviewed by Dave Hyatt 9486 9487 https://bugs.webkit.org/show_bug.cgi?id=25773 9488 9489 Rename GraphicsLayer::graphicsContextsFlipped() to 9490 GraphicsLayer::compositingCoordinatesOrientation() in order to clarify the usage. 9491 9492 Clean up code around the GraphicsLayer "contents" layer that makes use of this 9493 flag, by removing the setHasContentsLayer() method, and just using setContentsLayer(), 9494 which can then always do the flipping if necessary. 9495 9496 Only affects ACCELERATED_COMPOSITING builds. 9497 9498 * platform/graphics/GraphicsLayer.h: 9499 (WebCore::GraphicsLayer::): 9500 * platform/graphics/mac/GraphicsLayerCA.h: 9501 (WebCore::GraphicsLayerCA::contentsLayer): 9502 * platform/graphics/mac/GraphicsLayerCA.mm: 9503 (WebCore::GraphicsLayer::compositingCoordinatesOrientation): 9504 (WebCore::GraphicsLayerCA::setBackgroundColor): 9505 (WebCore::GraphicsLayerCA::clearBackgroundColor): 9506 (WebCore::GraphicsLayerCA::setContentsToImage): 9507 (WebCore::GraphicsLayerCA::clearContents): 9508 (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): 9509 (WebCore::GraphicsLayerCA::setContentsLayer): 9510 * rendering/RenderLayerCompositor.cpp: 9511 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 9512 9513 2009-05-15 Chris Marrin <cmarrin (a] apple.com> 9514 9515 Reviewed by Simon Fraser. 9516 9517 https://bugs.webkit.org/show_bug.cgi?id=25765 9518 9519 Avoid calling setNeedsStyleRecalc() when we are 9520 putting an animated page in the cache. This avoids 9521 the assert and subsequent problems with a dirty 9522 page going into the cache. 9523 9524 * page/animation/KeyframeAnimation.cpp: 9525 (WebCore::KeyframeAnimation::endAnimation): 9526 9527 2009-05-15 Francisco Tolmasky <francisco (a] 280north.com> 9528 9529 BUG 25467: JavaScript debugger should use function.displayName as the function's name in the call stack 9530 <https://bugs.webkit.org/show_bug.cgi?id=25467> 9531 9532 Reviewed by Adam Roben. 9533 9534 * inspector/JavaScriptCallFrame.cpp: 9535 (WebCore::JavaScriptCallFrame::functionName): Use calculatedFunctionName which takes into account displayName 9536 * inspector/front-end/CallStackSidebarPane.js: Remove "|| anonymous function" since it is handled internally just like in profiles 9537 (WebInspector.CallStackSidebarPane.prototype.update): 9538 9539 2009-05-15 Alexey Proskuryakov <ap (a] webkit.org> 9540 9541 Windows build fix (and a matching Mac change, to avoid unnecessarily diverging the implementations). 9542 9543 * platform/network/cf/ResourceHandleCFNet.cpp: 9544 (WebCore::ResourceHandle::start): 9545 * platform/network/mac/ResourceHandleMac.mm: 9546 (WebCore::ResourceHandle::start): 9547 Check strings with isEmpty(), not relying on any implicit conversions. 9548 9549 2009-05-15 Alexey Proskuryakov <ap (a] webkit.org> 9550 9551 Reviewed by Darin Adler, Brady Eidson and Eric Carlson. 9552 9553 <rdar://problem/6875643> REGRESSION: Unable to download file with FTP URL that includes 9554 username and password (Lightwave 9.6 for Mac from Newtek site) 9555 9556 CFNetwork only invokes didReceiveAuthenticationChallenge for HTTP requests. Credentials 9557 for other protocols (including FTP) should be included as part of the URL. 9558 9559 * platform/network/cf/ResourceHandleCFNet.cpp: 9560 (WebCore::ResourceHandle::start): 9561 (WebCore::WebCoreSynchronousLoader::load): 9562 * platform/network/mac/ResourceHandleMac.mm: 9563 (WebCore::ResourceHandle::start): 9564 (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): 9565 Put credentials in URL for non-HTTP requests. 9566 9567 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): 9568 Bail out quickly if the URL is non-HTTP. Cross-origin requests require specific HTTP 9569 headers to be received, so they cannot work with other protocols. 9570 9571 2009-05-15 Ariya Hidayat <ariya.hidayat (a] nokia.com> 9572 9573 Reviewed by Holger Freyther. 9574 9575 [Qt] In the image decoder, remove the raw image data represented as QImage 9576 once the image is converted to QPixmap and inserted in the pixmap cache. 9577 This effectively reduces the heap usage when running on graphics system 9578 other than raster (i.e the case where QImage != QPixmap). 9579 9580 * platform/graphics/qt/ImageDecoderQt.cpp: 9581 (WebCore::ImageDecoderQt::imageAtIndex): Nullified the image on purpose. 9582 * platform/graphics/qt/ImageDecoderQt.h: Made m_imageList mutable. 9583 9584 2009-05-15 Ariya Hidayat <ariya.hidayat (a] nokia.com> 9585 9586 Reviewed by Holger Freyther. 9587 9588 [Qt] Refactor alpha channel detection the image decoder. 9589 Sets the boolean flag as soon as the image is being read. 9590 9591 * platform/graphics/qt/ImageDecoderQt.cpp: 9592 (WebCore::ImageDecoderQt::ImageDecoderQt): Initialized m_hasAlphaChannel. 9593 (WebCore::ImageDecoderQt::setData): Set the flag when appropriate. 9594 (WebCore::ImageDecoderQt::supportsAlpha): Simplified. 9595 (WebCore::ImageDecoderQt::reset): Resetted the flag. 9596 * platform/graphics/qt/ImageDecoderQt.h: Added m_hasAlphaChannel. 9597 9598 2009-05-15 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 9599 9600 Reviewed by Darin Adler. 9601 9602 Finish support for disabling the JavaScript Debugger and Profiler 9603 at compile time in WebCore 9604 https://bugs.webkit.org/show_bug.cgi?id=24917 9605 9606 * bindings/js/JSInspectorControllerCustom.cpp: ENABLE_JAVASCRIPT_DEBUGGER guard 9607 * bindings/js/JSJavaScriptCallFrameCustom.cpp: Ditto. 9608 * inspector/JavaScriptCallFrame.cpp: Ditto. 9609 * inspector/JavaScriptCallFrame.h: Ditto. 9610 * inspector/JavaScriptCallFrame.idl: Ditto. 9611 * inspector/JavaScriptDebugListener.h: Ditto. 9612 * inspector/JavaScriptDebugServer.cpp: Ditto. 9613 * inspector/JavaScriptDebugServer.h: Ditto. 9614 * inspector/JavaScriptProfile.cpp: Ditto. 9615 * inspector/JavaScriptProfile.h: Ditto. 9616 * inspector/JavaScriptProfileNode.cpp: Ditto. 9617 * inspector/JavaScriptProfileNode.h: Ditto. 9618 * page/Console.cpp: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of USE(JSC) 9619 * page/Console.h: Ditto. 9620 * page/Console.idl: Use guard ENABLE(JAVASCRIPT_DEBUGGER) instead of !defined(V8_BINDING) 9621 9622 2009-05-15 Jungshik Shin <jshin (a] chromium.org> 9623 9624 Reviewed by Dimitri Glazkov 9625 9626 http://bugs.webkit.org/show_bug.cgi?id=25464 9627 9628 Improve the font fallback for characters belonging to 'common' scripts 9629 in ChromiumWin port. Make characters like Danda, Double Danda (punctuation 9630 marks in North Indian scripts) and currency signs (e.g. Thai Baht) 9631 rendered correctly in Chromium on Win. 9632 9633 Tests: fast/text/international/danda-space.html 9634 fast/text/international/thai-baht-space.html 9635 9636 * platform/graphics/chromium/FontUtilsChromiumWin.cpp: 9637 (WebCore::FontMap::getScriptBasedOnUnicodeBlock): 9638 (WebCore::FontMap::getScript): 9639 (WebCore::getFallbackFamily): 9640 9641 2009-05-15 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 9642 9643 Reviewed by Holger Freyther. 9644 9645 https://bugs.webkit.org/show_bug.cgi?id=25731 9646 [Qt] Cleanup - move files exclusive to XPATH and XSLT under the 9647 appropriate build section 9648 9649 * WebCore.pro: 9650 9651 2009-05-14 Evan Martin <evan (a] chromium.org> 9652 9653 Reviewed by Eric Seidel and Darin Fisher. 9654 9655 Fix a font-related leak in Chromium's Skia backend found by Valgrind. 9656 https://bugs.webkit.org/show_bug.cgi?id=25760 9657 9658 * platform/graphics/chromium/FontCacheLinux.cpp: 9659 (WebCore::FontCache::getFontDataForCharacters): 9660 Use caches instead of "new" on every call. 9661 9662 2009-05-14 Rahul Kuchhal <kuchhal (a] chromium.org> 9663 9664 Reviewed by Eric Seidel. 9665 9666 Initialize m_spreadMethod in the second constructor too. Not sure if 9667 a test case can be written, so no test case. 9668 https://bugs.webkit.org/show_bug.cgi?id=25814 9669 9670 No test possible: spreadMethod() is only used by SVG, doesn't seem possible to hit 9671 this case, since several other SVG tests already should be calling 9672 spreadMethod(). 9673 9674 * platform/graphics/Gradient.cpp: 9675 (WebCore::Gradient::Gradient): 9676 9677 2009-05-14 Simon Fraser <simon.fraser (a] apple.com> 9678 9679 No review. 9680 9681 Fix Windows build after renaming MediaControlElements to MediaControlElementType. 9682 9683 * rendering/RenderMediaControls.cpp: 9684 (WebCore::RenderMediaControls::paintMediaControlsPart): 9685 * rendering/RenderMediaControls.h: 9686 9687 2009-05-14 Simon Fraser <simon.fraser (a] apple.com> 9688 9689 Reviewed by Darin Adler 9690 9691 <rdar://problem/6739671> Movie controllers play button does not change into a pause 9692 button 9693 9694 Fix a controls repaint issue when the playing state of a video changes by 9695 educating the MediaControlInputElements about the state they are currently 9696 displaying, and making them repaint when that state changes. This applies 9697 to the play/pause and mute/unmute buttons, which both have two states. 9698 9699 * rendering/MediaControlElements.cpp: 9700 (WebCore::MediaControlInputElement::MediaControlInputElement): 9701 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): 9702 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 9703 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): 9704 Pass in and initialize the MediaControlElementType. 9705 9706 (WebCore::MediaControlInputElement::update): 9707 Update the display type too 9708 9709 (WebCore::MediaControlInputElement::setDisplayType): 9710 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): 9711 (WebCore::MediaControlMuteButtonElement::updateDisplayType): 9712 Choose muted vs. unmuted display. 9713 9714 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): 9715 (WebCore::MediaControlPlayButtonElement::updateDisplayType): 9716 Choose play vs. paused display. 9717 9718 * rendering/MediaControlElements.h: 9719 Renamed the MediaControlElements enum to MediaControlElementType. 9720 (WebCore::MediaControlInputElement::updateDisplayType): 9721 Add a MediaControlElementType member variable with a setter to allow 9722 the element to know what type it is displaying. 9723 9724 2009-05-14 Dean Jackson <dino (a] apple.com> 9725 9726 Reviewed by Simon Fraser. 9727 9728 https://bugs.webkit.org/show_bug.cgi?id=25197 9729 9730 Add support for aspect-ratio and orientation 9731 media queries. 9732 9733 Tests: fast/media/mq-aspect-ratio.html 9734 fast/media/mq-orientation.html 9735 9736 * css/MediaFeatureNames.h: 9737 * css/MediaQueryEvaluator.cpp: 9738 (WebCore::orientationMediaFeatureEval): 9739 (WebCore::aspect_ratioMediaFeatureEval): 9740 (WebCore::min_aspect_ratioMediaFeatureEval): 9741 (WebCore::max_aspect_ratioMediaFeatureEval): 9742 * css/MediaQueryExp.h: 9743 (WebCore::MediaQueryExp::isViewportDependent): 9744 9745 2009-05-14 Kevin McCullough <kmccullough (a] apple.com> 9746 9747 - Resubmitting previous patch, correctly this time. 9748 9749 * editing/CompositeEditCommand.cpp: 9750 (WebCore::CompositeEditCommand::splitTreeToNode): 9751 * editing/IndentOutdentCommand.cpp: 9752 (WebCore::IndentOutdentCommand::outdentParagraph): 9753 9754 2009-05-14 Kevin McCullough <kmccullough (a] apple.com> 9755 9756 - Rolling out to fix a bug and the build 9757 9758 * editing/CompositeEditCommand.cpp: 9759 (WebCore::CompositeEditCommand::splitTreeToNode): 9760 * editing/IndentOutdentCommand.cpp: 9761 (WebCore::IndentOutdentCommand::outdentParagraph): 9762 9763 2009-05-14 Kevin McCullough <kmccullough (a] apple.com> 9764 9765 Reviewed by Dan Bernstein. 9766 9767 <rdar://problem/6510362> In some situations message content is messed up 9768 when indentation is decreased 9769 9770 * editing/CompositeEditCommand.cpp: 9771 (WebCore::CompositeEditCommand::splitTreeToNode): Calling recursively 9772 here served to do nothing because this function will return if the 9773 second argument is the parent of the first. Not only does this now work 9774 as intended, but is necessary for the rest of this fix. 9775 * editing/IndentOutdentCommand.cpp: 9776 (WebCore::IndentOutdentCommand::outdentParagraph): To determine if we 9777 are the last node in a <blockquote>, and can therefore remove the 9778 <blockquote> we need the endOfEnclosingBlock to extend to the end of 9779 the <blockquote> not just the next block, which could be a <div>, for 9780 example. 9781 - Also If a <blockquote> is removed, but it's the child of another 9782 <blockquote> then its children are now children of the top <blockquote>. 9783 In this case we want to split the parent <blockquote> because the next 9784 paragraph assumes that it is the first node in its <blockquote> and if 9785 that is not true, various bugs arise. 9786 9787 2009-05-14 Brady Eidson <beidson (a] apple.com> 9788 9789 Build fix. 9790 9791 * platform/network/cf/ResourceHandleCFNet.cpp: 9792 (WebCore::setDefaultMIMEType): 9793 9794 2009-05-14 Brady Eidson <beidson (a] apple.com> 9795 9796 Reviewed by Adam Roben. 9797 9798 Fix http/tests/xmlhttprequest/cache-override.html on Windows 9799 9800 * platform/network/cf/ResourceHandleCFNet.cpp: 9801 (WebCore::setDefaultMIMEType): Modify the previous response so it maintains all of its data. 9802 (WebCore::didReceiveResponse): Call setDefaultMIMEType() when needed. 9803 (WebCore::WebCoreSynchronousLoader::load): Ditto. 9804 9805 2009-05-14 Paul Godavari <paul (a] chromium.org> 9806 9807 Reviewed by Dimitri Glazkov. 9808 9809 Bug: Mac Chromium popup menus are not positioned correctly 9810 on scrolled pages: 9811 https://bugs.webkit.org/show_bug.cgi?id=25772 9812 9813 Fix Mac Chromium popup menu placement by taking into 9814 account any scrolling in the current window. This mirrors 9815 the positioning done in PopupContainer::show(), which is 9816 used on Chromium Windows and linux. 9817 9818 Also fixed indenting for this method. 9819 9820 * platform/chromium/PopupMenuChromium.cpp: 9821 (WebCore::PopupContainer::showExternal): 9822 9823 2009-05-14 Drew Wilson <atwilson (a] google.com> 9824 9825 Reviewed by Dimitri Glazkov. 9826 9827 https://bugs.webkit.org/show_bug.cgi?id=25774 9828 Upstream V8MessagePortCustom.cpp from the chromium repository. 9829 9830 * bindings/v8/custom/V8MessagePortCustom.cpp: Added. 9831 (WebCore::ACCESSOR_GETTER): 9832 (WebCore::ACCESSOR_SETTER): 9833 (WebCore::CALLBACK_FUNC_DECL): 9834 9835 2009-05-14 Simon Fraser <simon.fraser (a] apple.com> 9836 9837 Reviewed by Darin Adler 9838 9839 https://bugs.webkit.org/show_bug.cgi?id=25777 9840 9841 StyleGeneratedImage::imageSize() needs to take zooming into account for 9842 fixed-size images (i.e. canvas) so that canvas-as-image-background 9843 renders correctly with zooming. 9844 9845 Test: fast/canvas/canvas-bg-zoom.html 9846 9847 * rendering/style/StyleGeneratedImage.cpp: 9848 (WebCore::StyleGeneratedImage::imageSize): 9849 9850 2009-05-14 Alexey Proskuryakov <ap (a] webkit.org> 9851 9852 Reviewed by Darin Adler. 9853 9854 Patch originally by Darin Adler. 9855 9856 https://bugs.webkit.org/show_bug.cgi?id=25796 9857 <rdar://problem/6886654> Shouldn't set referer and origin in Loader::Host::servePendingRequests(). 9858 9859 Test: http/tests/security/credentials-in-referer.html 9860 9861 * loader/loader.cpp: (WebCore::Loader::Host::servePendingRequests): This will be done in 9862 SubresourceLoader::create() anyway. 9863 9864 2009-05-14 Chris Fleizach <cfleizach (a] apple.com> 9865 9866 Reviewed by Darin Adler. 9867 9868 Bug 25797: Pages with image maps are not properly read with Voiceover 9869 https://bugs.webkit.org/show_bug.cgi?id=25797 9870 9871 * page/AccessibilityImageMapLink.h: 9872 (WebCore::AccessibilityImageMapLink::isEnabled): 9873 9874 2009-05-14 Brady Eidson <beidson (a] apple.com> 9875 9876 Reviewed by Darin Adler. 9877 9878 <rdar://problem/6887762> and https://bugs.webkit.org/show_bug.cgi?id=25790 9879 9880 Nuke the bogus ASSERT and add a legitimate ASSERT with a little help from a new accessor. 9881 9882 * platform/network/ResourceHandle.cpp: 9883 (WebCore::ResourceHandle::shouldContentSniff): 9884 * platform/network/ResourceHandle.h: 9885 9886 * platform/network/cf/ResourceHandleCFNet.cpp: 9887 (WebCore::createCFURLResponseWithDefaultMIMEType): 9888 (WebCore::didReceiveResponse): 9889 9890 2009-05-14 Eric Carlson <eric.carlson (a] apple.com> 9891 9892 Reviewed by Darin Adler. 9893 9894 https://bugs.webkit.org/show_bug.cgi?id=25791 9895 Bug 25791: HTMLMediaElement: implement 'startTime' attribute 9896 9897 Support the recently added HTMLMediaElement 'startTime' attribute. This is a read-only 9898 value that only the media engine can know, so we just need to add the attribute 9899 to HTMLMediaElement and add methods to MediaPlayer and MediaPlayerPrivateInterface so 9900 the engine can make it available. 9901 9902 Test: media/media-startTime.html 9903 9904 * html/HTMLMediaElement.cpp: 9905 (WebCore::HTMLMediaElement::startTime): New. 9906 * html/HTMLMediaElement.h: 9907 * html/HTMLMediaElement.idl: 9908 9909 * platform/graphics/MediaPlayer.cpp: 9910 (WebCore::MediaPlayer::startTime): New. 9911 * platform/graphics/MediaPlayer.h: 9912 9913 * platform/graphics/MediaPlayerPrivate.h: 9914 (WebCore::MediaPlayerPrivateInterface::startTime): New. 9915 9916 2009-05-14 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 9917 9918 Reviewed by Ariya Hidayat. 9919 9920 Only create a QWidget wrapper for the plugin in the case it is not 9921 in the Qt window mapper, and thus receiving events from the Qt 9922 event system. Native Qt based plugins running in process, will 9923 already be in the window mapper, and thus creating a wrapper, 9924 stops them from getting events from Qt, as they are redirected 9925 to the wrapper. 9926 9927 * plugins/qt/PluginContainerQt.cpp: 9928 (PluginContainerQt::on_clientIsEmbedded): 9929 9930 2009-05-14 Alexey Proskuryakov <ap (a] webkit.org> 9931 9932 Reviewed by Darin Adler. 9933 9934 https://bugs.webkit.org/show_bug.cgi?id=25784 9935 Leaks seen on HTTP tests 9936 9937 We should change ResourceHandleMac.mm to use smart pointers some day, but this is a minimal fix. 9938 9939 * platform/network/mac/ResourceHandleMac.mm: 9940 (WebCore::ResourceHandle::loadResourceSynchronously): Release mutable request copy made for 9941 disabling content sniffing, matching the normal code path. 9942 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Release m_user 9943 and m_pass before overwriting. 9944 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto. 9945 9946 2009-05-14 Yury Semikhatsky <yurys (a] chromium.org> 9947 9948 Reviewed by Dimitri Glazkov. 9949 9950 https://bugs.webkit.org/show_bug.cgi?id=25418 9951 Remove new lines from event handler wrapper to make line numbers 9952 in the wrapped script conside with the lines in the original script. 9953 9954 * bindings/v8/V8LazyEventListener.cpp: 9955 (WebCore::V8LazyEventListener::getListenerFunction): 9956 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 9957 9958 2009-05-14 Dimitri Glazkov <dglazkov (a] chromium.org> 9959 9960 Reviewed by Alexey Proskuryakov. 9961 9962 Remove a JSC-specific include that is already added by including 9963 ScriptController. 9964 9965 No change in behavior, so no tests. 9966 9967 * dom/Document.cpp: Removed JSDOMBinding include. 9968 9969 2009-05-14 Alexey Proskuryakov <ap (a] webkit.org> 9970 9971 Reviewed by Brady Eidson. 9972 9973 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled 9974 9975 Hopefully, a final stroke. When updating ResourceRequest from a platform request, a wrong 9976 CFString function was used, so a user-friendly name was stored in encoding fallback array. 9977 9978 * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdateResourceRequest): 9979 * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdateResourceRequest): 9980 9981 2009-05-14 Ben Murdoch <benm (a] google.com> 9982 9983 Reviewed by Darin Adler. 9984 9985 Add more ENABLE_DATABASE guards. 9986 https://bugs.webkit.org/show_bug.cgi?id=25616 9987 9988 See also https://bugs.webkit.org/show_bug.cgi?id=24776 (original set of guards) 9989 9990 * bindings/js/JSSQLResultSetRowListCustom.cpp: 9991 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: 9992 * bindings/v8/custom/V8CustomSQLStatementCallback.h: 9993 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: 9994 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: 9995 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: 9996 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: 9997 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: 9998 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: 9999 * bindings/v8/custom/V8DatabaseCustom.cpp: 10000 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: 10001 * bindings/v8/custom/V8SQLTransactionCustom.cpp: 10002 * storage/Database.cpp: 10003 * storage/DatabaseDetails.h: 10004 * storage/OriginUsageRecord.cpp: 10005 * storage/OriginUsageRecord.h: 10006 * storage/SQLError.h: 10007 * storage/SQLError.idl: 10008 * storage/SQLResultSet.cpp: 10009 * storage/SQLResultSet.h: 10010 * storage/SQLResultSet.idl: 10011 * storage/SQLResultSetRowList.cpp: 10012 * storage/SQLResultSetRowList.h: 10013 * storage/SQLResultSetRowList.idl: 10014 * storage/SQLStatementCallback.h: 10015 * storage/SQLStatementErrorCallback.h: 10016 * storage/SQLTransactionCallback.h: 10017 * storage/SQLTransactionErrorCallback.h: 10018 10019 2009-05-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 10020 10021 Reviewed by Darin Adler. 10022 10023 https://bugs.webkit.org/show_bug.cgi?id=25787 10024 10025 Gtk was the last platform to not unregister plugins when 10026 the plugin is stopped. Catch up with r43550. 10027 10028 * plugins/gtk/PluginViewGtk.cpp: 10029 (WebCore::PluginView::stop): 10030 10031 2009-05-14 Adam Roben <aroben (a] apple.com> 10032 10033 Make WebCore.vcproj's pre-build event work again 10034 10035 * WebCore.vcproj/WebCore.vcproj: Removed empty override of the 10036 pre-build event that was accidentally left in when the pre-build event 10037 was moved to WebCoreCommon.vsprops. 10038 10039 2009-05-14 Darin Adler <darin (a] apple.com> 10040 10041 * manual-tests/right-click-crash.html: Added. 10042 10043 2009-05-14 Mark Rowe <mrowe (a] apple.com> 10044 10045 Rubber-stamped by Darin Adler. 10046 10047 <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2 10048 10049 The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode. 10050 Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR 10051 if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not. 10052 10053 * Configurations/Base.xcconfig: 10054 10055 2009-05-13 Anders Carlsson <andersca (a] apple.com> 10056 10057 Fix build. 10058 10059 * WebCore.NPAPI.exp: 10060 10061 2009-05-13 Eric Seidel <eric (a] webkit.org> 10062 10063 Reviewed by Oliver Hunt. 10064 10065 Fix invalid memory write seen in HTMLCanvasElement by Valgrind 10066 https://bugs.webkit.org/show_bug.cgi?id=25759 10067 10068 I can't think of any way to catch this with a layout test, so no test. 10069 10070 * css/CSSCanvasValue.cpp: 10071 (WebCore::CSSCanvasValue::canvasDestroyed): 10072 * css/CSSCanvasValue.h: 10073 * html/HTMLCanvasElement.cpp: 10074 (WebCore::HTMLCanvasElement::~HTMLCanvasElement): 10075 * html/HTMLCanvasElement.h: 10076 10077 2009-05-13 Dan Bernstein <mitz (a] apple.com> 10078 10079 Reviewed by Anders Carlsson. 10080 10081 - fix <rdar://problem/5483015> Replies in Mail are drawn first without 10082 the user style sheet and then redrawn with the style sheet 10083 10084 Test: platform/mac/fast/loader/user-stylesheet-fast-path.html 10085 10086 * page/mac/FrameMac.mm: 10087 (WebCore::Frame::setUserStyleSheetLocation): For data URLs with 10088 base64-encoded UTF-8 data, just decode the style sheet here an apply 10089 it synchronously instead of invoking an asynchronous loader. 10090 10091 2009-05-13 Chris Fleizach <cfleizach (a] apple.com> 10092 10093 Bug 25755: Implement ARIA grid role 10094 https://bugs.webkit.org/show_bug.cgi?id=25755 10095 10096 Fix build bustage from last checkin. 10097 10098 * page/AccessibilityAriaGrid.cpp: 10099 (WebCore::AccessibilityAriaGrid::addChild): 10100 10101 2009-05-13 Chris Fleizach <cfleizach (a] apple.com> 10102 10103 Reviewed by Beth Dakin. 10104 10105 Bug 25755: Implement ARIA grid role 10106 https://bugs.webkit.org/show_bug.cgi?id=25755 10107 10108 Test: accessibility/aria-tables.html 10109 10110 * GNUmakefile.am: 10111 * WebCore.pro: 10112 * WebCore.vcproj/WebCore.vcproj: 10113 * WebCore.xcodeproj/project.pbxproj: 10114 * WebCoreSources.bkl: 10115 * page/AXObjectCache.cpp: 10116 (WebCore::AXObjectCache::nodeIsAriaType): 10117 (WebCore::AXObjectCache::getOrCreate): 10118 * page/AXObjectCache.h: 10119 * page/AccessibilityAriaGrid.cpp: Added. 10120 (WebCore::AccessibilityAriaGrid::AccessibilityAriaGrid): 10121 (WebCore::AccessibilityAriaGrid::~AccessibilityAriaGrid): 10122 (WebCore::AccessibilityAriaGrid::create): 10123 (WebCore::AccessibilityAriaGrid::addChild): 10124 (WebCore::AccessibilityAriaGrid::addChildren): 10125 (WebCore::AccessibilityAriaGrid::cellForColumnAndRow): 10126 * page/AccessibilityAriaGrid.h: Added. 10127 (WebCore::AccessibilityAriaGrid::isAriaTable): 10128 * page/AccessibilityAriaGridCell.cpp: Added. 10129 (WebCore::AccessibilityAriaGridCell::AccessibilityAriaGridCell): 10130 (WebCore::AccessibilityAriaGridCell::~AccessibilityAriaGridCell): 10131 (WebCore::AccessibilityAriaGridCell::create): 10132 (WebCore::AccessibilityAriaGridCell::parentTable): 10133 (WebCore::AccessibilityAriaGridCell::rowIndexRange): 10134 (WebCore::AccessibilityAriaGridCell::columnIndexRange): 10135 * page/AccessibilityAriaGridCell.h: Added. 10136 * page/AccessibilityAriaGridRow.cpp: Added. 10137 (WebCore::AccessibilityAriaGridRow::AccessibilityAriaGridRow): 10138 (WebCore::AccessibilityAriaGridRow::~AccessibilityAriaGridRow): 10139 (WebCore::AccessibilityAriaGridRow::create): 10140 (WebCore::AccessibilityAriaGridRow::parentTable): 10141 (WebCore::AccessibilityAriaGridRow::headerObject): 10142 * page/AccessibilityAriaGridRow.h: Added. 10143 * page/AccessibilityList.cpp: 10144 (WebCore::AccessibilityList::accessibilityIsIgnored): 10145 * page/AccessibilityList.h: 10146 * page/AccessibilityObject.h: 10147 (WebCore::): 10148 * page/AccessibilityRenderObject.cpp: 10149 (WebCore::RoleEntry::): 10150 * page/AccessibilityTable.cpp: 10151 (WebCore::AccessibilityTable::AccessibilityTable): 10152 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 10153 * page/AccessibilityTable.h: 10154 (WebCore::AccessibilityTable::isAriaTable): 10155 * page/AccessibilityTableCell.cpp: 10156 (WebCore::AccessibilityTableCell::parentTable): 10157 (WebCore::AccessibilityTableCell::isTableCell): 10158 (WebCore::AccessibilityTableCell::titleUIElement): 10159 * page/AccessibilityTableCell.h: 10160 * page/AccessibilityTableColumn.cpp: 10161 (WebCore::AccessibilityTableColumn::setParentTable): 10162 (WebCore::AccessibilityTableColumn::headerObject): 10163 * page/AccessibilityTableRow.cpp: 10164 (WebCore::AccessibilityTableRow::isTableRow): 10165 (WebCore::AccessibilityTableRow::parentTable): 10166 * page/AccessibilityTableRow.h: 10167 * page/mac/AccessibilityObjectWrapper.mm: 10168 (RoleEntry::): 10169 10170 2009-05-13 David Levin <levin (a] chromium.org> 10171 10172 Reviewed by Dimitri Glazkov. 10173 10174 Bug 25763: Need to move v8 custom binding to the custom directory. 10175 https://bugs.webkit.org/show_bug.cgi?id=25763 10176 10177 No test due to no change in behavior. 10178 10179 * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Renamed from WebCore/bindings/v8/V8CanvasPixelArrayCustom.cpp. 10180 10181 2009-05-13 Nate Chapin <japhet (a] google.com> 10182 10183 Reviewed by Dimitri Glazkov. 10184 10185 Fix LayoutTests/fast/dom/Element/attr-param-typechecking.html crashing with V8. 10186 https://bugs.webkit.org/show_bug.cgi?id=25758 10187 10188 * bindings/v8/custom/V8ElementCustom.cpp: 10189 (WebCore::CALLBACK_FUNC_DECL): return the result of throwError() if it is called. 10190 10191 2009-05-13 Jeremy Moskovich <jeremy (a] chromium.org> 10192 10193 Reviewed by Dave Hyatt. 10194 10195 Fix a number of bugs relating to RTL and text-overflow:ellipsis. 10196 Also refactor the relevant code to make it a little clearer. 10197 10198 This CL fixes 3 fundamental issues: 10199 - Corrects behavior if the truncated InlineTextBox's directionality is 10200 different from the overall flow direction - bug 25135. 10201 - Make decoration drawing in InlineFlowbox RTL-aware - bug 24206. 10202 - Full truncation on InlineBoxes in RTL flow - bug 24186 10203 - Add tests for the above + reorder/cleanup tests for easier 10204 interpretation of outcome. 10205 10206 The code for placing ellipsis has been refactored to use 10207 left/right notation rather than a single variable whose meaning 10208 could differ based on flow directionality. 10209 10210 To support differing inline directionality vs flow directionality, 10211 different variables are now used in InlineTextBox::placeEllipsisBox to 10212 track the two. 10213 10214 The drawing mode for underlines in standards mode now correctly handles 10215 RTL truncation and relevant test where added. 10216 10217 https://bugs.webkit.org/show_bug.cgi?id=24186 10218 https://bugs.webkit.org/show_bug.cgi?id=25135 10219 https://bugs.webkit.org/show_bug.cgi?id=24206 10220 10221 Tests: fast/css/text-overflow-ellipsis-bidi.html 10222 fast/css/text-overflow-ellipsis-strict.html 10223 10224 * rendering/InlineBox.cpp: 10225 (WebCore::InlineBox::placeEllipsisBox): 10226 * rendering/InlineBox.h: 10227 * rendering/InlineFlowBox.cpp: 10228 (WebCore::InlineFlowBox::paintTextDecorations): 10229 (WebCore::InlineFlowBox::placeEllipsisBox): 10230 * rendering/InlineFlowBox.h: 10231 * rendering/InlineTextBox.cpp: 10232 (WebCore::InlineTextBox::placeEllipsisBox): 10233 (WebCore::InlineTextBox::paint): 10234 * rendering/InlineTextBox.h: 10235 * rendering/RenderFlexibleBox.cpp: 10236 (WebCore::RenderFlexibleBox::layoutVerticalBox): 10237 * rendering/RootInlineBox.cpp: 10238 (WebCore::RootInlineBox::placeEllipsis): 10239 (WebCore::RootInlineBox::placeEllipsisBox): 10240 * rendering/RootInlineBox.h: 10241 * rendering/bidi.cpp: 10242 (WebCore::RenderBlock::checkLinesForTextOverflow): 10243 10244 2009-05-13 Dmitry Titov <dimich (a] chromium.org> 10245 10246 Rubber-stamped by Mark Rowe. 10247 10248 https://bugs.webkit.org/show_bug.cgi?id=25746 10249 Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4. 10250 10251 * dom/XMLTokenizerLibxml2.cpp: 10252 (WebCore::matchFunc): 10253 (WebCore::openFunc): 10254 (WebCore::createStringParser): 10255 (WebCore::createMemoryParser): 10256 * loader/icon/IconDatabase.cpp: 10257 (WebCore::IconDatabase::open): 10258 * platform/sql/SQLiteDatabase.cpp: 10259 (WebCore::SQLiteDatabase::SQLiteDatabase): 10260 (WebCore::SQLiteDatabase::close): 10261 * storage/DatabaseThread.cpp: 10262 (WebCore::DatabaseThread::DatabaseThread): 10263 (WebCore::DatabaseThread::start): 10264 (WebCore::DatabaseThread::databaseThread): 10265 * storage/LocalStorageThread.cpp: 10266 (WebCore::LocalStorageThread::LocalStorageThread): 10267 (WebCore::LocalStorageThread::start): 10268 (WebCore::LocalStorageThread::localStorageThread): 10269 (WebCore::LocalStorageThread::scheduleImport): 10270 (WebCore::LocalStorageThread::scheduleSync): 10271 (WebCore::LocalStorageThread::terminate): 10272 * workers/WorkerThread.cpp: 10273 (WebCore::WorkerThread::WorkerThread): 10274 (WebCore::WorkerThread::start): 10275 10276 2009-05-13 David Hyatt <hyatt (a] apple.com> 10277 10278 Reviewed by Beth Dakin. 10279 10280 Fix for <rdar://problem/6872894> REGRESSION (r41896-42143): First letter cut off in styled select menus 10281 10282 Make sure to do rounded clipping for overflow and controls relative to the border box and not to the overflow/control clip rect 10283 (which is typically clipped to the padding or content box). Doing so was causing rounded clips to be incorrectly applied to padding and 10284 content. 10285 10286 Added fast/overflow/border-radius-clipping.html 10287 10288 * rendering/RenderBox.cpp: 10289 (WebCore::RenderBox::pushContentsClip): 10290 10291 2009-05-13 Darin Adler <darin (a] apple.com> 10292 10293 Revert the parser arena change. It was a slowdown, not a speedup. 10294 Better luck next time (I'll break it up into pieces). 10295 10296 2009-05-13 David Hyatt <hyatt (a] apple.com> 10297 10298 Reviewed by Beth Dakin and Darin Adler. 10299 10300 Fix for <rdar://problem/6869687> REGRESSION (r41203): Facebook friend suggestions disappear on update. 10301 10302 Make sure that renderers are marked for layout if a style change causes them to switch from having a self-painting layer 10303 to a non-self-painting layer (and vice versa). 10304 10305 Move misplaced layer repainting code that was in RenderBox up into RenderBoxModelObject so that inlines with layers 10306 repaint properly on opacity changes, etc. 10307 10308 Added fast/repaint/opacity-change-on-overflow-float.html. 10309 10310 * rendering/RenderBox.cpp: 10311 (WebCore::RenderBox::styleWillChange): 10312 * rendering/RenderBoxModelObject.cpp: 10313 (WebCore::RenderBoxModelObject::styleWillChange): 10314 (WebCore::RenderBoxModelObject::styleDidChange): 10315 * rendering/RenderBoxModelObject.h: 10316 10317 2009-05-13 Dimitri Glazkov <dglazkov (a] chromium.org> 10318 10319 Not reviewed, build fix. 10320 10321 Move an include, needed by Debugger under the corresponding guard. 10322 10323 * inspector/InspectorController.cpp: Moved parser/SourceCode under JAVASCRIPT_DEBUGGER 10324 guard. 10325 10326 2009-05-13 David Levin <levin (a] chromium.org> 10327 10328 Reviewed by Darin Adler. 10329 10330 Bug 25394: REGRESSION: crash in DocumentLoader::addResponse due to bad |this| pointer 10331 https://bugs.webkit.org/show_bug.cgi?id=25394 10332 10333 Test: http/tests/xmlhttprequest/frame-unload-abort-crash.html 10334 10335 * loader/SubresourceLoader.cpp: 10336 (WebCore::SubresourceLoader::create): 10337 Add another check to subresource loader to avoid doing any loads in frames 10338 when the loaders are being stopped. 10339 10340 2009-05-13 Stephan Haller <nomad (a] froevel.de> 10341 10342 Reviewed by Gustavo Noronha. 10343 10344 Wrong handling of file upload if no file selected 10345 https://bugs.webkit.org/show_bug.cgi?id=25649 10346 10347 Fixed returned path if path is empty 10348 10349 * WebCore/platform/gtk/FileSystemGtk.cpp: 10350 10351 2009-05-13 Dan Bernstein <mitz (a] apple.com> 10352 10353 Reviewed by Dave Hyatt. 10354 10355 - fix <rdar://problem/6805567> REGRESSION (r42348): Notes flicker white 10356 when loading 10357 10358 Tests: fast/frames/content-opacity-1.html 10359 fast/frames/content-opacity-2.html 10360 10361 * page/FrameView.cpp: 10362 (WebCore::FrameView::reset): Reset m_contentIsOpaque to false. 10363 (WebCore::FrameView::useSlowRepaints): Use slow repaints if the content 10364 is not known to be opaque. 10365 (WebCore::FrameView::setContentIsOpaque): Added. Sets m_contentIsOpaque 10366 and enables or disables fast repaints accordingly. 10367 * page/FrameView.h: 10368 * rendering/RenderBoxModelObject.cpp: 10369 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Removed the 10370 document()->haveStylesheetsLoaded() condition in determining whether the 10371 root is opaque. This is what was causing the bug, as iframes were 10372 considered to be opaque, and thus painted an opaque white background, 10373 whenever they were pending a style sheet load. 10374 Changed to call FrameView::setContentIsOpaqe() instead of 10375 setUseSlowRepaints(), which allows the frame to go back to fast repaints 10376 if the content becomes opaque. 10377 Corrected the check for background color opacity: any alpha value other 10378 than 255--not just zero--is not opaque. 10379 10380 2009-05-13 Ariya Hidayat <ariya.hidayat (a] nokia.com> 10381 10382 Reviewed by Sam Weinig. 10383 10384 [Qt] Fix "lighther" composition mode. 10385 QPainter::CompositionMode_Plus is the right match. 10386 10387 * platform/graphics/qt/GraphicsContextQt.cpp: 10388 (WebCore::toQtCompositionMode): 10389 10390 2009-05-13 Darin Adler <darin (a] apple.com> 10391 10392 Reviewed by Cameron Zwarich. 10393 10394 Bug 25674: syntax tree nodes should use arena allocation 10395 https://bugs.webkit.org/show_bug.cgi?id=25674 10396 10397 * bindings/js/JSDOMBinding.h: Removed include of JSFunction.h. 10398 We don't want the entire DOM binding to depend on that file. 10399 10400 * bindings/js/JSAudioConstructor.cpp: Added include of Error.h. 10401 Before we inherited this automatically because JDDOMBinding.h 10402 included JSFunction.h, but that was excessive. 10403 * bindings/js/JSDOMWindowCustom.cpp: Ditto. 10404 * bindings/js/JSHTMLInputElementCustom.cpp: Ditto. 10405 * bindings/js/JSImageConstructor.cpp: Ditto. 10406 * bindings/js/JSLazyEventListener.cpp: Ditto, but for JSFunction.h. 10407 * bindings/js/JSMessageChannelConstructor.cpp: Ditto. 10408 * bindings/js/JSOptionConstructor.cpp: Ditto. 10409 * bindings/js/JSWorkerConstructor.cpp: Ditto. 10410 * bindings/js/JSXMLHttpRequestConstructor.cpp: Ditto. 10411 * bridge/jni/jni_jsobject.mm: Ditto, but for SourceCode.h. 10412 * inspector/InspectorController.cpp: Ditto. 10413 10414 * inspector/JavaScriptDebugServer.cpp: 10415 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 10416 Moved mose of this function into the base class in JavaScriptCore, 10417 so the details of compilation don't have to be exposed. 10418 10419 2009-05-13 Douglas R. Davidson <ddavidso (a] apple.com> 10420 10421 Reviewed by Darin Adler. 10422 10423 <rdar://problem/6879145> 10424 Generate a contextual menu item allowing autocorrections to 10425 easily be changed back. Refrain from re-correcting items 10426 that have already been autocorrected once. 10427 10428 * dom/DocumentMarker.h: 10429 * editing/Editor.cpp: 10430 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 10431 (WebCore::Editor::changeBackToReplacedString): 10432 * editing/Editor.h: 10433 * page/ContextMenuController.cpp: 10434 (WebCore::ContextMenuController::contextMenuItemSelected): 10435 * page/mac/WebCoreViewFactory.h: 10436 * platform/ContextMenu.cpp: 10437 (WebCore::ContextMenu::populate): 10438 (WebCore::ContextMenu::checkOrEnableIfNeeded): 10439 * platform/ContextMenuItem.h: 10440 * platform/LocalizedStrings.h: 10441 * platform/mac/LocalizedStringsMac.mm: 10442 (WebCore::contextMenuItemTagChangeBack): 10443 * rendering/HitTestResult.cpp: 10444 (WebCore::HitTestResult::replacedString): 10445 * rendering/HitTestResult.h: 10446 * rendering/InlineTextBox.cpp: 10447 (WebCore::InlineTextBox::computeRectForReplacementMarker): 10448 (WebCore::InlineTextBox::paintDocumentMarkers): 10449 * rendering/InlineTextBox.h: 10450 10451 2009-05-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 10452 10453 Rubber Stamped by Oliver Hunt. 10454 10455 [GTK] Fix Gtk+/X11 build on OSX 10456 10457 Including the CoreFoundation header here and X11 headers 10458 later will result in different definitions of Boolean. The 10459 CoreFoundation include does not seem to be necessary here 10460 and my mac build was successfull without it. I will remove 10461 it for now. If the build bots disagree this will be replaced 10462 by a #if PLATFORM(CF). 10463 10464 * platform/FileSystem.h: 10465 10466 2009-05-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 10467 10468 Rubber Stamped by Gustavo Noronha. 10469 10470 [GTK] Move the #ifdef around for a buildfix for Gtk+ on OSX 10471 10472 When building Gtk+ on OSX we ended up declaring 10473 setNPWindowIfNeeded twice. Fix that by moving 10474 the #if PLATFORM(GTK) up and using elif instead of 10475 else. 10476 10477 * plugins/PluginView.h: 10478 10479 2009-05-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 10480 10481 Reviewed by Xan Lopez. 10482 10483 https://bugs.webkit.org/show_bug.cgi?id=25685 10484 [GTK] Middle click paste form the pasteboard 10485 10486 The kit wants to paste from at least two different 10487 clipboards. By introducing getCurrentTarget to the 10488 PasteboardHelper interface we can make this decision 10489 in the kit. 10490 Use the new method in PasteboardGtk to get the right 10491 GdkClipboard for the paste operation. 10492 10493 * platform/gtk/PasteboardGtk.cpp: 10494 (WebCore::Pasteboard::documentFragment): 10495 (WebCore::Pasteboard::plainText): 10496 * platform/gtk/PasteboardHelper.h: 10497 10498 2009-05-13 Eric Carlson <eric.carlson (a] apple.com> 10499 10500 Reviewed by Darin Adler. 10501 10502 <rdar://problem/6438177> QTMoviePreferredTransformAttribute only supported on SnowLeopard 10503 <rdar://problem/6872468> QTMovieOpenForPlaybackAttribute only supported on SnowLeopard 10504 10505 QTMoviePreferredTransformAttribute and QTMovieOpenForPlaybackAttribute are not supported 10506 on Tiger or Leopard. 10507 10508 * html/HTMLMediaElement.cpp: 10509 (WebCore::HTMLMediaElement::setNetworkState): Remove invalid ASSERT. 10510 10511 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 10512 (WebCore::MediaPlayerPrivate::createQTMovie): Only request QTMoviePreferredTransformAttribute 10513 when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD. 10514 (WebCore::MediaPlayerPrivate::cacheMovieScale): Only ask for QTMovieOpenForPlaybackAttribute 10515 when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD, 10516 10517 2009-05-12 Roland Steiner <rolandsteiner (a] google.com> 10518 10519 Reviewed by Eric Seidel. 10520 10521 Bug 25738: Skia: CSS border style not cleared for SVG object 10522 https://bugs.webkit.org/show_bug.cgi?id=25738 10523 10524 If no dashing is set, this change reverts to solid stroke 10525 (previously the code bailed and left the old setting, whatever it was) 10526 10527 Test case listed in above bug entry. 10528 (Additional complications due to each platform rendering dotted lines differently - 10529 c.f. https://bugs.webkit.org/show_bug.cgi?id=25737) 10530 10531 * platform/graphics/skia/GraphicsContextSkia.cpp: 10532 (WebCore::GraphicsContext::setLineDash): 10533 10534 2009-05-11 Erik Arvidsson <arv (a] chromium.org> 10535 10536 Reviewed by Eric Seidel. 10537 10538 Bug 21903: Adds DOM bindings for the placeholder property of the 10539 HTMLInputElement. 10540 https://bugs.webkit.org/show_bug.cgi?id=21903 10541 10542 Test: fast/forms/placeholder-dom-property.html 10543 10544 * dom/InputElement.cpp: 10545 (WebCore::InputElement::updatePlaceholderVisibility): 10546 * dom/InputElement.h: 10547 * html/HTMLInputElement.cpp: 10548 (WebCore::HTMLInputElement::placeholder): 10549 (WebCore::HTMLInputElement::setPlaceholder): 10550 * html/HTMLInputElement.h: 10551 * html/HTMLInputElement.idl: 10552 * rendering/RenderTextControlSingleLine.cpp: 10553 (WebCore::RenderTextControlSingleLine::updateFromElement): 10554 * wml/WMLInputElement.h: 10555 (WebCore::WMLInputElement::placeholder): 10556 (WebCore::WMLInputElement::setPlaceholder): 10557 10558 2009-05-12 Adam Barth <abarth (a] webkit.org> 10559 10560 Reviewed by Dimitri Glazkov. 10561 10562 https://bugs.webkit.org/show_bug.cgi?id=25706 10563 10564 Change V8 bindings to match JSC bindings with respect to using 10565 the lexical or dynamic global object. 10566 10567 Tests: http/tests/security/aboutBlank/security-context-grandchildren-lexical.html 10568 http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html 10569 http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html 10570 10571 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 10572 (WebCore::CALLBACK_FUNC_DECL): 10573 10574 2009-03-19 Oliver Hunt <oliver (a] apple.com> 10575 10576 Reviewed by Darin Adler. 10577 10578 <rdar://problem/6702386> Incorrect bound check in SVGList::insertItemBefore 10579 10580 SVGList::insertItemBefore would not perform a bounds check on the 10581 index it was provided, potentially leading to a buffer overflow. 10582 10583 Test: svg/dom/svglist-exception-on-out-bounds-error.html 10584 10585 * svg/SVGList.h: 10586 (WebCore::SVGList::insertItemBefore): 10587 10588 2009-05-12 Paul Godavari <paul (a] chromium.org> 10589 10590 Reviewed by Dimitri Glazkov. 10591 10592 Bug 25708: Cannot choose menu items in popups with many entries in Chromium 10593 https://bugs.webkit.org/show_bug.cgi?id=25708 10594 10595 This change sets the window size for popups on Mac to include all items 10596 in the menu. This is required for hit testing on Mac, where we use native 10597 controls to manage the popups and don't want to artificially limit the 10598 valid hit testing region to a limited scroll window. 10599 10600 * platform/chromium/PopupMenuChromium.cpp: 10601 (WebCore::PopupListBox::layout): 10602 10603 2009-05-12 Stephen White <senorblanco (a] chromium.org> 10604 10605 Reviewed by Dimitri Glazkov. 10606 10607 Fixes to build with latest skia: SkTypeface::Create() is now 10608 SkTypeface::CreateFromName(); computeBounds() has been reworked 10609 as getBounds(). The changes are placed behind an #ifdef for now, 10610 so that we can roll back the skia version in Chromium if necessary 10611 without having to roll back this change. 10612 10613 https://bugs.webkit.org/show_bug.cgi?id=25705 10614 10615 * platform/graphics/chromium/FontCacheLinux.cpp: 10616 (WebCore::FontCache::createFontPlatformData): 10617 * platform/graphics/skia/PathSkia.cpp: 10618 (WebCore::Path::boundingRect): 10619 (WebCore::boundingBoxForCurrentStroke): 10620 * platform/graphics/skia/SkiaUtils.cpp: 10621 (WebCore::SkPathContainsPoint): 10622 10623 2009-05-12 Nate Chapin <japhet (a] google.com> 10624 10625 Reviewed by Dimitri Glazkov. 10626 10627 https://bugs.webkit.org/show_bug.cgi?id=25732 10628 Update V8ElementCustom.cpp to match the current API of V8Proxy. 10629 10630 (WebCore::ACCESSOR_SETTER): Change retrieveActiveFrame() to retrieveFrameForEnteredContext(). 10631 10632 2009-05-12 Alexey Proskuryakov <ap (a] webkit.org> 10633 10634 Reviewed by Darin Adler. 10635 10636 https://bugs.webkit.org/show_bug.cgi?id=25694 10637 HTMLParser::createHead() ASSERT: Creating an element, calling document.open() and writing 10638 to the document NULL ptr 10639 10640 Test: fast/parser/implicit-head-in-fragment-crash.html 10641 10642 * html/HTMLParser.cpp: (WebCore::HTMLParser::bodyCreateErrorCheck): Do not try to implicitly 10643 create <head> when parsing a fragment. 10644 10645 2009-05-12 Soren Gjesse <sgjesse (a] chromium.org> 10646 10647 Reviewed by Dimitri Glazkov. 10648 10649 https://bugs.webkit.org/show_bug.cgi?id=25687 10650 Missing check for valid function in V8 bindings for toString function for event listeners. 10651 10652 * bindings/v8/V8LazyEventListener.cpp: 10653 (WebCore::V8LazyEventListener::getWrappedListenerFunction): Added empty handle checks. 10654 10655 2009-05-11 Yael Aharon <yael.aharon (a] nokia.com> 10656 10657 Reviewed by Holger Freyther. 10658 10659 Change Qt port to match the mac and windows ports, and unregister plugins when plugins are stopped. 10660 Not doing that can cause assersion failure. 10661 https://bugs.webkit.org/show_bug.cgi?id=25702 10662 10663 * plugins/qt/PluginViewQt.cpp: 10664 (WebCore::PluginView::stop): 10665 10666 2009-05-11 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 10667 10668 Reviewed by Holger Freyther. 10669 10670 Bug 25714: [Qt] Decouple HTML5 Database support from the 10671 SQLite/generic database support in the Qt port 10672 10673 <https://bugs.webkit.org/show_bug.cgi?id=25714> 10674 10675 * WebCore.pro: 10676 10677 2009-05-11 Chris Fleizach <cfleizach (a] apple.com> 10678 10679 Reviewed by Beth Dakin. 10680 10681 Bug 25713: AX: Control Elements not identified in HTML content 10682 https://bugs.webkit.org/show_bug.cgi?id=25713 10683 10684 Test: accessibility/onclick-handlers.html 10685 10686 * page/AccessibilityRenderObject.cpp: 10687 (WebCore::AccessibilityRenderObject::mouseButtonListener): 10688 10689 2009-05-11 Darin Adler <darin (a] apple.com> 10690 10691 Reviewed by Dan Bernstein. 10692 10693 <rdar://problem/6276843> REGRESSION: TextIterator generates 10694 an extra newline for ranges that start outside of body 10695 10696 * editing/TextIterator.cpp: 10697 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): 10698 Check startPos for null, not just currPos. 10699 10700 2009-05-11 Chris Fleizach <cfleizach (a] apple.com> 10701 10702 Reviewed by Darin Adler. 10703 10704 Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail 10705 https://bugs.webkit.org/show_bug.cgi?id=25700 10706 10707 Keyboard selection movement handlers need to also watch for the Cmd key when Accessibility is enabled. 10708 Note: This code is only used when accessibility is enabled. 10709 10710 * page/EventHandler.cpp: 10711 (WebCore::EventHandler::handleKeyboardSelectionMovement): 10712 10713 2009-05-11 David Kilzer <ddkilzer (a] apple.com> 10714 10715 Bug 25087: Test for ENABLE_FOO macros consistently in IDL files 10716 10717 <https://bugs.webkit.org/show_bug.cgi?id=25087> 10718 10719 Reviewed by Timothy Hatcher. 10720 10721 Change tests for ENABLE macros to check for both existence and 10722 value: 10723 10724 - Negative: #if !defined(ENABLE_FOO) || !ENABLE_FOO 10725 - Positive: #if defined(ENABLE_FOO) && ENABLE_FOO 10726 10727 * css/CSSCharsetRule.idl: 10728 * css/CSSPrimitiveValue.idl: 10729 * css/RGBColor.idl: 10730 * dom/Attr.idl: 10731 * dom/DOMCoreException.idl: 10732 * dom/DOMImplementation.idl: 10733 * dom/Document.idl: 10734 * dom/Element.idl: 10735 * dom/Event.idl: 10736 * dom/EventException.idl: 10737 * dom/KeyboardEvent.idl: 10738 * dom/MessagePort.idl: 10739 * dom/MouseEvent.idl: 10740 * dom/Node.idl: 10741 * dom/ProcessingInstruction.idl: 10742 * dom/Range.idl: 10743 * dom/RangeException.idl: 10744 * dom/WheelEvent.idl: 10745 * html/CanvasPixelArray.idl: 10746 * html/HTMLAnchorElement.idl: 10747 * html/HTMLAppletElement.idl: 10748 * html/HTMLAreaElement.idl: 10749 * html/HTMLBaseFontElement.idl: 10750 * html/HTMLCanvasElement.idl: 10751 * html/HTMLDocument.idl: 10752 * html/HTMLElement.idl: 10753 * html/HTMLEmbedElement.idl: 10754 * html/HTMLFrameElement.idl: 10755 * html/HTMLIFrameElement.idl: 10756 * html/HTMLImageElement.idl: 10757 * html/HTMLInputElement.idl: 10758 * html/HTMLLinkElement.idl: 10759 * html/HTMLObjectElement.idl: 10760 * html/HTMLOptionElement.idl: 10761 * html/HTMLOptionsCollection.idl: 10762 * html/HTMLSelectElement.idl: 10763 * html/HTMLStyleElement.idl: 10764 * html/ImageData.idl: 10765 * inspector/InspectorController.idl: 10766 * loader/appcache/DOMApplicationCache.idl: 10767 * page/Console.idl: 10768 * page/Coordinates.idl: 10769 * page/DOMSelection.idl: 10770 * page/DOMWindow.idl: 10771 * page/Geoposition.idl: 10772 * page/History.idl: 10773 * page/Location.idl: 10774 * page/Navigator.idl: 10775 * svg/SVGElementInstance.idl: 10776 * svg/SVGException.idl: 10777 * workers/WorkerContext.idl: 10778 * xml/XMLHttpRequestException.idl: 10779 * xml/XPathException.idl: 10780 10781 2009-05-11 Norbert Leser <norbert.leser (a] nokia.com> 10782 10783 Reviewed by Darin Adler. 10784 10785 Bug 24538: class/struct mixup in forward declarations 10786 https://bugs.webkit.org/show_bug.cgi?id=24538 10787 10788 * inspector/InspectorResource.h: 10789 * loader/CachedFont.h: 10790 * loader/appcache/ApplicationCache.h: 10791 * rendering/RenderBlock.h: 10792 * rendering/RootInlineBox.h: 10793 * rendering/SVGInlineTextBox.h: 10794 * svg/SVGGlyphElement.h: 10795 * svg/SVGHKernElement.h: 10796 10797 2009-05-11 Norbert Leser <norbert.leser (a] nokia.com> 10798 10799 Reviewed by Darin Adler. 10800 10801 Bug 24539: Unresolved CSSMutableStyleDeclaration 10802 https://bugs.webkit.org/show_bug.cgi?id=24539 10803 10804 The Symbian tools can't compile and link this without this include. 10805 It's not clear why this is different from other toolsets or why it affects 10806 only this header file, but adding the include for now. 10807 10808 * editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h. 10809 10810 2009-05-11 Alice Liu <alice.liu (a] apple.com> 10811 10812 Reviewed by Dan Bernstein. 10813 10814 https://bugs.webkit.org/show_bug.cgi?id=25701 10815 REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook 10816 10817 Test: fast/forms/search-styled.html 10818 10819 * css/themeWin.css: 10820 Remove the overriding of -webkit-appearance for searchfields. This will cause background 10821 images to not be honored when styling searchfields 10822 10823 * rendering/RenderThemeWin.cpp: 10824 (WebCore::RenderThemeWin::adjustSearchFieldStyle): 10825 * rendering/RenderThemeWin.h: 10826 Re-instate final adjustments to searchfield styling that were removed in r42020 10827 10828 2009-05-11 Brady Eidson <beidson (a] apple.com> 10829 10830 Fix Windows build 10831 10832 * platform/network/cf/ResourceHandleCFNet.cpp: 10833 (WebCore::createCFURLResponseWithDefaultMIMEType): 10834 10835 2009-05-11 Nate Chapin <japhet (a] google.com> 10836 10837 Reviewed by Dimitri Glazkov. 10838 10839 https://bugs.webkit.org/show_bug.cgi?id=25626 10840 Update V8ElementCustom.cpp to match the current API of Node. 10841 10842 * bindings/v8/custom/V8ElementCustom.cpp: 10843 (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names. 10844 (WebCore::ACCESSOR_GETTER): Changed a method name to match current name. 10845 10846 2009-05-11 Brady Eidson <beidson (a] apple.com> 10847 10848 Fix Windows build 10849 10850 * platform/network/cf/ResourceHandleCFNet.cpp: 10851 (WebCore::createCFURLResponseWithDefaultMIMEType): 10852 (WebCore::WebCoreSynchronousLoader::load): 10853 10854 2009-05-11 Brady Eidson <beidson (a] apple.com> 10855 10856 Fix Windows build 10857 10858 * platform/network/cf/ResourceHandleCFNet.cpp: 10859 (WebCore::createCFURLResponseWithDefaultMIMEType): 10860 10861 2009-05-11 Nate Chapin <japhet (a] google.com> 10862 10863 Reviewed by Dimitri Glazkov. 10864 10865 V8CustomBinding.cpp is missing a header file 10866 10867 https://bugs.webkit.org/show_bug.cgi?id=25644 10868 10869 * bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h". 10870 10871 2009-05-11 Aaron Boodman <aa (a] chromium.org> 10872 10873 Reviewed by Darin Fisher. 10874 10875 https://bugs.webkit.org/show_bug.cgi?id=25634 10876 Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext(). 10877 10878 Also, change instances of ScriptController::retrieveActiveFrame() to 10879 V8::retrieveFrameForEnteredContext() for consistency. 10880 10881 10882 See http://codereview.chromium.org/113085 for the corresponding Chromium change. 10883 10884 * bindings/v8/custom/V8DOMWindowCustom.cpp: 10885 (WebCore::V8Custom::WindowSetLocation): 10886 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 10887 (WebCore::CALLBACK_FUNC_DECL): 10888 * bindings/v8/custom/V8LocationCustom.cpp: 10889 (WebCore::navigateIfAllowed): 10890 (WebCore::ACCESSOR_SETTER): 10891 (WebCore::CALLBACK_FUNC_DECL): 10892 10893 2009-05-11 Brady Eidson <beidson (a] apple.com> 10894 10895 Reviewed by Darin Adler. 10896 10897 <rdar://problem/5972751> Local image files (BMP, ico) can be misidentified as HTML. 10898 10899 First part of the fix - Disable content sniffing for file resources which never should've been happening anyways. 10900 Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream". 10901 10902 * platform/MIMETypeRegistry.cpp: 10903 (WebCore::defaultMIMEType): "application/octet-stream" 10904 * platform/MIMETypeRegistry.h: 10905 10906 * platform/network/ResourceHandle.cpp: 10907 (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which 10908 might override it to false. 10909 (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else. 10910 * platform/network/ResourceHandle.h: 10911 10912 * platform/network/cf/ResourceHandleCFNet.cpp: 10913 (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead 10914 of null. 10915 (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type. 10916 (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same 10917 sniffing policy as asynchronous loads. Also, correct a null MIME type by creating a copy with the default type. 10918 10919 * platform/network/mac/ResourceHandleMac.mm: 10920 (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the 10921 same sniffing policy as asynchronous loads. 10922 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if 10923 it hasn't been set up yet. 10924 (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil. 10925 10926 * xml/XMLHttpRequest.cpp: 10927 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by 10928 the new mechanism. 10929 10930 2009-05-11 David Kilzer <ddkilzer (a] apple.com> 10931 10932 Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES" 10933 10934 This was added in r39816 to disable dynamic entries. They are 10935 still disabled after fixing the typo since this feature define 10936 is never set anywhere. 10937 10938 * bindings/js/JSDOMApplicationCacheCustom.cpp: 10939 * loader/appcache/DOMApplicationCache.idl: 10940 10941 2009-05-11 Dmitry Titov <dimich (a] chromium.org> 10942 10943 Reviewed by Alexey Proskuryakov and Adam Roben. 10944 10945 https://bugs.webkit.org/show_bug.cgi?id=25348 10946 Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap. 10947 10948 Most of the change is in WTF. 10949 Unless noted, all the following files changed to use the new ThreadIdentifier::isValid() 10950 method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier 10951 is now a class rather then an integer. 10952 Also, there is no need to initialize threadID in constructors to 0 now. 10953 10954 * dom/XMLTokenizerLibxml2.cpp: 10955 (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, 10956 since now ThreadIdentifier needs construction and we avoid having global initializers. 10957 (WebCore::matchFunc): use the new accessor function. 10958 (WebCore::openFunc): ditto. 10959 (WebCore::createStringParser): ditto. 10960 (WebCore::createMemoryParser): ditto. 10961 * loader/icon/IconDatabase.cpp: 10962 (WebCore::IconDatabase::open): 10963 * platform/sql/SQLiteDatabase.cpp: 10964 (WebCore::SQLiteDatabase::SQLiteDatabase): 10965 (WebCore::SQLiteDatabase::close): 10966 * storage/DatabaseThread.cpp: 10967 (WebCore::DatabaseThread::start): 10968 (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output. 10969 * storage/LocalStorageThread.cpp: 10970 (WebCore::LocalStorageThread::start): 10971 (WebCore::LocalStorageThread::scheduleImport): 10972 (WebCore::LocalStorageThread::scheduleSync): 10973 (WebCore::LocalStorageThread::terminate): 10974 * workers/WorkerThread.cpp: 10975 (WebCore::WorkerThread::start): 10976 (WebCore::WorkerThread::WorkerThread): 10977 (WebCore::WorkerThread::start): 10978 10979 2009-05-11 Brady Eidson <beidson (a] apple.com> 10980 10981 Reviewed by Darin Adler. 10982 10983 Remove unused header that declared one function which was never defined anywhere. 10984 10985 * WebCore.vcproj/WebCore.vcproj: 10986 * platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means 10987 platform/network/cf/ResourceResponse.h) 10988 * platform/network/cf/ResourceResponseCFNet.h: Removed. 10989 10990 2009-05-11 Dimitri Glazkov <dglazkov (a] chromium.org> 10991 10992 Reviewed by Timothy Hatcher. 10993 10994 https://bugs.webkit.org/show_bug.cgi?id=25213 10995 Fix assert during Inspector destruction. 10996 10997 * inspector/InspectorController.cpp: 10998 (WebCore::InspectorController::inspectedPageDestroyed): Moved closing 10999 inspector above removing InspectorController object to fix JS errors, 11000 added clearing inspector page ptr. 11001 11002 2009-05-11 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 11003 11004 Reviewed by Holger Freyther. 11005 11006 [Qt] Make sure that public APIs are properly exported on all Qt platforms 11007 https://bugs.webkit.org/show_bug.cgi?id=25601 11008 11009 * WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win 11010 11011 2009-05-11 Csaba Osztrogonac <oszi (a] inf.u-szeged.hu> 11012 11013 Reviewed by Holger Freyther. 11014 11015 https://bugs.webkit.org/show_bug.cgi?id=24284 11016 11017 * WebCore.pro: duplicated values removed from INCLUDEPATH 11018 11019 2009-05-11 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 11020 11021 Reviewed by Eric Seidel. 11022 11023 Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0 11024 https://bugs.webkit.org/show_bug.cgi?id=24688 11025 11026 * WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0 11027 * platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins 11028 11029 2009-05-10 Dan Bernstein <mitz (a] apple.com> 11030 11031 Reviewed by Darin Adler. 11032 11033 - fix a crash when deactivating a document that had adopted a <form> 11034 element 11035 11036 Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html 11037 11038 * html/HTMLFormElement.cpp: 11039 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the 11040 logic here: <form> elements should be registered for document activation 11041 callbacks if and only if autocomplete is off. 11042 11043 2009-05-10 Alexey Proskuryakov <ap (a] webkit.org> 11044 11045 Reviewed by Dan Bernstein. 11046 11047 <rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying 11048 to view protected MobileMe video 11049 11050 Add a temporary workaround. 11051 11052 * platform/network/ResourceHandleInternal.h: 11053 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 11054 Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when 11055 starting a request, so we need to store this data for later use. 11056 11057 * platform/network/mac/ResourceHandleMac.mm: 11058 (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks. 11059 (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com. 11060 11061 2009-05-10 Alexey Proskuryakov <ap (a] webkit.org> 11062 11063 Reviewed by Dan Bernstein. 11064 11065 <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page 11066 11067 * platform/network/cf/AuthenticationCF.cpp: 11068 * platform/network/cf/AuthenticationCF.h: 11069 (WebCore::WebCoreCredentialStorage::set): 11070 (WebCore::WebCoreCredentialStorage::get): 11071 * platform/network/cf/ResourceHandleCFNet.cpp: 11072 Move WebCore credential storage to AuthenticationCF, so that WebKit could use it (macthing 11073 an earlier Mac change). 11074 11075 2009-05-10 Alexey Proskuryakov <ap (a] webkit.org> 11076 11077 Reviewed by Dan Bernstein. 11078 11079 Match newer XMLHttpRequest draft and make withCredential setter raise an exception when 11080 called at a wrong time. 11081 11082 No test, because we are waiting for a newer version of system frameworks to test the attribute. 11083 11084 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials): 11085 * xml/XMLHttpRequest.h: 11086 * xml/XMLHttpRequest.idl: 11087 Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true. 11088 11089 2009-05-10 Dan Bernstein <mitz (a] apple.com> 11090 11091 Reviewed by Dave Kilzer. 11092 11093 - fix https://bugs.webkit.org/show_bug.cgi?id=25602 11094 REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn 11095 on ToT 11096 11097 Test: fast/layers/self-painting-outline.html 11098 11099 * rendering/RenderLayer.cpp: 11100 (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only 11101 if it is a self-painting layer. 11102 11103 2009-05-09 Dan Bernstein <mitz (a] apple.com> 11104 11105 Reviewed by Geoffrey Garen and Mark Rowe. 11106 11107 - fix https://bugs.webkit.org/show_bug.cgi?id=25666 11108 Assertion failure in Node::setDocument() 11109 (willMoveToNewOwnerDocumentWasCalled) when adopting a <form> element 11110 11111 Test: fast/dom/HTMLFormElement/adopt-assertion.html 11112 11113 * html/HTMLFormElement.cpp: 11114 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of 11115 this method are required to call the base class implementation. Do it. 11116 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto. 11117 11118 2009-03-29 Kevin Ollivier <kevino (a] theolliviers.com> 11119 11120 Reviewed by Maciej Stachowiak. 11121 11122 WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so 11123 make sure CURL does not create empty ResourceError() objects. 11124 11125 https://bugs.webkit.org/show_bug.cgi?id=24927 11126 11127 * platform/network/curl/ResourceHandleManager.cpp: 11128 (WebCore::ResourceHandleManager::downloadTimerCallback): 11129 11130 2009-05-09 Gustavo Noronha Silva <gns (a] gnome.org> 11131 11132 Build fix, adding missing files to make dist. 11133 11134 * GNUmakefile.am: 11135 11136 2009-05-08 Simon Fraser <simon.fraser (a] apple.com> 11137 11138 Reviewed by Dan Bernstein 11139 11140 https://bugs.webkit.org/show_bug.cgi?id=25656 11141 11142 Reduce the inline capacity of CSSParserValueList's m_values 11143 vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit. 11144 11145 * css/CSSParserValues.h: 11146 11147 2009-05-08 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 11148 11149 Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while. 11150 11151 * WebCore.xcodeproj/project.pbxproj: 11152 11153 2009-05-08 Dan Bernstein <mitz (a] apple.com> 11154 11155 Reviewed by Darin Adler. 11156 11157 - fix <rdar://problem/6864786> REGRESSION: Crash below 11158 ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in 11159 Bugzilla 11160 11161 Test: editing/style/apply-through-end-of-document.html 11162 11163 * editing/ApplyStyleCommand.cpp: 11164 (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null 11165 check for the case of a range extending through the end of the document, 11166 in which pastEndNode is 0. 11167 11168 2009-05-08 Douglas R. Davidson <ddavidso (a] apple.com> 11169 11170 Reviewed by Beth Dakin. 11171 11172 <rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base 11173 marked as misspelled even though contraction is a word 11174 Make sure spelling underline does not persist on words like 11175 <doesn't>. 11176 11177 * editing/TypingCommand.cpp: 11178 (WebCore::TypingCommand::typingAddedToOpenCommand): 11179 11180 2009-05-08 Kevin Watters <kevinwatters (a] gmail.com> 11181 11182 Reviewed by Kevin Ollivier. 11183 11184 Make sure the path's refdata isn't deleted before we're done with the object. 11185 11186 https://bugs.webkit.org/show_bug.cgi?id=25652 11187 11188 * platform/graphics/wx/PathWx.cpp: 11189 (WebCore::Path::~Path): 11190 (WebCore::Path::Path): 11191 (WebCore::Path::translate): 11192 11193 2009-05-08 Kevin Watters <kevinwatters (a] gmail.com> 11194 11195 Reviewed by Darin Adler. 11196 11197 Fix for memory leak on Mac. 11198 11199 https://bugs.webkit.org/show_bug.cgi?id=25650 11200 11201 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 11202 (wxFontProperties::wxFontProperties): 11203 11204 2009-05-08 Beth Dakin <bdakin (a] apple.com> 11205 11206 Reviewed by Dan Bernstein. 11207 11208 <rdar://problem/6857446> REGRESSION (r37591): Cannot print or 11209 preview from maps.yandex.ru 11210 11211 We need to fall into the stretchesToViewHeight() quirk when we are 11212 printing and we are the root and the root has percentage height OR 11213 when we are the body and the root has percentage height. Otherwise 11214 we have a height of 0 and can run into painting troubles. 11215 11216 * rendering/RenderBox.cpp: 11217 (WebCore::RenderBox::calcHeight): 11218 11219 2009-05-08 Douglas Davidson <ddavidso (a] apple.com> 11220 11221 Reviewed by Darin Adler. 11222 11223 Fixes for <rdar://problem/6852771>. 11224 Prevent text checking replacement immediately after an apostrophe 11225 and automatic link addition except immediately after typing. 11226 11227 * editing/Editor.cpp: 11228 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 11229 11230 2009-05-08 Eric Carlson <eric.carlson (a] apple.com> 11231 11232 Reviewed by Darin Adler. 11233 11234 https://bugs.webkit.org/show_bug.cgi?id=25627 11235 Bug 25627: HTMLMediaElement: some errors should fire on <source> elements 11236 11237 Update for HTML5 spec change to fire 'error' events on <source> element 11238 when there is a failure while processing/loading a <source>. 11239 11240 Test: media/video-source-error.html 11241 11242 * html/HTMLMediaElement.cpp: 11243 (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space. 11244 (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead 11245 of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on 11246 all <source> element. 11247 (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in 11248 loadResource() as we need to report errors differently depending on the type of failure. Use 11249 KURL instead of String. 11250 (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild. 11251 Fail silently when there are no more <source> canditates because that is what spec mandates. 11252 Keep url as KURL instead of converting to String. 11253 (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now 11254 assume the safety check now done before this function. Takes KURL instead of String. 11255 (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs 11256 failure if not. 11257 (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED 11258 (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on 11259 the media and all source elements. 11260 (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the 11261 the failure happened while processing one. Only call nonSupported() when the failure happened 11262 while processing media element 'src' attribute. 11263 (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild. 11264 Deal with selectNextSourceChild returning a KURL instead of a String. 11265 (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional 11266 param to control whether or not errors are fired on a source element when it will not be used. 11267 Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a 11268 String. 11269 (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as 11270 a KURL instead of a String. 11271 * html/HTMLMediaElement.h: 11272 (WebCore::HTMLMediaElement::): 11273 11274 * html/HTMLSourceElement.cpp: 11275 (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables. 11276 (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error 11277 event ASAP. 11278 (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event. 11279 (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been 11280 cancelled. 11281 * html/HTMLSourceElement.h: 11282 11283 * html/MediaError.h: 11284 (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED 11285 * html/MediaError.idl: Ditto 11286 11287 2009-05-08 Dan Bernstein <mitz (a] apple.com> 11288 11289 Reviewed by Maciej Stachowiak. 11290 11291 - fix <rdar://problem/6859955> Undoing typed text after selecting all 11292 leaves non-text areas highlighted 11293 11294 Test: fast/repaint/selection-clear.html 11295 11296 When RenderView::clearSelection() is called from 11297 SelectionController::nodeWillBeRemoved(), selected renderers may already 11298 be marked for layout, which means that they can no longer compute 11299 their selection repaint info. Instead, an empty IntRect (or GapRects) is 11300 returned, leading to incomplete repaint. 11301 11302 The fix is not to rely on individual renderers when clearing the 11303 selection, but instead, cache the bounding rectangle of the selected 11304 blocks' GapRects when setting the selection, and invalidate that 11305 entire rectangle when clearing it. 11306 11307 * rendering/RenderView.cpp: 11308 (WebCore::RenderView::setSelection): Added a parameter saying whether 11309 the repainting of selected blocks should include both 11310 previously-selected areas and newly-selected areas or only 11311 newly-selected areas. The default is both. Also compute 11312 m_cachedSelectionBounds to be the bounding rectangle of the 11313 new selection's BlockSelectionInfos' GapRects. 11314 (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds, 11315 and tell setSelection() that it should not paint areas that were in 11316 the old selection's BlockSelectionInfos' GapRects. 11317 * rendering/RenderView.h: 11318 (WebCore::RenderView::): 11319 11320 2009-05-08 Alexey Proskuryakov <ap (a] webkit.org> 11321 11322 Reviewed by Maciej Stachowiak. 11323 11324 <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials 11325 11326 * WebCore.base.exp: 11327 * platform/network/mac/AuthenticationMac.h: 11328 (WebCore::WebCoreCredentialStorage::set): 11329 (WebCore::WebCoreCredentialStorage::get): 11330 * platform/network/mac/AuthenticationMac.mm: 11331 * platform/network/mac/ResourceHandleMac.mm: 11332 Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit. 11333 11334 2009-05-08 Jedrzej Nowacki <jedrzej.nowacki (a] nokia.com> 11335 11336 Reviewed by Simon Hausmann. 11337 11338 Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime 11339 call methods. 11340 11341 * bridge/qt/qt_runtime.h: 11342 11343 2009-05-08 Jan Michael Alonzo <jmalonzo (a] webkit.org> 11344 11345 Reviewed by Mark Rowe. 11346 11347 Add missing strings to localizedStrings.js 11348 https://bugs.webkit.org/show_bug.cgi?id=25635 11349 11350 Add the strings "Delete", "Key", "Refresh" and "Value". 11351 11352 * English.lproj/localizedStrings.js: 11353 11354 2009-05-08 Robert Hogan <robert (a] roberthogan.net> 11355 11356 Reviewed, tweaked and landed by Alexey Proskuryakov. 11357 11358 https://bugs.webkit.org/show_bug.cgi?id=24992 11359 [Qt] crash at http://browserspy.dk/browser.php 11360 11361 This cannot be easily tested in DRT, because it relies on interaction with QApplication, 11362 but the added assertions guard against re-introducing this issue. 11363 11364 * loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls 11365 while the frame is being constructed, because the intermediate state without a document 11366 is something we don't want to expose. 11367 11368 * page/Frame.cpp: 11369 (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an 11370 approximation of it being in a consistent state for client calls. 11371 (WebCore::Frame::setJSDefaultStatusBarText): Ditto. 11372 11373 2009-05-07 Mark Rowe <mrowe (a] apple.com> 11374 11375 Rubber-stamped by Oliver Hunt. 11376 11377 Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>. 11378 Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed 11379 11380 Roll out r43366 as it removed symbols that Safari 4 Beta uses. 11381 11382 * dom/XMLTokenizerLibxml2.cpp: 11383 (WebCore::matchFunc): 11384 (WebCore::openFunc): 11385 (WebCore::createStringParser): 11386 (WebCore::createMemoryParser): 11387 * loader/icon/IconDatabase.cpp: 11388 (WebCore::IconDatabase::open): 11389 * platform/sql/SQLiteDatabase.cpp: 11390 (WebCore::SQLiteDatabase::SQLiteDatabase): 11391 (WebCore::SQLiteDatabase::close): 11392 * storage/DatabaseThread.cpp: 11393 (WebCore::DatabaseThread::DatabaseThread): 11394 (WebCore::DatabaseThread::start): 11395 (WebCore::DatabaseThread::databaseThread): 11396 * storage/LocalStorageThread.cpp: 11397 (WebCore::LocalStorageThread::LocalStorageThread): 11398 (WebCore::LocalStorageThread::start): 11399 (WebCore::LocalStorageThread::localStorageThread): 11400 (WebCore::LocalStorageThread::scheduleImport): 11401 (WebCore::LocalStorageThread::scheduleSync): 11402 (WebCore::LocalStorageThread::terminate): 11403 * workers/WorkerThread.cpp: 11404 (WebCore::WorkerThread::WorkerThread): 11405 (WebCore::WorkerThread::start): 11406 11407 2009-05-08 Xan Lopez <xlopez (a] igalia.com> 11408 11409 Reviewed by Gustavo Noronha. 11410 11411 Unify scrolling code via adjustments and keys. Use the WebCore 11412 defined constants, since that's what people are most used to at 11413 this point. 11414 11415 * platform/gtk/ScrollViewGtk.cpp: 11416 (WebCore::ScrollView::platformHandleHorizontalAdjustment): 11417 (WebCore::ScrollView::platformHandleVerticalAdjustment): 11418 11419 2009-05-07 David Levin <levin (a] chromium.org> 11420 11421 Reviewed by NOBODY. 11422 Suggested by Oliver Hunt. 11423 11424 Rolling back http://trac.webkit.org/changeset/43385 11425 because we have to use mac artwork for the underline on OSX. 11426 11427 * platform/graphics/cg/GraphicsContextCG.cpp: 11428 * platform/graphics/mac/GraphicsContextMac.mm: 11429 (WebCore::createPatternColor): 11430 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 11431 * platform/graphics/win/GraphicsContextCGWin.cpp: 11432 (WebCore::setCGStrokeColor): 11433 (WebCore::spellingPatternColor): 11434 (WebCore::grammarPatternColor): 11435 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 11436 11437 2009-05-07 John Grabowski <jrg (a] chromium.org> 11438 11439 Reviewed by Simon Fraser. 11440 11441 https://bugs.webkit.org/show_bug.cgi?id=25573 11442 Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar. 11443 Cleanup for WebKit, but required for Chromium happiness. 11444 11445 * platform/graphics/cg/GraphicsContextCG.cpp: 11446 (WebCore::spellingPatternColor): 11447 (WebCore::grammarPatternColor): 11448 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 11449 * platform/graphics/mac/GraphicsContextMac.mm: 11450 * platform/graphics/win/GraphicsContextCGWin.cpp: 11451 11452 2009-05-07 Darin Adler <darin (a] apple.com> 11453 11454 Reviewed by Simon Fraser. 11455 11456 Bug 25575: Registered mutation event listener crashes HTMLMediaElement 11457 https://bugs.webkit.org/show_bug.cgi?id=25575 11458 11459 Test: fast/media/video-controls-with-mutation-event-handler.html 11460 11461 * rendering/MediaControlElements.cpp: 11462 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute. 11463 * rendering/RenderMedia.cpp: 11464 (WebCore::RenderMedia::createTimeline): Call setAttribute here. 11465 11466 2009-05-07 Simon Fraser <simon.fraser (a] apple.com> 11467 11468 Rubber Stamped by Dave Hyatt 11469 11470 Shuffle the data members to minimize padding. 11471 11472 * rendering/RenderTableSection.cpp: 11473 (WebCore::RenderTableSection::RenderTableSection): 11474 * rendering/RenderTableSection.h: 11475 11476 2009-05-07 Simon Fraser <simon.fraser (a] apple.com> 11477 11478 Rubber Stamped by Dave Hyatt 11479 11480 Shuffle the data members to make Events 8 bytes smaller in 64-bit. 11481 11482 * dom/Event.cpp: 11483 (WebCore::Event::Event): 11484 * dom/Event.h: 11485 11486 2009-05-07 Eric Seidel <eric (a] webkit.org> 11487 11488 Reviewed by Beth Dakin. 11489 11490 Fix regression caused by r41469, add test case to prevent it from 11491 happening again. 11492 https://bugs.webkit.org/show_bug.cgi?id=25252 11493 11494 hasLayer() was true during removeOnlyThisLayer()/ 11495 updateLayerPositions() 11496 which caused updateLayerPosition()'s walk up the render tree to 11497 include offsets from the layer we were about to remove. 11498 11499 I'm not 100% convinced that this wasn't a bug in 11500 updateLayerPosition() or in RenderBoxModelObject::styleDidChange, 11501 because the layer in question is not the containing block for the 11502 block which gets laid out wrong. But this restores the previous 11503 behavior and adds a test. So the next time someone is in here re- 11504 factoring, they will at least know if they break something. 11505 11506 Test: fast/layers/remove-only-this-layer-update.html 11507 11508 * rendering/RenderBoxModelObject.cpp: 11509 (WebCore::RenderBoxModelObject::destroyLayer): 11510 * rendering/RenderLayer.cpp: 11511 (WebCore::RenderLayer::removeOnlyThisLayer): 11512 * rendering/RenderObject.cpp: 11513 (WebCore::RenderObject::destroy): 11514 * rendering/RenderWidget.cpp: 11515 (WebCore::RenderWidget::destroy): 11516 11517 2009-05-07 Dmitry Titov <dimich (a] chromium.org> 11518 11519 Attempt to fix GTK build. 11520 11521 * platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined. 11522 11523 2009-05-07 Oliver Hunt <oliver (a] apple.com> 11524 11525 Reviewed by Gavin Barraclough. 11526 11527 Improve native call performance 11528 11529 Add calling convention declarations where necessary, and update bindings 11530 script to generate them as well. 11531 11532 * bindings/js/JSHTMLCollectionCustom.cpp: 11533 (WebCore::callHTMLCollection): 11534 * bindings/js/JSNodeListCustom.cpp: 11535 (WebCore::callNodeList): 11536 * bindings/js/JSPluginElementFunctions.cpp: 11537 (WebCore::callPlugin): 11538 * bindings/js/JSQuarantinedObjectWrapper.h: 11539 * bindings/scripts/CodeGeneratorJS.pm: 11540 * bridge/runtime_method.cpp: 11541 (JSC::callRuntimeMethod): 11542 * bridge/runtime_object.cpp: 11543 (JSC::callRuntimeObject): 11544 11545 2009-05-07 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 11546 11547 Reviewed by Dave Hyatt. 11548 11549 Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617 11550 11551 Fix memory/performance regression because of too much form control related abstraction just for WMLs sake. 11552 11553 Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the 11554 gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly. 11555 11556 The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before. 11557 This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation. 11558 To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all 11559 methods are renamed to clarify where they belong to. All renames are listed here: 11560 11561 From FormControlElement: 11562 - isEnabled() -> isEnabledFormControl() 11563 - isReadOnly() -> isReadOnlyFormControl() 11564 - isTextControl() -> isTextFormControl() 11565 - valueMatchesRenderer() -> formControlValueMatchesRenderer() 11566 - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer() 11567 - name() -> formControlName() 11568 - type() -> formControlType() 11569 11570 From FormControlElementWithState: 11571 - saveState() -> saveFormControlState() 11572 - restoreState() -> restoreFormControlState() 11573 11574 A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression. 11575 11576 No testcases affected, no new tests needed. 11577 11578 * GNUmakefile.am: 11579 * WebCore.pro: 11580 * WebCore.vcproj/WebCore.vcproj: 11581 * WebCore.xcodeproj/project.pbxproj: 11582 * WebCoreSources.bkl: 11583 * css/CSSStyleSelector.cpp: 11584 (WebCore::CSSStyleSelector::canShareStyleWithElement): 11585 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 11586 * dom/Document.cpp: 11587 (WebCore::Document::formElementsState): 11588 * dom/Document.h: 11589 (WebCore::Document::registerFormElementWithState): 11590 (WebCore::Document::unregisterFormElementWithState): 11591 * dom/Element.h: 11592 (WebCore::Element::isFormControlElement): 11593 (WebCore::Element::isEnabledFormControl): 11594 (WebCore::Element::isReadOnlyFormControl): 11595 (WebCore::Element::isTextFormControl): 11596 (WebCore::Element::formControlValueMatchesRenderer): 11597 (WebCore::Element::setFormControlValueMatchesRenderer): 11598 (WebCore::Element::formControlName): 11599 (WebCore::Element::formControlType): 11600 (WebCore::Element::saveFormControlState): 11601 (WebCore::Element::restoreFormControlState): 11602 * dom/FormControlElement.cpp: Removed. 11603 * dom/FormControlElement.h: Removed. 11604 * dom/FormControlElementWithState.cpp: Removed. 11605 * dom/FormControlElementWithState.h: Removed. 11606 * dom/InputElement.cpp: 11607 (WebCore::InputElement::setValueFromRenderer): 11608 * html/HTMLButtonElement.cpp: 11609 (WebCore::HTMLButtonElement::formControlType): 11610 * html/HTMLButtonElement.h: 11611 * html/HTMLFieldSetElement.cpp: 11612 (WebCore::HTMLFieldSetElement::formControlType): 11613 * html/HTMLFieldSetElement.h: 11614 * html/HTMLFormControlElement.cpp: 11615 (WebCore::HTMLFormControlElement::attach): 11616 (WebCore::HTMLFormControlElement::formControlName): 11617 (WebCore::HTMLFormControlElement::willValidate): 11618 (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState): 11619 (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState): 11620 (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument): 11621 (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument): 11622 (WebCore::HTMLFormControlElementWithState::finishParsingChildren): 11623 * html/HTMLFormControlElement.h: 11624 (WebCore::HTMLFormControlElement::isTextFormControl): 11625 (WebCore::HTMLFormControlElement::isEnabledFormControl): 11626 (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer): 11627 (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer): 11628 (WebCore::HTMLFormControlElement::isReadOnlyFormControl): 11629 (WebCore::HTMLFormControlElement::type): 11630 (WebCore::HTMLFormControlElement::name): 11631 * html/HTMLInputElement.cpp: 11632 (WebCore::HTMLInputElement::formControlName): 11633 (WebCore::HTMLInputElement::formControlType): 11634 (WebCore::HTMLInputElement::saveFormControlState): 11635 (WebCore::HTMLInputElement::restoreFormControlState): 11636 (WebCore::HTMLInputElement::parseMappedAttribute): 11637 (WebCore::HTMLInputElement::detach): 11638 (WebCore::HTMLInputElement::setValue): 11639 (WebCore::HTMLInputElement::setFileListFromRenderer): 11640 * html/HTMLInputElement.h: 11641 (WebCore::HTMLInputElement::readOnly): 11642 (WebCore::HTMLInputElement::isTextFormControl): 11643 * html/HTMLKeygenElement.cpp: 11644 (WebCore::HTMLKeygenElement::formControlType): 11645 * html/HTMLKeygenElement.h: 11646 * html/HTMLLegendElement.cpp: 11647 (WebCore::HTMLLegendElement::formControlType): 11648 * html/HTMLLegendElement.h: 11649 * html/HTMLOptGroupElement.cpp: 11650 (WebCore::HTMLOptGroupElement::formControlType): 11651 * html/HTMLOptGroupElement.h: 11652 * html/HTMLOptionElement.cpp: 11653 (WebCore::HTMLOptionElement::formControlType): 11654 * html/HTMLOptionElement.h: 11655 * html/HTMLSelectElement.cpp: 11656 (WebCore::HTMLSelectElement::formControlType): 11657 (WebCore::HTMLSelectElement::saveFormControlState): 11658 (WebCore::HTMLSelectElement::restoreFormControlState): 11659 * html/HTMLSelectElement.h: 11660 * html/HTMLTextAreaElement.cpp: 11661 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): 11662 (WebCore::HTMLTextAreaElement::formControlType): 11663 (WebCore::HTMLTextAreaElement::saveFormControlState): 11664 (WebCore::HTMLTextAreaElement::restoreFormControlState): 11665 (WebCore::HTMLTextAreaElement::updateValue): 11666 (WebCore::HTMLTextAreaElement::setValue): 11667 * html/HTMLTextAreaElement.h: 11668 (WebCore::HTMLTextAreaElement::readOnly): 11669 (WebCore::HTMLTextAreaElement::isTextFormControl): 11670 * page/AccessibilityRenderObject.cpp: 11671 (WebCore::AccessibilityRenderObject::isEnabled): 11672 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 11673 * page/DragController.cpp: 11674 (WebCore::DragController::concludeEditDrag): 11675 * rendering/RenderMenuList.cpp: 11676 (WebCore::RenderMenuList::itemIsEnabled): 11677 * rendering/RenderTextControl.cpp: 11678 (WebCore::updateUserModifyProperty): 11679 (WebCore::RenderTextControl::setInnerTextValue): 11680 * rendering/RenderTextControl.h: 11681 * rendering/RenderTextControlMultiLine.cpp: 11682 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 11683 * rendering/RenderTextControlSingleLine.cpp: 11684 (WebCore::RenderTextControlSingleLine::updateFromElement): 11685 * rendering/RenderTheme.cpp: 11686 (WebCore::RenderTheme::isEnabled): 11687 (WebCore::RenderTheme::isReadOnlyControl): 11688 * rendering/RenderThemeChromiumMac.mm: 11689 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): 11690 * rendering/RenderThemeMac.mm: 11691 (WebCore::RenderThemeMac::adjustMenuListStyle): 11692 * rendering/RenderThemeSafari.cpp: 11693 (WebCore::RenderThemeSafari::adjustMenuListStyle): 11694 * wml/WMLFormControlElement.cpp: 11695 * wml/WMLFormControlElement.h: 11696 (WebCore::WMLFormControlElement::isReadOnlyFormControl): 11697 (WebCore::WMLFormControlElement::isTextFormControl): 11698 (WebCore::WMLFormControlElement::formControlValueMatchesRenderer): 11699 (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer): 11700 * wml/WMLInputElement.cpp: 11701 (WebCore::WMLInputElement::WMLInputElement): 11702 (WebCore::WMLInputElement::isKeyboardFocusable): 11703 (WebCore::WMLInputElement::isMouseFocusable): 11704 (WebCore::WMLInputElement::dispatchBlurEvent): 11705 (WebCore::WMLInputElement::formControlType): 11706 (WebCore::WMLInputElement::formControlName): 11707 (WebCore::WMLInputElement::setValue): 11708 (WebCore::WMLInputElement::saveFormControlState): 11709 (WebCore::WMLInputElement::restoreFormControlState): 11710 (WebCore::WMLInputElement::parseMappedAttribute): 11711 (WebCore::WMLInputElement::detach): 11712 (WebCore::WMLInputElement::appendFormData): 11713 (WebCore::WMLInputElement::init): 11714 * wml/WMLInputElement.h: 11715 (WebCore::WMLInputElement::isTextFormControl): 11716 * wml/WMLOptGroupElement.cpp: 11717 (WebCore::WMLOptGroupElement::formControlType): 11718 * wml/WMLOptGroupElement.h: 11719 * wml/WMLOptionElement.cpp: 11720 (WebCore::WMLOptionElement::formControlType): 11721 * wml/WMLOptionElement.h: 11722 11723 2009-05-07 Dmitry Titov <dimich (a] chromium.org> 11724 11725 Reviewed by Alexey Proskuryakov and Adam Roben. 11726 11727 https://bugs.webkit.org/show_bug.cgi?id=25348 11728 Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap. 11729 11730 Most of the change is in WTF. 11731 Unless noted, all the following files changed to use the new ThreadIdentifier::isValid() 11732 method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier 11733 is now a class rather then an integer. 11734 Also, there is no need to initialize threadID in constructors to 0 now. 11735 11736 * dom/XMLTokenizerLibxml2.cpp: 11737 (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id, 11738 since now ThreadIdentifier needs construction and we avoid having global initializers. 11739 (WebCore::matchFunc): use the new accessor function. 11740 (WebCore::openFunc): ditto. 11741 (WebCore::createStringParser): ditto. 11742 (WebCore::createMemoryParser): ditto. 11743 * loader/icon/IconDatabase.cpp: 11744 (WebCore::IconDatabase::open): 11745 * platform/sql/SQLiteDatabase.cpp: 11746 (WebCore::SQLiteDatabase::SQLiteDatabase): 11747 (WebCore::SQLiteDatabase::close): 11748 * storage/DatabaseThread.cpp: 11749 (WebCore::DatabaseThread::start): 11750 (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output. 11751 * storage/LocalStorageThread.cpp: 11752 (WebCore::LocalStorageThread::start): 11753 (WebCore::LocalStorageThread::scheduleImport): 11754 (WebCore::LocalStorageThread::scheduleSync): 11755 (WebCore::LocalStorageThread::terminate): 11756 * workers/WorkerThread.cpp: 11757 (WebCore::WorkerThread::start): 11758 (WebCore::WorkerThread::WorkerThread): 11759 (WebCore::WorkerThread::start): 11760 11761 2009-05-07 Simon Fraser <simon.fraser (a] apple.com> 11762 11763 Rubber Stamped by Dave Hyatt 11764 11765 Shuffle the data members to minimize padding. 11766 11767 * dom/ClassNames.h: 11768 11769 2009-05-07 Simon Fraser <simon.fraser (a] apple.com> 11770 11771 Reviewed by Darin Adler 11772 11773 <rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit 11774 https://bugs.webkit.org/show_bug.cgi?id=25605 11775 11776 Shrink GlyphPage by splitting the array of GlyphData, which has lots 11777 of padding, into separate Glyph and SimpleFontData* arrays. 11778 11779 * platform/graphics/Font.h: 11780 glyphDataForCharacter has to return a GlyphData by value now. 11781 11782 * platform/graphics/FontFastPath.cpp: 11783 (WebCore::Font::glyphDataForCharacter): 11784 Return GlyphData by value. 11785 11786 * platform/graphics/GlyphPageTreeNode.cpp: 11787 (WebCore::GlyphPageTreeNode::initializePage): 11788 Better encapsulation of GlyphPage, using the new methods. 11789 11790 * platform/graphics/Font.h: 11791 * platform/graphics/FontFastPath.cpp: 11792 (WebCore::Font::glyphDataForCharacter): 11793 * platform/graphics/GlyphPageTreeNode.cpp: 11794 (WebCore::GlyphPageTreeNode::initializePage): 11795 * platform/graphics/GlyphPageTreeNode.h: 11796 (WebCore::GlyphData::GlyphData): 11797 (WebCore::GlyphPage::indexForCharacter): 11798 (WebCore::GlyphPage::glyphDataForCharacter): 11799 (WebCore::GlyphPage::glyphDataForIndex): 11800 (WebCore::GlyphPage::glyphAt): 11801 (WebCore::GlyphPage::fontDataForCharacter): 11802 (WebCore::GlyphPage::setGlyphDataForCharacter): 11803 (WebCore::GlyphPage::setGlyphDataForIndex): 11804 (WebCore::GlyphPage::copyFrom): 11805 (WebCore::GlyphPage::clear): 11806 11807 2009-05-07 Dimitri Glazkov <dglazkov (a] chromium.org> 11808 11809 Reviewed by Darin Fisher. 11810 11811 https://bugs.webkit.org/show_bug.cgi?id=25625 11812 Implement Image/Option constructors in V8 bindings. 11813 11814 * bindings/v8/custom/V8DOMWindowCustom.cpp: 11815 (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code. 11816 * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added. 11817 * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added. 11818 11819 2009-05-07 Brady Eidson <beidson (a] apple.com> 11820 11821 I hate myself for doing this, but need to fix that ChangeLog entry. 11822 11823 * ChangeLog: 11824 11825 2009-05-07 Brady Eidson <beidson (a] apple.com> 11826 11827 Rubberstamped by Darin Adler 11828 11829 * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore. 11830 * html/HTMLParser.h: Ditto 11831 11832 2009-05-07 David Hyatt <hyatt (a] apple.com> 11833 11834 Restore intrinsic margins to all form controls on Mac and Windows. Some of this regressed in 43007 11835 when textareas were given explicit margins. Some of it had already regressed earlier whenever intrinsic 11836 margins were turned off in themeWin.css. 11837 11838 Reviewed by Beth Dakin. 11839 11840 * css/html4.css: 11841 * css/themeWin.css: 11842 11843 2009-05-07 Brady Eidson <beidson (a] apple.com> 11844 11845 Reviewed by Darin Adler and Alexey Proskuryakov. 11846 11847 <rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation 11848 11849 * dom/Document.cpp: 11850 (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it. 11851 11852 * html/HTMLParser.cpp: 11853 (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it. 11854 (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto. 11855 (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created. 11856 * html/HTMLParser.h: 11857 (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms 11858 11859 2009-05-07 Antony Sargent <asargent (a] chromium.org> 11860 11861 Reviewed by Darin Fisher. 11862 11863 Fix a memory leak in V8EventListenerList::remove. 11864 11865 https://bugs.webkit.org/show_bug.cgi?id=25618 11866 11867 No new functionality so no new tests. 11868 11869 * bindings/v8/V8EventListenerList.cpp: 11870 (WebCore::V8EventListenerList::remove): 11871 11872 2009-05-07 Darin Fisher <darin (a] chromium.org> 11873 11874 Fix Chromium build bustage. 11875 11876 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing 11877 HTMLCollection.h include. 11878 11879 2009-05-07 Chris Fleizach <cfleizach (a] apple.com> 11880 11881 Reviewed by Beth Dakin. 11882 11883 Bug 25598: AX: if a radio button has a label and a title, the label is not exposed 11884 https://bugs.webkit.org/show_bug.cgi?id=25598 11885 11886 Test: accessibility/radio-button-title-label.html 11887 11888 * page/AccessibilityObject.h: 11889 (WebCore::AccessibilityObject::exposesTitleUIElement): 11890 * page/AccessibilityRenderObject.cpp: 11891 (WebCore::AccessibilityRenderObject::exposesTitleUIElement): 11892 (WebCore::AccessibilityRenderObject::titleUIElement): 11893 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 11894 * page/AccessibilityRenderObject.h: 11895 11896 2009-05-07 Darin Fisher <darin (a] chromium.org> 11897 11898 Fix Chromium build bustage. 11899 11900 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 11901 (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::" 11902 11903 2009-05-07 Xan Lopez <xlopez (a] igalia.com> 11904 11905 Reviewed by Gustavo Noronha. 11906 11907 https://bugs.webkit.org/show_bug.cgi?id=25610 11908 [GTK] text.caretOffset is reportedly always 0 11909 11910 Use the right function to get the caret offset in an 11911 element. selectionStart() would only work for text 11912 controls (there's even an ASSERT when calculating the selected 11913 text range). Instead just get the selection and get the offset of 11914 the start position. 11915 11916 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 11917 11918 2009-05-07 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 11919 11920 Reviewed by Simon Hausmann. 11921 11922 [Qt] Fix support for antialiased CSS border-radius 11923 11924 WebKit implements border-radius by drawing a double-size border, 11925 and then letting the clip constrain the border to the right width 11926 and position. This requires support for antialiased clipping, as 11927 well as painting, to get a nice smooth border. 11928 11929 Qt only does antialiased clipping if the anti-alias flag is set 11930 at the time of clipping, so we have to enable this in the method 11931 addInnerRoundedRectClip(), as well as when we draw the border. 11932 11933 Currently the raster-engine is the only Qt paint engine to support 11934 anti-aliased clipping, but the OpenGL and Mac paint engines could 11935 potentially support this in the future. 11936 11937 * platform/graphics/qt/GraphicsContextQt.cpp: 11938 (WebCore::GraphicsContext::strokeArc): 11939 (WebCore::GraphicsContext::addInnerRoundedRectClip): 11940 11941 2009-05-07 Adam Langley <agl (a] google.com> 11942 11943 Reviewed by Eric Seidel. 11944 11945 Render empty optgroup elements. 11946 11947 https://bugs.webkit.org/show_bug.cgi?id=24900 11948 11949 Currently, optgroup elements which are empty are not rendered. The 11950 HTML specification gives no guidance on this situation. 11951 11952 However, the test for being empty is that they have no children, thus 11953 this will not render: 11954 <optgroup label="test"></optgroup> 11955 while this /will/ render (because of the text node child): 11956 <optgroup label="test"> </optgroup> 11957 11958 This patch will cause both cases to render which matches IE's and 11959 Firefox's behaviour. 11960 11961 The difference only appears when opening the select element and does 11962 not appear in the render tree. Thus, a manual layout-test is required. 11963 11964 * html/HTMLSelectElement.cpp: 11965 (WebCore::HTMLSelectElement::recalcListItems): 11966 * manual-tests/optgroup-empty-and-nested.html: Added. 11967 11968 2009-05-06 Julie Parent <jparent (a] google.com> 11969 11970 Reviewed by Eric Seidel. 11971 11972 Bug 25608: Unused m_frame in ChromiumClipboard. 11973 https://bugs.webkit.org/show_bug.cgi?id=25608 11974 11975 * platform/chromium/ClipboardChromium.h: 11976 11977 No tests added as this is only removing dead code, no functional changes. 11978 11979 2009-05-06 Dan Bernstein <mitz (a] apple.com> 11980 11981 Reviewed by Simon Fraser and Justin Garcia. 11982 11983 - fix another part of <rdar://problem/6703873> Triple-click quoted line 11984 and type Return creates an extra quoted blank line 11985 11986 Test: editing/inserting/6703873-2.html 11987 11988 * editing/BreakBlockquoteCommand.cpp: 11989 (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for 11990 determining the first node that should go into the new blockquote 11991 given the split position: if it is at the end of a container, use the 11992 next node after the container. Otherwise, use the child at the 11993 position's offset. 11994 11995 2009-05-06 Kevin Ollivier <kevino (a] theolliviers.com> 11996 11997 wx build fix, fixes for wx trunk builds. 11998 11999 * platform/graphics/wx/ImageWx.cpp: 12000 (WebCore::BitmapImage::draw): 12001 * platform/wx/RenderThemeWx.cpp: 12002 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 12003 (wxFontProperties::wxFontProperties): 12004 12005 2009-05-06 Albert J. Wong <ajwong (a] chromium.org> 12006 12007 Reviewed by Darin Fisher. 12008 12009 https://bugs.webkit.org/show_bug.cgi?id=25597 12010 Fix API drift compile errors that occurred while this was ifdef-ed out. 12011 The two big issues were that RenderObject::element() became 12012 RenderObject::node() and some of the wk* drawing functions had 12013 an extra theme parameter added to the argument list. 12014 12015 * rendering/RenderThemeChromiumMac.mm: 12016 (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton): 12017 (WebCore::RenderThemeChromiumMac::paintMediaMuteButton): 12018 (WebCore::RenderThemeChromiumMac::paintMediaPlayButton): 12019 (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton): 12020 (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton): 12021 (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack): 12022 (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb): 12023 12024 2009-05-06 Jian Li <jianli (a] chromium.org> 12025 12026 Reviewed by Dimitri Glazkov. 12027 12028 https://bugs.webkit.org/show_bug.cgi?id=25385 12029 Upstream changes to V8 bindings for supporting nested workers. 12030 12031 * bindings/v8/WorkerContextExecutionProxy.cpp: 12032 (WebCore::WorkerContextExecutionProxy::ToV8Object): 12033 (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): 12034 * bindings/v8/custom/V8WorkerCustom.cpp: 12035 (WebCore::getEventListener): 12036 (WebCore::ACCESSOR_SETTER WorkerOnmessage): 12037 (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener): 12038 12039 2009-05-06 Dave Moore <davemoore (a] google.com> 12040 12041 Reviewed by Dimitri Glazkov. 12042 12043 https://bugs.webkit.org/show_bug.cgi?id=25513 12044 The V8 bindings convert every javascript property to its associated css style 12045 name. It then calls functions that convert that name to an id. This makes 12046 getting or setting css styles on elements slow. 12047 12048 The patch fixes this by caching the results of the transformation, mapping a 12049 javascript property name to its css property id. It then calls the already 12050 public webkit methods that take the id in place of the string property names. 12051 12052 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 12053 12054 2009-05-06 Nate Chapin <japhet (a] google.com> 12055 12056 Reviewed by Dimitri Glazkov. 12057 12058 https://bugs.webkit.org/show_bug.cgi?id=25591 12059 Upstream V8HTMLFormElement from the Chromium repository. 12060 12061 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 12062 (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository 12063 (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor(); 12064 (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository 12065 12066 2009-05-06 Albert J. Wong <ajwong (a] chromium.org> 12067 12068 Reviewed by Dimitri Glazkov. 12069 12070 https://bugs.webkit.org/show_bug.cgi?id=25595 12071 Upstream V8CanvasPixelArrayCustom from chromium port tree. 12072 12073 * bindings/v8/V8CanvasPixelArrayCustom.cpp: Added. 12074 12075 2009-05-06 Simon Fraser <simon.fraser (a] apple.com> 12076 12077 Rubber-stampted by Eric Seidel 12078 12079 Add braces to clarify logic flow in RenderObject::adjustStyleDifference. 12080 Only affects ACCELERATED_COMPOSITING builds. 12081 12082 * rendering/RenderObject.cpp: 12083 (WebCore::RenderObject::adjustStyleDifference): 12084 12085 2009-05-06 Simon Fraser <simon.fraser (a] apple.com> 12086 12087 Reviewed by Dan Bernstein 12088 12089 <rdar://problem/6862550> Reduce size of RenderText in 64-bit 12090 12091 Rearrange data members of RenderText so that an int comes 12092 first, to minimize padding. 12093 12094 * rendering/RenderText.cpp: 12095 (WebCore::RenderText::RenderText): 12096 * rendering/RenderText.h: 12097 12098 2009-05-06 Simon Fraser <simon.fraser (a] apple.com> 12099 12100 Reviewed by Dan Bernstein 12101 12102 <rdar://problem/6862823> Reduce size of RenderStyle in 64-bit 12103 12104 Rearrange data members of RenderStyle to minimize padding 12105 when building for 64-bit. 12106 12107 * rendering/style/RenderStyle.cpp: 12108 (WebCore::RenderStyle::RenderStyle): 12109 * rendering/style/RenderStyle.h: 12110 (WebCore::): 12111 12112 2009-05-06 Darin Fisher <darin (a] chromium.org> 12113 12114 Reviewed by Dimitri Glazkov. 12115 12116 https://bugs.webkit.org/show_bug.cgi?id=25596 12117 12118 Fixes Chromium build bustage caused by r43317 (making 12119 RefCountedBase::m_refCount private) 12120 12121 * page/chromium/AccessibilityObjectWrapper.h: 12122 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): 12123 12124 2009-05-06 Hin-Chung Lam <hclam (a] chromium.org> 12125 12126 Reviewed by Darin Fisher. 12127 12128 https://bugs.webkit.org/show_bug.cgi?id=25593 12129 12130 Refactor for MediaPlayerPrivate for Chromium port. Remove 12131 the implementation of MediaPlayerPrivateInferface from it. 12132 12133 * platform\graphics\chromium\MediaPlayerPrivateChromium.h: 12134 12135 2009-05-06 Simon Fraser <simon.fraser (a] apple.com> 12136 12137 Reviewed by Dave Hyatt, Dan Bernstein 12138 12139 <rdar://problem/6860197> Reduce the size of FontFallbackList in 64-bit 12140 12141 Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit. 12142 12143 * platform/graphics/FontFallbackList.cpp: 12144 (WebCore::FontFallbackList::FontFallbackList): 12145 * platform/graphics/FontFallbackList.h: 12146 12147 2009-05-06 Simon Fraser <simon.fraser (a] apple.com> 12148 12149 Reviewed by Darin Adler, Dan Bernstein 12150 12151 <rdar://problem/6860068> Reduce size of InlineBox in 64-bit 12152 12153 Re-order the data members of InlineBox to save 8 bytes when building 64-bit. 12154 12155 * rendering/InlineBox.h: 12156 (WebCore::InlineBox::InlineBox): 12157 12158 2009-05-06 David Levin <levin (a] chromium.org> 12159 12160 Reviewed by Dimitri Glazkov. 12161 12162 https://bugs.webkit.org/show_bug.cgi?id=25588 12163 Adding the custom v8 bindings Document.location. 12164 12165 * bindings/v8/custom/V8DocumentLocationCustom.cpp: Added. 12166 12167 2009-05-06 Kevin McCullough <kmccullough (a] apple.com> 12168 12169 -Clarified a comment 12170 12171 * editing/InsertParagraphSeparatorCommand.cpp: 12172 (WebCore::InsertParagraphSeparatorCommand::doApply): 12173 12174 2009-05-06 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 12175 12176 Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places. 12177 12178 * wml/WMLAElement.cpp: 12179 * wml/WMLAccessElement.cpp: 12180 * wml/WMLBRElement.cpp: 12181 * wml/WMLCardElement.cpp: 12182 * wml/WMLDoElement.cpp: 12183 * wml/WMLElement.cpp: 12184 * wml/WMLFieldSetElement.cpp: 12185 * wml/WMLGoElement.cpp: 12186 * wml/WMLImageElement.cpp: 12187 * wml/WMLInputElement.cpp: 12188 * wml/WMLMetaElement.cpp: 12189 * wml/WMLOnEventElement.cpp: 12190 * wml/WMLOptGroupElement.cpp: 12191 * wml/WMLOptionElement.cpp: 12192 * wml/WMLPElement.cpp: 12193 * wml/WMLPostfieldElement.cpp: 12194 * wml/WMLSetvarElement.cpp: 12195 * wml/WMLTableElement.cpp: 12196 * wml/WMLTemplateElement.cpp: 12197 * wml/WMLTimerElement.cpp: 12198 12199 2009-05-06 Xan Lopez <xlopez (a] igalia.com> 12200 12201 Reviewed by Gustavo Noronha. 12202 12203 https://bugs.webkit.org/show_bug.cgi?id=25526 12204 [Gtk] Additional support is needed for caret browsing 12205 12206 Emit AtkText::text-selection-changed when the selection changes 12207 and the current selection is of Range (ie, the start and end 12208 positions are different) type. This seems to match what Gecko 12209 does. 12210 12211 * editing/gtk/SelectionControllerGtk.cpp: 12212 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 12213 12214 2009-05-05 Xan Lopez <xlopez (a] igalia.com> 12215 12216 Reviewed by Gustavo Noronha. 12217 12218 https://bugs.webkit.org/show_bug.cgi?id=25526 12219 [Gtk] Additional support is needed for caret browsing 12220 12221 Emit AtkText::text-caret-moved when selection changes. 12222 12223 * GNUmakefile.am: 12224 * editing/SelectionController.h: 12225 * editing/gtk/SelectionController.cpp: Added. 12226 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 12227 12228 2009-05-06 Holger Hans Peter Freyther <zecke (a] selfish.org> 12229 12230 Reviewed by Gustavo Noronha. 12231 12232 Use mozilla cursors for the previously not implemented 12233 cursors. The manual-tests/cursor.html is looking complete 12234 now. 12235 12236 * platform/gtk/CursorGtk.cpp: 12237 (WebCore::cellCursor): 12238 (WebCore::noDropCursor): 12239 (WebCore::progressCursor): 12240 (WebCore::noneCursor): 12241 (WebCore::notAllowedCursor): 12242 (WebCore::grabCursor): 12243 (WebCore::grabbingCursor): 12244 * platform/gtk/CursorGtk.h: 12245 12246 2009-05-06 Holger Hans Peter Freyther <zecke (a] selfish.org> 12247 12248 Reviewed by Xan Lopez. 12249 12250 Properly indent the header file. 12251 12252 * platform/gtk/CursorGtk.h: 12253 12254 2009-05-06 Holger Hans Peter Freyther <zecke (a] selfish.org> 12255 12256 Reviewed by Gustavo Noronha. 12257 12258 Use the mozilla copyright header. Use MPL1.1/GPL2.0 12259 and LGPL2.1 as the license compared to LGPL2.0. 12260 12261 * platform/gtk/CursorGtk.h: 12262 12263 2009-05-06 Holger Hans Peter Freyther <zecke (a] selfish.org> 12264 12265 Reviewed by Gustavo Noronha. 12266 12267 Move PluginView::invalidateRegion from the 12268 TemporaryLinkStubs to PluginViewGtk.cpp and implement 12269 it with a call to Widget::invalidate() just like 12270 mac is doing. Optimisations would have to be window 12271 system specific. 12272 12273 * platform/gtk/TemporaryLinkStubs.cpp: 12274 * plugins/gtk/PluginViewGtk.cpp: 12275 (WebCore::PluginView::invalidateRegion): 12276 12277 2009-05-06 Jan Michael Alonzo <jmalonzo (a] webkit.org> 12278 12279 Reviewed by Holger Freyther. 12280 12281 Misc fixes to InspectorClientGtk. 12282 12283 * GNUmakefile.am: Add localizedStrings.js to webinspector_DATA. 12284 This prevents copious amounts "Localized string not found" errors 12285 in the console 12286 12287 2009-05-06 Simon Hausmann <simon.hausmann (a] nokia.com> 12288 12289 Reviewed by Ariya Hidayat. 12290 12291 Fix the Qt build on Windows. 12292 12293 * platform/graphics/GraphicsContext.h: 12294 (WebCore::GraphicsContext::shouldIncludeChildWindows): Implemented dummy accessor. 12295 12296 2009-05-06 Simon Hausmann <simon.hausmann (a] nokia.com> 12297 12298 Reviewed by Tor Arne Vestb. 12299 12300 Tweak WebCore.pro for being able to override the generated sources dir for the 12301 generated_files target. 12302 12303 * WebCore.pro: 12304 12305 2009-05-06 Simon Hausmann <simon.hausmann (a] nokia.com> 12306 12307 Reviewed by Holger Freyther. 12308 12309 Fix the Qt/Windows build, use iface instead of interface to avoid conflict 12310 with VS2005 headers. 12311 12312 * css/CSSStyleSelector.cpp: 12313 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): 12314 12315 2009-05-06 Joerg Bornemann <joerg.bornemann (a] trolltech.com> 12316 12317 Reviewed by Simon Hausmann. 12318 12319 We need to include StringExtras.h on Windows CE to access the strdup function. 12320 12321 * plugins/PluginStream.cpp: 12322 12323 2009-05-06 Soren Gjesse <sgjesse (a] chromium.org> 12324 12325 Reviewed by Eric Seidel. 12326 12327 Changed the toString behaviour for non document dom node event handlers in the V8 bindings. 12328 https://bugs.webkit.org/show_bug.cgi?id=25544 12329 12330 In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner 12331 function. This causes the default toString on such a handler to return all this wrapper code. As some web sites 12332 use the source of an event handler to create new functions this wrapper code causes compatibility problems. 12333 12334 Create a specific toString function for these handlers which will return a function source compatible with the 12335 source returned by the JSC bindings and other browsers. 12336 12337 Test: fast/events/event-function-toString.html 12338 12339 * bindings/v8/ScriptEventListener.cpp: 12340 (WebCore::createAttributeEventListener): 12341 * bindings/v8/V8LazyEventListener.cpp: 12342 (WebCore::V8LazyEventListener::V8LazyEventListener): 12343 (WebCore::V8LazyEventListener::getListenerFunction): 12344 (WebCore::V8LazyEventListenerToString): 12345 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 12346 * bindings/v8/V8LazyEventListener.h: 12347 (WebCore::V8LazyEventListener::create): 12348 12349 2009-05-06 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 12350 12351 Reviewed by Simon Hausmann. 12352 12353 Build QtWebKit as a framework on Mac 12354 12355 This implies both debug and release build by default, unless 12356 one of the --debug or --release config options are passed to 12357 the build-webkit script. 12358 12359 Frameworks can be disabled by passing CONFIG+=webkit_no_framework 12360 to the build-webkit script. 12361 12362 To be able to build both debug and release targets in parallel 12363 we have to use separate output directories for the generated 12364 sources, which is not optimal, but required to avoid race conditions. 12365 12366 An optimization would be to only require this spit-up on Mac. 12367 12368 * WebCore.pro: 12369 12370 2009-05-06 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 12371 12372 Reviewed by Simon Hausmann. 12373 12374 [Qt] Use $$GENERATED_SOURCES_DIR as output when running bison 12375 12376 A couple of the generators left the bison output file in the source 12377 tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not 12378 work well when building release and debug configurations in parallel. 12379 12380 * WebCore.pro: 12381 12382 2009-05-06 Dan Bernstein <mitz (a] apple.com> 12383 12384 Reviewed by Justin Garcia. 12385 12386 - fix an assertion failure in RemoveNodeCommand() when deleting a <br> 12387 between a block and a mail blockquote 12388 12389 Test: editing/deleting/removeNodeCommand-assert.html 12390 12391 * editing/DeleteSelectionCommand.cpp: 12392 (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block 12393 to prune() instead of passing m_upstreamStart.node(), because the latter 12394 may have been removed already. 12395 12396 2009-05-05 Eric Seidel <eric (a] webkit.org> 12397 12398 No review, roll out only. 12399 12400 Roll out r23072 since it broke layout tests 12401 12402 * page/AccessibilityRenderObject.cpp: 12403 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 12404 12405 2009-05-05 Ben Murdoch <benm (a] google.com> 12406 12407 Reviewed by Eric Seidel. 12408 12409 Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds. 12410 https://bugs.webkit.org/show_bug.cgi?id=24776 12411 12412 No functional changes, thus no tests. 12413 12414 * bindings/js/JSCustomSQLStatementCallback.cpp: 12415 * bindings/js/JSCustomSQLStatementCallback.h: 12416 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 12417 * bindings/js/JSCustomSQLStatementErrorCallback.h: 12418 * bindings/js/JSCustomSQLTransactionCallback.cpp: 12419 * bindings/js/JSCustomSQLTransactionCallback.h: 12420 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 12421 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 12422 * bindings/js/JSDatabaseCustom.cpp: 12423 * bindings/js/JSSQLTransactionCustom.cpp: 12424 * loader/EmptyClients.h: 12425 * page/ChromeClient.h: 12426 * storage/ChangeVersionWrapper.cpp: 12427 * storage/ChangeVersionWrapper.h: 12428 * storage/Database.cpp: 12429 (WebCore::Database::databaseInfoTableName): 12430 * storage/Database.h: 12431 * storage/Database.idl: 12432 * storage/DatabaseTask.cpp: 12433 * storage/DatabaseTask.h: 12434 * storage/DatabaseThread.cpp: 12435 * storage/DatabaseThread.h: 12436 * storage/DatabaseTracker.cpp: 12437 * storage/DatabaseTracker.h: 12438 * storage/DatabaseTrackerClient.h: 12439 * storage/OriginQuotaManager.cpp: 12440 * storage/OriginQuotaManager.h: 12441 * storage/SQLStatement.cpp: 12442 * storage/SQLStatement.h: 12443 * storage/SQLTransaction.cpp: 12444 * storage/SQLTransaction.h: 12445 * storage/SQLTransaction.idl: 12446 12447 2009-05-05 Jeremy Moskovich <jeremy (a] chromium.org> 12448 12449 Reviewed by Eric Seidel. 12450 12451 Add some documentation to InlineBox::x(),y(). 12452 https://bugs.webkit.org/show_bug.cgi?id=25378 12453 12454 * rendering/InlineBox.h: 12455 12456 2009-05-05 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 12457 12458 Reviewed by Eric Seidel. 12459 12460 Disable all the SVG features for WebKit/Qt if ENABLE_SVG=0 12461 https://bugs.webkit.org/show_bug.cgi?id=24693 12462 12463 * WebCore.pro: 12464 12465 2009-05-05 Sankar Aditya Tanguturi <sankaraditya (a] gmail.com> 12466 12467 Reviewed by Eric Seidel. 12468 12469 Anonymous blocks should not be exposed in accessibility tree. 12470 Part of https://bugs.webkit.org/show_bug.cgi?id=23072 12471 12472 Tests: accessibility/ignore-anonymous-block.html 12473 platform/win/accessibility/document-role.html 12474 12475 * page/AccessibilityRenderObject.cpp: 12476 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):Return 12477 true for Anonymous blocks. Matching Firefox 2.0.0.14 12478 12479 2009-05-05 Jungshik Shin <jshin (a] chromium.org> 12480 12481 Reviewed by Alexey Proskuryakov. 12482 12483 http://bugs.webkit.org/show_bug.cgi?id=25487 12484 12485 For euc-kr and other 8bit Korean encodings 12486 (similar to euc-kr/windows-949), make document.charset return 12487 EUC-KR instead of windows-949. The latter is not recognized by 12488 Korean web servers. 12489 12490 Add domName method to TextEncoding to deal with cases where 12491 our internal encoding name does not match what's widely recognized 12492 by web servers. Currently, the only case is 'windows-949' (internal 12493 name) vs 'EUC-KR'. 12494 12495 Test: fast/encoding/euckr-name.html 12496 12497 * dom/Document.cpp: 12498 (WebCore::Document::encoding): Call TextEncoding.domName() instead 12499 of TextEncoding.name(). 12500 * platform/text/TextEncoding.cpp: 12501 (WebCore::TextEncoding::domName): For the canonical name 'windows-949', 12502 return 'EUC-KR'. Otherwise, just return the canonical name. 12503 * platform/text/TextEncoding.h: 12504 12505 2009-05-05 Adam Langley <agl (a] google.com> 12506 12507 Reviewed by Darin Adler. 12508 12509 Rendering fix for <select> elements. 12510 https://bugs.webkit.org/show_bug.cgi?id=25558 12511 12512 When switching a <select> element from display:none to default 12513 display, we would fail to invalidate the parent's pref widths in some 12514 situations: 12515 12516 When attaching the element, RenderMenuList::updateOptionsWidth would 12517 call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was 12518 set. This would mark the pref widths as dirty, but not for any parent 12519 objects. 12520 12521 When RenderObjectChildList::appendChildNode later calls 12522 setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer, 12523 nothing would be done because the pref widths were already dirty for. 12524 the RenderMenuList. 12525 12526 * rendering/RenderMenuList.cpp: 12527 (WebCore::RenderMenuList::updateOptionsWidth): 12528 12529 2009-05-05 Antony Sargent <asargent (a] chromium.org> 12530 12531 Reviewed by Dimitri Glazkov. 12532 12533 Switch V8EventListenerList to use HashTable<T>. 12534 https://bugs.webkit.org/show_bug.cgi?id=25496 12535 12536 This avoids some tricky issues with event listener removal in the 12537 current implementation and has slightly better performance. 12538 12539 No new functionality so no new tests. 12540 12541 * bindings/v8/V8EventListenerList.cpp: Added V8EventListenerListIterator. 12542 * bindings/v8/V8EventListenerList.h: 12543 (WebCore::V8EventListenerList::size): 12544 * bindings/v8/WorkerContextExecutionProxy.cpp: 12545 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 12546 12547 2009-05-05 Darin Fisher <darin (a] chromium.org> 12548 12549 Fixing build bustage. 12550 12551 Add some missing includes to fix the Chromium build. 12552 12553 * bindings/v8/custom/V8DOMWindowCustom.cpp: 12554 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: 12555 12556 2009-05-05 Darin Fisher <darin (a] chromium.org> 12557 12558 Reviewed by Darin Adler. 12559 12560 https://bugs.webkit.org/show_bug.cgi?id=25570 12561 12562 history.{back,forward,go} should always be dispatched asynchronously, 12563 even when the history navigation would just result in scrolling the 12564 page. This matches the behavior of other browsers like IE and FF. 12565 12566 Test: fast/history/back-forward-is-asynchronous.html 12567 12568 * loader/FrameLoader.cpp: 12569 (WebCore::FrameLoader::scheduleHistoryNavigation): 12570 12571 2009-05-05 Eric Seidel <eric (a] webkit.org> 12572 12573 Reviewed by Simon Fraser. 12574 12575 Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG. 12576 https://bugs.webkit.org/show_bug.cgi?id=25532 12577 https://bugs.webkit.org/show_bug.cgi?id=25568 12578 12579 Adding this ASSERT exposed a bug in SVGPaintServerPattern::setup 12580 which was causing transformed SVG text when filled/stroked with a 12581 pattern using patternUnits=objectBoundingBox to draw incorrectly. 12582 12583 I fixed the incorrect drawing (by removing the broken code) and added 12584 two test cases to test the fix: 12585 * svg/transforms/text-with-pattern-inside-transformed-html.xhtml 12586 * svg/transforms/text-with-pattern-with-svg-transform.svg 12587 12588 * rendering/RenderSVGRoot.cpp: 12589 (WebCore::RenderSVGRoot::mapLocalToContainer): 12590 * rendering/SVGRenderSupport.cpp: 12591 (WebCore::SVGRenderBase::mapLocalToContainer): 12592 * svg/graphics/SVGPaintServerPattern.cpp: 12593 (WebCore::SVGPaintServerPattern::setup): 12594 12595 2009-05-05 Greg Bolsinga <bolsinga (a] apple.com> 12596 12597 Reviewed by Sam Weinig. 12598 12599 https://bugs.webkit.org/show_bug.cgi?id=25554 12600 12601 Support HTML5 text control input types: email, number, tel, url 12602 12603 Test: fast/html/text-field-input-types.html 12604 12605 * bindings/objc/DOMHTML.mm: 12606 (-[DOMHTMLInputElement _isTextField]): Call HTMLInputElement::isTextField directly. 12607 * html/HTMLInputElement.cpp: Use the new types where appropriate. 12608 (WebCore::HTMLInputElement::setInputType): 12609 (WebCore::HTMLInputElement::type): 12610 (WebCore::HTMLInputElement::saveState): 12611 (WebCore::HTMLInputElement::restoreState): 12612 (WebCore::HTMLInputElement::accessKeyAction): 12613 (WebCore::HTMLInputElement::rendererIsNeeded): 12614 (WebCore::HTMLInputElement::createRenderer): 12615 (WebCore::HTMLInputElement::appendFormData): 12616 (WebCore::HTMLInputElement::valueWithDefault): 12617 (WebCore::HTMLInputElement::storesValueSeparateFromAttribute): 12618 (WebCore::HTMLInputElement::defaultEventHandler): 12619 * html/HTMLInputElement.h: Ditto. 12620 (WebCore::HTMLInputElement::): 12621 (WebCore::HTMLInputElement::isTextField): 12622 12623 2009-04-01 miggilin <mr.diggilin (a] gmail.com> 12624 12625 Reviewed by Kevin Ollivier. 12626 12627 Mouse wheel scrolling and keyboard shortcut support for wx. 12628 12629 https://bugs.webkit.org/show_bug.cgi?id=24797 12630 12631 * platform/ScrollView.cpp: 12632 (WebCore::ScrollView::wheelEvent): 12633 * platform/wx/KeyboardEventWx.cpp: 12634 (WebCore::windowsKeyCodeForKeyEvent): 12635 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 12636 * platform/wx/ScrollViewWx.cpp: 12637 (WebCore::ScrollView::platformSetScrollPosition): 12638 12639 2009-05-05 Kevin Ollivier <kevino (a] theolliviers.com> 12640 12641 wx build fix for Windows, add missing include. 12642 12643 https://bugs.webkit.org/show_bug.cgi?id=24798 12644 12645 * platform/wx/wxcode/win/non-kerned-drawing.cpp: 12646 12647 2009-05-05 Chris Fleizach <cfleizach (a] apple.com> 12648 12649 Reviewed by Beth Dakin. 12650 12651 Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest: 12652 https://bugs.webkit.org/show_bug.cgi?id=25574 12653 12654 Enable accessibility hit-testing for image map links. 12655 Allow image map links to return AXURLs and AXAccessKey information. 12656 12657 Test: platform/mac/accessibility/imagemap-hittest.html 12658 12659 * page/AccessibilityImageMapLink.cpp: 12660 (WebCore::AccessibilityImageMapLink::url): 12661 * page/AccessibilityImageMapLink.h: 12662 * page/AccessibilityObject.h: 12663 (WebCore::AccessibilityObject::minValueForRange): 12664 * page/AccessibilityRenderObject.cpp: 12665 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): 12666 (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): 12667 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 12668 * page/AccessibilityRenderObject.h: 12669 * page/mac/AccessibilityObjectWrapper.mm: 12670 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 12671 12672 2009-05-05 Kevin McCullough <kmccullough (a] apple.com> 12673 12674 Reviewed by Dan Bernstein. 12675 12676 <rdar://problem/6552129> Select a quote line and paste elsewhere, you 12677 get that line and an extra quoted blank line 12678 <rdar://problem/6609308> Triple-click a quoted header line, copy, paste 12679 onto an empty line makes an extra quoted line 12680 12681 - When pasting a blockquote with a newline, make sure we put the newline 12682 outside of the blockquote so that it is not quoted. 12683 12684 * editing/InsertParagraphSeparatorCommand.cpp: 12685 (WebCore::InsertParagraphSeparatorCommand::doApply): 12686 12687 2009-05-05 Jan Michael Alonzo <jmalonzo (a] webkit.org> 12688 12689 Reviewed by Xan Lopez. 12690 12691 Call moz_gtk_shutdown on RenderThemeGtk destruction. 12692 12693 * platform/gtk/RenderThemeGtk.cpp: 12694 (WebCore::RenderThemeGtk::~RenderThemeGtk): 12695 * platform/gtk/RenderThemeGtk.h: 12696 12697 2009-05-05 Darin Adler <darin (a] apple.com> 12698 12699 Reviewed by Steve Falkenburg. 12700 12701 <rdar://problem/6858340> REGRESSION: can't drag local HTML files into Safari because CFURLCreateWithFileSystemPath inserts "localhost" 12702 12703 * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): Remove localhost. 12704 12705 2009-05-05 Peter Kasting <pkasting (a] google.com> 12706 12707 Reviewed by Brady Eidson. 12708 12709 Safety-check m_documentLoader before dereferencing. While it seems 12710 unlikely this could fail (as Safari 3 shipped without this), 12711 technically almost any call can change or reset m_documentLoader. 12712 12713 * loader/FrameLoader.cpp: 12714 (WebCore::FrameLoader::receivedFirstData): 12715 12716 2009-05-05 Dan Bernstein <mitz (a] apple.com> 12717 12718 - Tiger build fix 12719 12720 * css/CSSComputedStyleDeclaration.cpp: 12721 (WebCore::toCSSIdentifier): 12722 12723 2009-05-05 Peter Kasting <pkasting (a] google.com> 12724 12725 Reviewed by Eric Seidel. 12726 12727 https://bugs.webkit.org/show_bug.cgi?id=25303 12728 No need to ref the internal buffer inside the Skia ImageDecoder. 12729 12730 * platform/image-decoders/skia/ImageDecoder.h: 12731 (WebCore::RGBA32Buffer::RGBA32Buffer): 12732 (WebCore::RGBA32Buffer::operator=): 12733 (WebCore::RGBA32Buffer::clear): 12734 (WebCore::RGBA32Buffer::copyBitmapData): 12735 (WebCore::RGBA32Buffer::bitmap): 12736 (WebCore::RGBA32Buffer::setSize): 12737 (WebCore::RGBA32Buffer::width): 12738 (WebCore::RGBA32Buffer::height): 12739 (WebCore::RGBA32Buffer::hasAlpha): 12740 (WebCore::RGBA32Buffer::setStatus): 12741 (WebCore::RGBA32Buffer::setHasAlpha): 12742 (WebCore::RGBA32Buffer::setRGBA): 12743 12744 2009-05-05 Dan Bernstein <mitz (a] apple.com> 12745 12746 Reviewed by Darin Adler. 12747 12748 - fix https://bugs.webkit.org/show_bug.cgi?id=24192 12749 <rdar://problem/5760774> Replying to a Mail message that contains 12750 fixed width text can change the size of the text 12751 12752 Covered by existing tests: editing/pasteboard/5027857.html 12753 editing/pasteboard/paste-pre-002.html 12754 12755 * css/CSSComputedStyleDeclaration.cpp: 12756 (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword): 12757 Added. If the font-size is keyword-based, returns the keyword value 12758 instead of the pixel size. 12759 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): If 12760 font-family is a generic family, return the generic family instead of 12761 the the internal string -webkit-[serif|sans-serif|cursive|fantasy 12762 |monospace]. 12763 (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties): 12764 For the font-size property, prefer a keyword value over a pixel size. 12765 * css/CSSComputedStyleDeclaration.h: 12766 * editing/ApplyStyleCommand.cpp: 12767 (WebCore::StyleChange::currentlyHasStyle): For the font-size property, 12768 call getFontSizeCSSValuePreferringKeyword(). 12769 * platform/graphics/FontDescription.h: 12770 (WebCore::FontDescription::keywordSize): Changed the return type to 12771 unsigned. 12772 (WebCore::FontDescription::setKeywordSize): Changed the parameter type 12773 to unsigned. 12774 (WebCore::FontDescription::m_keywordSize): Changed the type of this 12775 4-bit field to unsigned, because it takes values as high as 8. 12776 12777 2009-05-05 Oliver Hunt <oliver (a] apple.com> 12778 12779 Reviewed by Maciej Stachowiak. 12780 12781 Fix http/tests/misc/DOMContentLoaded-event.html 12782 12783 The native call performance improvement removed a few places where we 12784 unintentionally performed a toThisObject conversion. This patch updates 12785 the bindings codegen to not rely on this bug. 12786 12787 * bindings/scripts/CodeGeneratorJS.pm: 12788 12789 2009-05-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 12790 12791 Reviewed by Xan Lopez and Gustavo Noronha. 12792 12793 Implement WebCore::directoryName for Gtk+. 12794 12795 * platform/gtk/FileSystemGtk.cpp: 12796 (WebCore::directoryName): 12797 12798 2009-05-05 Eric Seidel <eric (a] webkit.org> 12799 12800 Reviewed by Adam Roben. 12801 12802 Fix mappedAttributes() access without NULL check 12803 https://bugs.webkit.org/show_bug.cgi?id=25553 12804 12805 SVGStyledElement::getPresentationAttribute was using mappedAttributes() 12806 without checking for NULL. 12807 12808 HTMLInputElement::setInputType also doesn't NULL check, but I was not 12809 able to get it to crash with a test case so I just added an ASSERT. 12810 12811 * html/HTMLInputElement.cpp: 12812 (WebCore::HTMLInputElement::setInputType): 12813 * svg/SVGStyledElement.cpp: 12814 (WebCore::SVGStyledElement::getPresentationAttribute): 12815 12816 2009-05-05 Holger Hans Peter Freyther <zecke (a] selfish.org> 12817 12818 Reviewed by Xan Lopez. 12819 12820 Implement WebCore::imageTitle for Gtk+. 12821 12822 * platform/gtk/LocalizedStringsGtk.cpp: 12823 (WebCore::imageTitle): 12824 12825 2009-05-05 Oliver Hunt <oliver (a] apple.com> 12826 12827 Reviewed by Gavin Barraclough. 12828 12829 Bug 25559: Improve native function call performance 12830 <https://bugs.webkit.org/show_bug.cgi?id=25559> 12831 12832 Add forwarding header necessary for compilation, and fix debugger 12833 to correctly account for change in JSFunction behaviour. 12834 12835 * ForwardingHeaders/jit/JITCode.h: Added. 12836 * inspector/JavaScriptDebugServer.cpp: 12837 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 12838 12839 2009-05-05 Simon Hausmann <simon.hausmann (a] nokia.com> 12840 12841 Reviewed by Ariya Hidayat. 12842 12843 Make convertValueToQVariant more robust against null JSValues. 12844 12845 Don't require the caller to do the null check. 12846 12847 * bridge/qt/qt_runtime.cpp: 12848 (JSC::Bindings::convertValueToQVariant): 12849 12850 2009-05-05 Eric Seidel <eric (a] webkit.org> 12851 12852 No review, just a revert. 12853 12854 Roll out http://trac.webkit.org/changeset/43213 as it caused 4 tests to crash. 12855 12856 * rendering/RenderSVGRoot.cpp: 12857 (WebCore::RenderSVGRoot::mapLocalToContainer): 12858 * rendering/SVGRenderSupport.cpp: 12859 (WebCore::SVGRenderBase::mapLocalToContainer): 12860 12861 2009-05-04 Alexey Proskuryakov <ap (a] webkit.org> 12862 12863 Reviewed by Dave Hyatt. 12864 12865 <rdar://problem/6576889> REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com 12866 12867 The problem was caused by missing <head> element - we used to create it when moving a 12868 misplaced <style> element, but we now handle those in place. Other browsers always create 12869 a <head> element. 12870 12871 There is no guarantee that a <head> element always exists - first, it can be removed with 12872 removeChild or innerHTML, and also, we don't currently create it for frameset documents, or 12873 for manually created ones (e.g. ImageDocument). 12874 12875 Test: fast/parser/head-element-for-yahoo-player.html 12876 12877 * dom/Document.cpp: (WebCore::Document::implicitClose): Create a <head> element for about:blank. 12878 A removed comment talked about rdar://3758785, but that problem doesn't re-occur even if this 12879 code is removed completely. 12880 12881 * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::checkDTD): No longer allow <script> 12882 elements as children of <html>. This isn't directly related to this bug, but it was easier 12883 to fix both at once (IE and Firefox both don't allow such mispositioned <script> elements). 12884 12885 * html/HTMLParser.cpp: 12886 (WebCore::HTMLParser::handleError): Move <script> to <head> if <body> hasn't been created yet. 12887 Create a <head> it a <body> is created implicitly to contain some other element. 12888 (WebCore::HTMLParser::bodyCreateErrorCheck): Ensure that a <head> exists when <body> is 12889 explicitly present in source. 12890 (WebCore::HTMLParser::createHead): Do the work even if <html> element hasn't been created yet. 12891 12892 2009-05-04 Jakub Wieczorek <faw217 (a] gmail.com> 12893 12894 Reviewed by Simon Hausmann. 12895 12896 As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension() 12897 returns the application/octet-stream mimetype when it can't associate 12898 extension with any mimetype, it can happen that the application/octet-stream 12899 mimetype will hit the list of supported image formats. For instance, 12900 it is possible when QImageReader or QImageWriter support an extension 12901 that is not in the extensions map. 12902 12903 Make sure that this mimetype is not treated as displayable image type. 12904 12905 * platform/MIMETypeRegistry.cpp: 12906 (WebCore::initializeSupportedImageMIMETypes): 12907 (WebCore::initializeSupportedImageMIMETypesForEncoding): 12908 12909 2009-05-03 Eric Seidel <eric (a] webkit.org> 12910 12911 Reviewed by Simon Fraser. 12912 12913 ASSERT(useTransforms) in SVG mapLocalToContainer implementations 12914 https://bugs.webkit.org/show_bug.cgi?id=25532 12915 12916 * rendering/RenderSVGRoot.cpp: 12917 (WebCore::RenderSVGRoot::mapLocalToContainer): 12918 * rendering/SVGRenderSupport.cpp: 12919 (WebCore::SVGRenderBase::mapLocalToContainer): 12920 12921 2009-05-03 Eric Seidel <eric (a] webkit.org> 12922 12923 Reviewed by Simon Fraser. 12924 12925 Remove m_absoluteBounds hack from RenderSVGText 12926 https://bugs.webkit.org/show_bug.cgi?id=25532 12927 12928 No functional changes (SVGs inside CSS transformed HTML should theoretically repaint better) 12929 12930 * rendering/RenderSVGText.cpp: 12931 (WebCore::RenderSVGText::layout): 12932 * rendering/RenderSVGText.h: 12933 12934 2009-05-03 Eric Seidel <eric (a] webkit.org> 12935 12936 Reviewed by Simon Fraser. 12937 12938 Remove the vestigial calculateLocalTransform() 12939 https://bugs.webkit.org/show_bug.cgi?id=25532 12940 12941 RenderSVGContainer is now the only render which needs this 12942 function, but it no longer returns the unused bool. 12943 12944 calculateLocalTransform() previously was called by the DOM before 12945 transform updates were part of layout(). 12946 12947 * rendering/RenderForeignObject.cpp: 12948 (WebCore::RenderForeignObject::layout): 12949 * rendering/RenderForeignObject.h: 12950 (WebCore::RenderForeignObject::localTransform): 12951 * rendering/RenderPath.cpp: 12952 (WebCore::RenderPath::layout): 12953 * rendering/RenderPath.h: 12954 * rendering/RenderSVGContainer.cpp: 12955 * rendering/RenderSVGContainer.h: 12956 (WebCore::RenderSVGContainer::calculateLocalTransform): 12957 * rendering/RenderSVGImage.cpp: 12958 (WebCore::RenderSVGImage::layout): 12959 * rendering/RenderSVGImage.h: 12960 * rendering/RenderSVGText.cpp: 12961 (WebCore::RenderSVGText::layout): 12962 * rendering/RenderSVGText.h: 12963 * rendering/RenderSVGTransformableContainer.cpp: 12964 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): 12965 * rendering/RenderSVGTransformableContainer.h: 12966 12967 2009-05-03 Eric Seidel <eric (a] webkit.org> 12968 12969 Reviewed by Simon Fraser. 12970 12971 Move more code into SVGRenderBase 12972 https://bugs.webkit.org/show_bug.cgi?id=25532 12973 12974 clippedOverflowRectForRepaint, computeRectForRepaint and mapLocalToContainer 12975 are now all shared via SVGRenderBase. 12976 12977 RenderForeignObject should also be sharing this code, but I've left it 12978 alone for now, as changing that would likely cause test changes. 12979 12980 No test changes. It's possible that transformed <svg:image> elements will 12981 now show up with better metrics in the inspector. 12982 12983 * rendering/RenderSVGImage.cpp: 12984 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): 12985 (WebCore::RenderSVGImage::computeRectForRepaint): 12986 (WebCore::RenderSVGImage::mapLocalToContainer): 12987 * rendering/RenderSVGImage.h: 12988 * rendering/RenderSVGModelObject.cpp: 12989 (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): 12990 (WebCore::RenderSVGModelObject::computeRectForRepaint): 12991 (WebCore::RenderSVGModelObject::mapLocalToContainer): 12992 * rendering/RenderSVGText.cpp: 12993 (WebCore::RenderSVGText::clippedOverflowRectForRepaint): 12994 (WebCore::RenderSVGText::computeRectForRepaint): 12995 (WebCore::RenderSVGText::mapLocalToContainer): 12996 * rendering/SVGRenderSupport.cpp: 12997 (WebCore::SVGRenderBase::clippedOverflowRectForRepaint): 12998 (WebCore::SVGRenderBase::computeRectForRepaint): 12999 (WebCore::SVGRenderBase::mapLocalToContainer): 13000 * rendering/SVGRenderSupport.h: 13001 13002 2009-05-03 Eric Seidel <eric (a] webkit.org> 13003 13004 Reviewed by Simon Fraser. 13005 13006 Add SVGRenderBase to share logic between SVG renderers 13007 https://bugs.webkit.org/show_bug.cgi?id=25532 13008 13009 I've added an SVGRenderBase base class which is shared by 13010 all of the SVG renders now. This patch is just moving code 13011 there are no functional changes in this patch. 13012 13013 Currently I've left these functions in SVGRenderSupport.h 13014 In a later patch I will rename SVGRenderSupport.* to SVGRenderBase.* 13015 13016 clampImageBufferSizeToViewport now takes a FrameView* which makes some code easier to read. 13017 13018 * rendering/RenderSVGBlock.h: 13019 * rendering/RenderSVGImage.h: 13020 * rendering/RenderSVGModelObject.h: 13021 * rendering/RenderSVGRoot.h: 13022 * rendering/SVGRenderSupport.cpp: 13023 (WebCore::SVGRenderBase::prepareToRenderSVGContent): 13024 (WebCore::SVGRenderBase::finishRenderSVGContent): 13025 (WebCore::clampImageBufferSizeToViewport): 13026 (WebCore::SVGRenderBase::computeContainerBoundingBox): 13027 (WebCore::SVGRenderBase::filterBoundingBoxForRenderer): 13028 * rendering/SVGRenderSupport.h: 13029 * rendering/SVGRootInlineBox.cpp: 13030 (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): 13031 (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback): 13032 (WebCore::SVGRootInlineBox::paint): 13033 * svg/SVGMaskElement.cpp: 13034 (WebCore::SVGMaskElement::drawMaskerContent): 13035 * svg/SVGPatternElement.cpp: 13036 (WebCore::SVGPatternElement::buildPattern): 13037 * svg/graphics/SVGPaintServerGradient.cpp: 13038 (WebCore::createMaskAndSwapContextForTextGradient): 13039 (WebCore::clipToTextMask): 13040 13041 2009-05-05 Simon Hausmann <simon.hausmann (a] nokia.com> 13042 13043 Unreviewed SVG build fix. 13044 13045 Include MappedAttribute.h after r43187. 13046 13047 * svg/SVGComponentTransferFunctionElement.cpp: 13048 * svg/SVGFEBlendElement.cpp: 13049 * svg/SVGFEColorMatrixElement.cpp: 13050 * svg/SVGFEComponentTransferElement.cpp: 13051 * svg/SVGFECompositeElement.cpp: 13052 * svg/SVGFEDiffuseLightingElement.cpp: 13053 * svg/SVGFEDisplacementMapElement.cpp: 13054 * svg/SVGFEGaussianBlurElement.cpp: 13055 * svg/SVGFEImageElement.cpp: 13056 * svg/SVGFELightElement.cpp: 13057 * svg/SVGFEMergeNodeElement.cpp: 13058 * svg/SVGFEOffsetElement.cpp: 13059 * svg/SVGFESpecularLightingElement.cpp: 13060 * svg/SVGFETileElement.cpp: 13061 * svg/SVGFETurbulenceElement.cpp: 13062 * svg/SVGFilterElement.cpp: 13063 * svg/SVGFilterPrimitiveStandardAttributes.cpp: 13064 13065 2009-05-04 Brady Eidson <beidson (a] apple.com> 13066 13067 Reviewed by Sam 'The Belly' Weinig 13068 13069 <rdar://problem/6828894> - Facebook photo uploader applet broken on Leopard only 13070 13071 In r41568 we started adding a default codebase attribute to <applet> tags if they didn't specify one 13072 themselves. Leopard's Java plug-in mishandles this case and fails to load code for the applet. 13073 13074 The spirit of r41568 can be maintained by removing the "default codebase" piece and only performing 13075 the canLoad() check if a codebase was actually set on the applet tag. 13076 13077 * html/HTMLAppletElement.cpp: 13078 (WebCore::HTMLAppletElement::createRenderer): Don't create a default codebase attribute. 13079 13080 * loader/FrameLoader.cpp: 13081 (WebCore::FrameLoader::createJavaAppletWidget): Only perform the canLoad() check if the codebase was set. 13082 13083 2009-05-04 Adam Roben <aroben (a] apple.com> 13084 13085 Windows build fix 13086 13087 * html/HTMLCollection.h: 13088 * html/HTMLFormElement.h: 13089 Declare CollectionCache as a struct, not a class, to match its 13090 definition. 13091 13092 2009-05-04 Chris Fleizach <cfleizach (a] apple.com> 13093 13094 Reviewed by Beth Dakin, Oliver Hunt. 13095 13096 Bug 25557: REGRESSION: Canvas elements are ignored instead of being exposed as AXImage 13097 https://bugs.webkit.org/show_bug.cgi?id=25557 13098 13099 Test: accessibility/canvas.html 13100 13101 * page/AccessibilityRenderObject.cpp: 13102 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 13103 (WebCore::AccessibilityRenderObject::roleValue): 13104 13105 2009-05-04 Brady Eidson <beidson (a] apple.com> 13106 13107 Fix an ancient Changelog entry where Sam Weinig flat out lied and confused my exploration of a bug. 13108 13109 * ChangeLog 13110 13111 2009-05-04 Kai Brning <kai (a] granus.net> 13112 13113 Reviewed by Eric Seidel. 13114 13115 https://bugs.webkit.org/show_bug.cgi?id=24883 13116 24883: Bad success test in parseXMLDocumentFragment in XMLTokenizerLibxml2.cpp 13117 13118 Fixed test whether all the chunk has been processed to correctly count utf8 bytes. 13119 13120 Test: fast/innerHTML/innerHTML-nbsp.xhtml 13121 13122 * dom/XMLTokenizerLibxml2.cpp: 13123 (WebCore::parseXMLDocumentFragment): 13124 13125 2009-05-04 Darin Adler <darin (a] apple.com> 13126 13127 Reviewed by Eric Seidel. 13128 13129 Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h, 13130 and NamedMappedAttrMap.h include of MappedAttribute.h 13131 https://bugs.webkit.org/show_bug.cgi?id=24924 13132 13133 Make compiles faster, and debugging info smaller. 13134 13135 * GNUmakefile.am: Added new source files. 13136 * WebCore.pro: Ditto. 13137 * WebCore.scons: Ditto. 13138 * WebCore.vcproj/WebCore.vcproj: Ditto. 13139 * WebCore.xcodeproj/project.pbxproj: Ditto. 13140 * WebCoreSources.bkl: Ditto. 13141 13142 * bindings/js/JSHTMLCollectionCustom.cpp: 13143 (WebCore::toJS): Updated for new collection type names. 13144 13145 * dom/Document.cpp: 13146 (WebCore::Document::createAttribute): Added. No longer inline. 13147 (WebCore::Document::images): Updated for new collection type names. 13148 (WebCore::Document::applets): Ditto. 13149 (WebCore::Document::embeds): Ditto. 13150 (WebCore::Document::plugins): Ditto. 13151 (WebCore::Document::objects): Ditto. 13152 (WebCore::Document::scripts): Ditto. 13153 (WebCore::Document::links): Ditto. 13154 (WebCore::Document::forms): Ditto. 13155 (WebCore::Document::anchors): Ditto. 13156 (WebCore::Document::all): Ditto. 13157 (WebCore::Document::windowNamedItems): Ditto. 13158 (WebCore::Document::documentNamedItems): Ditto. 13159 (WebCore::Document::nameCollectionInfo): Ditto. 13160 13161 * dom/Document.h: Changed around includes and forward declarations. 13162 Updated for changes to collection types. 13163 13164 * dom/NamedMappedAttrMap.h: Removed include of MappedAttribute.h. 13165 13166 * html/CollectionCache.cpp: Copied from WebCore/html/HTMLCollection.cpp. 13167 Contains the class that used to be HTMLCollection::CollectionInfo. 13168 * html/CollectionCache.h: Copied from WebCore/html/HTMLCollection.h. 13169 Ditto. 13170 13171 * html/CollectionType.h: Copied from WebCore/html/HTMLCollection.h. 13172 Has the enum that used to be HTMLCollection::Type. 13173 13174 * html/HTMLCollection.cpp: 13175 (WebCore::HTMLCollection::HTMLCollection): Update for collection type change. 13176 (WebCore::HTMLCollection::create): Ditto. 13177 (WebCore::HTMLCollection::resetCollectionInfo): Ditto. 13178 (WebCore::HTMLCollection::itemAfter): Ditto. 13179 * html/HTMLCollection.h: Ditto. 13180 13181 * html/HTMLElement.cpp: 13182 (WebCore::HTMLElement::children): Updated for new collection type names. 13183 * html/HTMLFormCollection.cpp: 13184 (WebCore::HTMLFormCollection::formCollectionInfo): Ditto. 13185 (WebCore::HTMLFormCollection::HTMLFormCollection): Ditto. 13186 * html/HTMLFormCollection.h: Ditto. 13187 * html/HTMLFormElement.h: Ditto. 13188 * html/HTMLMapElement.cpp: 13189 (WebCore::HTMLMapElement::areas): Ditto. 13190 * html/HTMLNameCollection.cpp: 13191 (WebCore::HTMLNameCollection::HTMLNameCollection): Ditto. 13192 * html/HTMLNameCollection.h: 13193 (WebCore::HTMLNameCollection::create): Ditto. 13194 * html/HTMLSelectElement.h: 13195 (WebCore::HTMLSelectElement::collectionInfo): Ditto. 13196 * html/HTMLTableElement.cpp: 13197 (WebCore::HTMLTableElement::tBodies):Ditto. 13198 * html/HTMLTableRowElement.cpp: 13199 (WebCore::HTMLTableRowElement::cells):Ditto. 13200 * html/HTMLTableRowsCollection.cpp: 13201 (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Ditto. 13202 * html/HTMLTableSectionElement.cpp: 13203 (WebCore::HTMLTableSectionElement::rows): Ditto. 13204 13205 * bindings/js/JSDOMWindowBase.cpp: Added newly-needed includes. 13206 * bindings/js/JSHTMLFrameSetElementCustom.cpp: Ditto. 13207 * css/CSSStyleSelector.cpp: Ditto. 13208 * dom/Element.cpp: Ditto. 13209 * dom/InputElement.cpp: Ditto. 13210 * dom/NamedAttrMap.cpp: Ditto. 13211 * dom/NamedMappedAttrMap.cpp: Ditto. 13212 * dom/Node.cpp: Ditto. 13213 * dom/StyledElement.cpp: Ditto. 13214 * dom/StyledElement.h: Ditto. 13215 * editing/ApplyStyleCommand.cpp: Ditto. 13216 * editing/DeleteSelectionCommand.cpp: Ditto. 13217 * editing/Editor.cpp: Ditto. 13218 * editing/EditorCommand.cpp: Ditto. 13219 * editing/InsertParagraphSeparatorCommand.cpp: Ditto. 13220 * editing/ReplaceSelectionCommand.cpp: Ditto. 13221 * editing/markup.cpp: Ditto. 13222 * html/CanvasRenderingContext2D.cpp: Ditto. 13223 * html/HTMLAnchorElement.cpp: Ditto. 13224 * html/HTMLAppletElement.cpp: Ditto. 13225 * html/HTMLAreaElement.cpp: Ditto. 13226 * html/HTMLBRElement.cpp: Ditto. 13227 * html/HTMLBaseElement.cpp: Ditto. 13228 * html/HTMLBodyElement.cpp: Ditto. 13229 * html/HTMLButtonElement.cpp: Ditto. 13230 * html/HTMLCanvasElement.cpp: Ditto. 13231 * html/HTMLDivElement.cpp: Ditto. 13232 * html/HTMLEmbedElement.cpp: Ditto. 13233 * html/HTMLFontElement.cpp: Ditto. 13234 * html/HTMLFormControlElement.cpp: Ditto. 13235 * html/HTMLFormElement.cpp: Ditto. 13236 * html/HTMLFrameElement.cpp: Ditto. 13237 * html/HTMLFrameElementBase.cpp: Ditto. 13238 * html/HTMLFrameSetElement.cpp: Ditto. 13239 * html/HTMLHRElement.cpp: Ditto. 13240 * html/HTMLIFrameElement.cpp: Ditto. 13241 * html/HTMLImageElement.cpp: Ditto. 13242 * html/HTMLInputElement.cpp: Ditto. 13243 * html/HTMLIsIndexElement.cpp: Ditto. 13244 * html/HTMLKeygenElement.cpp: Ditto. 13245 * html/HTMLLIElement.cpp: Ditto. 13246 * html/HTMLLinkElement.cpp: Ditto. 13247 * html/HTMLMarqueeElement.cpp: Ditto. 13248 * html/HTMLMetaElement.cpp: Ditto. 13249 * html/HTMLOListElement.cpp: Ditto. 13250 * html/HTMLObjectElement.cpp: Ditto. 13251 * html/HTMLOptionElement.cpp: Ditto. 13252 * html/HTMLParagraphElement.cpp: Ditto. 13253 * html/HTMLParamElement.cpp: Ditto. 13254 * html/HTMLPlugInElement.cpp: Ditto. 13255 * html/HTMLPreElement.cpp: Ditto. 13256 * html/HTMLScriptElement.cpp: Ditto. 13257 * html/HTMLSelectElement.cpp: Ditto. 13258 * html/HTMLStyleElement.cpp: Ditto. 13259 * html/HTMLTableCaptionElement.cpp: Ditto. 13260 * html/HTMLTableCellElement.cpp: Ditto. 13261 * html/HTMLTableColElement.cpp: Ditto. 13262 * html/HTMLTablePartElement.cpp: Ditto. 13263 * html/HTMLTextAreaElement.cpp: Ditto. 13264 * html/HTMLTokenizer.cpp: Ditto. 13265 * html/HTMLUListElement.cpp: Ditto. 13266 * html/HTMLVideoElement.cpp: Ditto. 13267 * html/HTMLViewSourceDocument.cpp: Ditto. 13268 * loader/ImageDocument.cpp: Ditto. 13269 * page/Frame.cpp: Ditto. 13270 * rendering/RenderTreeAsText.cpp: Ditto. 13271 * svg/SVGAElement.cpp: Ditto. 13272 * svg/SVGAnimateMotionElement.cpp: Ditto. 13273 * svg/SVGAnimateTransformElement.cpp: Ditto. 13274 * svg/SVGAnimationElement.cpp: Ditto. 13275 * svg/SVGCircleElement.cpp: Ditto. 13276 * svg/SVGClipPathElement.cpp: Ditto. 13277 * svg/SVGCursorElement.cpp: Ditto. 13278 * svg/SVGElement.cpp: Ditto. 13279 * svg/SVGEllipseElement.cpp: Ditto. 13280 * svg/SVGExternalResourcesRequired.cpp: Ditto. 13281 * svg/SVGFitToViewBox.cpp: Ditto. 13282 * svg/SVGFontFaceElement.cpp: Ditto. 13283 * svg/SVGFontFaceUriElement.cpp: Ditto. 13284 * svg/SVGForeignObjectElement.cpp: Ditto. 13285 * svg/SVGGlyphElement.cpp: Ditto. 13286 * svg/SVGGradientElement.cpp: Ditto. 13287 * svg/SVGImageElement.cpp: Ditto. 13288 * svg/SVGLangSpace.cpp: Ditto. 13289 * svg/SVGLineElement.cpp: Ditto. 13290 * svg/SVGLinearGradientElement.cpp: Ditto. 13291 * svg/SVGMarkerElement.cpp: Ditto. 13292 * svg/SVGMaskElement.cpp: Ditto. 13293 * svg/SVGPathElement.cpp: Ditto. 13294 * svg/SVGPatternElement.cpp: Ditto. 13295 * svg/SVGPolyElement.cpp: Ditto. 13296 * svg/SVGRadialGradientElement.cpp: Ditto. 13297 * svg/SVGRectElement.cpp: Ditto. 13298 * svg/SVGSVGElement.cpp: Ditto. 13299 * svg/SVGScriptElement.cpp: Ditto. 13300 * svg/SVGStopElement.cpp: Ditto. 13301 * svg/SVGStyleElement.cpp: Ditto. 13302 * svg/SVGStyledElement.cpp: Ditto. 13303 * svg/SVGStyledTransformableElement.cpp: Ditto. 13304 * svg/SVGTests.cpp: Ditto. 13305 * svg/SVGTextContentElement.cpp: Ditto. 13306 * svg/SVGTextElement.cpp: Ditto. 13307 * svg/SVGTextPathElement.cpp: Ditto. 13308 * svg/SVGTextPositioningElement.cpp: Ditto. 13309 * svg/SVGURIReference.cpp: Ditto. 13310 * svg/SVGUseElement.cpp: Ditto. 13311 * svg/SVGViewElement.cpp: Ditto. 13312 * svg/animation/SVGSMILElement.cpp: Ditto. 13313 * xml/XPathStep.cpp: Ditto. 13314 13315 2009-05-04 Pavel Feldman <pfeldman (a] chromium.org> 13316 13317 Reviewed by Timothy Hatcher. 13318 13319 Do not instantiate hidden WebInspector panels. Otherwise they are hitting unimplemented InspectorController methods. 13320 https://bugs.webkit.org/show_bug.cgi?id=25520 13321 13322 * inspector/front-end/inspector.js: 13323 (WebInspector.loaded): 13324 13325 2009-05-04 Brady Eidson <beidson (a] apple.com> 13326 13327 Reviewed by Darin Adler. 13328 13329 <rdar://problem/6839881> With "Mail Contents of This Page" in Safari images don't appear in the Tiger Mail compose window 13330 13331 DocumentLoader::subresource() is the implementation for the WebKit API [WebDataSource subresourceForURL:] and has 13332 particularly sticky behavior. 13333 13334 If the DocumentLoader represents a WebArchive, this method should return ArchiveResources from that archive. However, we 13335 prefer CachedResources over ArchiveResources because they might represent fresher data than what was originally loaded 13336 from the WebArchive. 13337 13338 In some instances, CachedResources are created and associated with the DocumentLoader but not immediately run through the 13339 loading delegate machinery. This was always a possibility, but the Preload Scanner made this significantly more likely. 13340 13341 When this happens and someone asks the WebDataSource for a subresource, it would prefer the CachedResource over an 13342 ArchiveResource it has even if the CachedResource hasn't been loaded yet. The CachedResource has nil data, so no 13343 WebResource is returned, and the client thinks the subresource doesn't exist even though it does. 13344 13345 This broke Tiger Mail and probably various other WebKit applications but has a fairly straightforward fix. 13346 13347 * loader/DocumentLoader.cpp: 13348 (WebCore::DocumentLoader::subresource): If there is a CachedResource but it hasn't been loaded yet, fallback to the 13349 ArchiveResource. 13350 13351 2009-05-04 Eric Carlson <eric.carlson (a] apple.com> 13352 13353 Reviewed by Adam Roben. 13354 13355 https://bugs.webkit.org/show_bug.cgi?id=25545 13356 Bug 25545: HTMLMediaElement: display anamorphic video correctly 13357 13358 Tell QuickTime to use clean aperture mode so movies with non-square pixels are sized 13359 and displayed correctly. 13360 13361 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 13362 (WebCore::MediaPlayerPrivate::createQTMovie): Ask QuickTime to use clean aperture mode. 13363 * platform/graphics/win/QTMovieWin.cpp: 13364 (QTMovieWin::load): Ditto. Add ASSERT to ensure that static movie property array isn't 13365 filled beyond capacity. 13366 13367 2009-05-03 Mark Rowe <mrowe (a] apple.com> 13368 13369 Reviewed by Darin Adler. 13370 13371 Fix <https://bugs.webkit.org/show_bug.cgi?id=25332>. 13372 Bug 25332: Plug-in inserted in to DOM of PluginDocument fails to load 13373 13374 Only the first plug-in in a PluginDocument can use the main resource data. For all 13375 subsequent plug-ins, such as the plug-in that ClickToFlash inserts when swapping itself 13376 out for the real Flash plug-in, we need to load the resource data in the same manner 13377 as for other embedded plug-ins. 13378 13379 * loader/FrameLoader.cpp: 13380 (WebCore::FrameLoader::loadPlugin): 13381 13382 2009-05-04 Simon Hausmann <simon.hausmann (a] nokia.com> 13383 13384 Rubber-stamped by Ariya Hidayat. 13385 13386 Update the qrc file for the Web Inspector in the Qt build 13387 with missing files. 13388 13389 * inspector/front-end/WebKit.qrc: 13390 13391 2009-05-03 Eric Seidel <eric (a] webkit.org> 13392 13393 Reviewed by George Staikos. 13394 13395 Move absoluteRects and absoluteQuads into RenderSVGInline and remove absoluteTransform() usage 13396 https://bugs.webkit.org/show_bug.cgi?id=25532 13397 13398 * rendering/RenderSVGInline.cpp: 13399 (WebCore::RenderSVGInline::absoluteRects): 13400 (WebCore::RenderSVGInline::absoluteQuads): 13401 * rendering/RenderSVGInline.h: 13402 * rendering/RenderSVGTSpan.cpp: 13403 * rendering/RenderSVGTSpan.h: 13404 * rendering/RenderSVGTextPath.cpp: 13405 * rendering/RenderSVGTextPath.h: 13406 13407 2009-05-03 Eric Seidel <eric (a] webkit.org> 13408 13409 Reviewed by George Staikos. 13410 13411 Move RenderSVGText off of localToAbsolute() 13412 https://bugs.webkit.org/show_bug.cgi?id=25532 13413 13414 * rendering/RenderSVGText.cpp: 13415 (WebCore::RenderSVGText::absoluteRects): 13416 (WebCore::RenderSVGText::absoluteQuads): 13417 13418 2009-05-03 Eric Seidel <eric (a] webkit.org> 13419 13420 Reviewed by George Staikos. 13421 13422 Remove broken absoluteTransform() code from RenderSVGInlineText 13423 https://bugs.webkit.org/show_bug.cgi?id=25532 13424 13425 This improved SVG text focus rings. 13426 This also improved SVG.getScreenCTM() results. 13427 13428 SVGSVGElement::getScreenCTM was passing "true" for the second argument in 13429 localToAbsolute, which is "fixed" it meant to pass "true" for the 13430 third argument (useTransforms). That change alone caused no layout test changes, however 13431 before I fixed this, it was hitting ASSERT(!fixed) in RenderSVGRoot::mapLocalToContainer 13432 13433 mapLocalToContainer implementations really should be shared, 13434 but I'll do that in a later patch. 13435 13436 * rendering/RenderSVGInlineText.cpp: 13437 (WebCore::RenderSVGInlineText::styleDidChange): 13438 (WebCore::RenderSVGInlineText::absoluteQuads): 13439 (WebCore::RenderSVGInlineText::computeRepaintRectForRange): 13440 (WebCore::RenderSVGInlineText::computeRepaintQuadForRange): 13441 * rendering/RenderSVGInlineText.h: 13442 * rendering/RenderSVGRoot.cpp: 13443 (WebCore::RenderSVGRoot::mapLocalToContainer): 13444 * rendering/RenderSVGRoot.h: 13445 * rendering/RenderSVGText.cpp: 13446 (WebCore::RenderSVGText::mapLocalToContainer): 13447 * rendering/RenderSVGText.h: 13448 * svg/SVGSVGElement.cpp: 13449 (WebCore::SVGSVGElement::getScreenCTM): 13450 13451 2009-05-03 Eric Seidel <eric (a] webkit.org> 13452 13453 Reviewed by George Staikos. 13454 13455 Remove dead code from RenderPath 13456 https://bugs.webkit.org/show_bug.cgi?id=25532 13457 13458 * rendering/RenderPath.cpp: 13459 * rendering/RenderPath.h: 13460 13461 2009-05-03 Eric Seidel <eric (a] webkit.org> 13462 13463 Reviewed by George Staikos. 13464 13465 Share layout code between RenderSVGViewportContainer and RenderSVGContainer 13466 https://bugs.webkit.org/show_bug.cgi?id=25532 13467 13468 * rendering/RenderSVGContainer.cpp: 13469 (WebCore::RenderSVGContainer::layout): 13470 * rendering/RenderSVGContainer.h: 13471 (WebCore::RenderSVGContainer::calcViewport): 13472 * rendering/RenderSVGViewportContainer.cpp: 13473 (WebCore::RenderSVGViewportContainer::applyViewportClip): 13474 * rendering/RenderSVGViewportContainer.h: 13475 13476 2009-05-03 Eric Seidel <eric (a] webkit.org> 13477 13478 Reviewed by George Staikos. 13479 13480 Remove redundant disableLayoutState() calls 13481 https://bugs.webkit.org/show_bug.cgi?id=25532 13482 13483 * rendering/RenderForeignObject.cpp: 13484 (WebCore::RenderForeignObject::layout): 13485 * rendering/RenderSVGContainer.cpp: 13486 (WebCore::RenderSVGContainer::layout): 13487 * rendering/RenderSVGViewportContainer.cpp: 13488 (WebCore::RenderSVGViewportContainer::layout): 13489 13490 2009-05-03 Eric Seidel <eric (a] webkit.org> 13491 13492 Reviewed by George Staikos. 13493 13494 Simplify RenderForeignObject::paint and fix a repaint bug. 13495 Paint now calls applyTransformToPaintInfo which correctly transforms the damage rect. 13496 https://bugs.webkit.org/show_bug.cgi?id=16939 13497 13498 * rendering/RenderForeignObject.cpp: 13499 (WebCore::RenderForeignObject::paint): 13500 13501 2009-05-03 Hironori Bono <hbono (a] chromium.org> 13502 13503 Reviewed by Eric Seidel. 13504 13505 Test: editing/spelling/spellcheck-attribute.html 13506 13507 Bug 14552: Add a way to disable spell checking for specific element 13508 https://bugs.webkit.org/show_bug.cgi?id=14552 13509 13510 For compatibility with Firefox, this code ascends the DOM tree when an element does 13511 not have its "spellcheck" attribute. 13512 13513 * editing/Editor.cpp: 13514 (WebCore::markMisspellingsOrBadGrammar): Retrieve the value of the "spellcheck" 13515 attribute of an element before calling a spell checker or a grammar checker. 13516 * html/HTMLAttributeNames.in: Add a "spellcheck" attribute. 13517 13518 2009-05-03 Sam Weinig <sam (a] webkit.org> 13519 13520 Roll JSC API number marshaling back in one last time (I hope). 13521 13522 2009-05-03 Sam Weinig <sam (a] webkit.org> 13523 13524 Roll JSC API number marshaling back out. It still breaks windows. 13525 13526 2009-05-03 Sam Weinig <sam (a] webkit.org> 13527 13528 Roll JSC API number marshaling back in. 13529 13530 2009-05-02 Dan Bernstein <mitz (a] apple.com> 13531 13532 Reviewed by Darin Adler. 13533 13534 - another fix for <rdar://problem/6617298> Typing delete on an unquoted 13535 blank line unquotes the preceding, quoted blank line 13536 13537 Test: editing/deleting/type-delete-after-quote-2.html 13538 13539 * editing/DeleteSelectionCommand.cpp: 13540 (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize 13541 m_startsAtEmptyLine. 13542 (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): When the 13543 selection starts at an empty line, do not prevent the merging of blocks. 13544 This is what allows the text after the line break to be merged into the 13545 block containing the line break. Also set m_startsAtEmptyLine to true. 13546 (WebCore::DeleteSelectionCommand::mergeParagraphs): If 13547 m_startsAtEmptyLine is true, create a placeholder BR to serve as the 13548 merge destination. 13549 * editing/DeleteSelectionCommand.h: 13550 13551 2009-05-02 Geoffrey Garen <ggaren (a] apple.com> 13552 13553 Reviewed by Sam Weinig. 13554 13555 Simplified null-ish JSValues. 13556 13557 Replaced calls to noValue() with calls to JSValue() (which is what 13558 noValue() returned). Removed noValue(). 13559 13560 Removed "JSValue()" initialiazers, since default construction happens... 13561 by default. 13562 13563 * bindings/js/JSDOMBinding.cpp: 13564 (WebCore::setDOMException): 13565 * bindings/js/JSDOMWindowCustom.cpp: 13566 (WebCore::JSDOMWindow::open): 13567 (WebCore::JSDOMWindow::showModalDialog): 13568 * bindings/js/JSEventListener.cpp: 13569 (WebCore::JSEventListener::handleEvent): 13570 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 13571 (WebCore::JSJavaScriptCallFrame::evaluate): 13572 * bindings/js/JSSQLResultSetRowListCustom.cpp: 13573 (WebCore::JSSQLResultSetRowList::item): 13574 * bindings/js/ScriptController.cpp: 13575 (WebCore::ScriptController::evaluate): 13576 * bindings/js/ScriptValue.h: 13577 (WebCore::ScriptValue::ScriptValue): 13578 (WebCore::ScriptValue::hasNoValue): 13579 * bindings/js/WorkerScriptController.cpp: 13580 (WebCore::WorkerScriptController::evaluate): 13581 * bridge/jni/jni_instance.cpp: 13582 (JavaInstance::invokeMethod): 13583 * bridge/jni/jni_runtime.cpp: 13584 (JavaField::dispatchValueFromInstance): 13585 (JavaField::dispatchSetValueToInstance): 13586 * bridge/runtime.h: 13587 (JSC::Bindings::Instance::invokeConstruct): 13588 13589 2009-05-02 Antti Koivisto <antti (a] apple.com> 13590 13591 Reviewed by Dan Bernstein. 13592 13593 <rdar://problem/6631735> Crash in WebCore::CSSStyleSelector::applyProperty(int, WebCore::CSSValue*) (RenderStyle.h:454) 13594 13595 Avoid re-entering style selector from load delegates by not issuing resource loads synchronously during attach(). 13596 13597 * dom/ContainerNode.cpp: 13598 (WebCore::ContainerNode::suspendPostAttachCallbacks): 13599 (WebCore::ContainerNode::resumePostAttachCallbacks): 13600 (WebCore::ContainerNode::attach): 13601 * dom/Element.cpp: 13602 (WebCore::Element::attach): 13603 * loader/loader.cpp: 13604 (WebCore::Loader::Loader): 13605 (WebCore::Loader::servePendingRequests): 13606 (WebCore::Loader::suspendPendingRequests): 13607 (WebCore::Loader::resumePendingRequests): 13608 (WebCore::Loader::Host::servePendingRequests): 13609 * loader/loader.h: 13610 (WebCore::Loader::isSuspendingPendingRequests): 13611 13612 2009-05-02 Darin Adler <darin (a] apple.com> 13613 13614 Reviewed by Dan Bernstein. 13615 13616 Bug 25352: REGRESSION(r42322): style isn't applied at bmwusa.com 13617 https://bugs.webkit.org/show_bug.cgi?id=25352 13618 rdar://problem/6823239 13619 13620 Test: http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html 13621 13622 * platform/network/HTTPParsers.cpp: 13623 (WebCore::extractMIMETypeFromMediaType): Allow comma as a separator. 13624 13625 2009-05-02 Darin Adler <darin (a] apple.com> 13626 13627 Reviewed by Brady Eidson. 13628 13629 Bug 25491: WebFrame leak when a subframe removes itself 13630 https://bugs.webkit.org/show_bug.cgi?id=25491 13631 rdar://problem/6833859 13632 13633 Test: fast/loading/subframe-removes-itself.html 13634 13635 * loader/FrameLoader.cpp: 13636 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): When isStopping is true, 13637 treat load as complete, even if isLoadingInAPISense is still returning true. 13638 13639 2009-05-01 Sam Weinig <sam (a] webkit.org> 13640 13641 Roll out JavaScriptCore API number marshaling. 13642 13643 * bindings/js/ScriptValue.cpp: 13644 (WebCore::ScriptValue::isEqual): 13645 * inspector/JavaScriptProfile.cpp: 13646 (WebCore::getHeadCallback): 13647 * inspector/JavaScriptProfileNode.cpp: 13648 (WebCore::getChildren): 13649 (WebCore::getParent): 13650 (WebCore::getHead): 13651 13652 2009-05-01 Sam Weinig <sam (a] webkit.org> 13653 13654 Fix build. 13655 13656 * workers/WorkerContext.idl: 13657 13658 2009-05-01 Sam Weinig <sam (a] webkit.org> 13659 13660 Reviewed by Oliver Hunt. 13661 13662 Cleanup workers code a bit. 13663 13664 * bindings/js/JSWorkerContextBase.cpp: 13665 (WebCore::toJS): 13666 * bindings/js/JSWorkerContextBase.h: 13667 * bindings/js/JSWorkerContextCustom.cpp: 13668 (WebCore::JSWorkerContext::customGetOwnPropertySlot): 13669 * workers/WorkerContext.h: 13670 (WebCore::WorkerContext::toWorkerContext): 13671 (WebCore::WorkerContext::self): 13672 (WebCore::WorkerContext::setOnmessage): 13673 (WebCore::WorkerContext::onmessage): 13674 * workers/WorkerContext.idl: 13675 13676 2009-05-01 Sam Weinig <sam (a] webkit.org> 13677 13678 Reviewed by Darin Adler. 13679 13680 A little clean up. 13681 13682 * loader/FrameLoader.cpp: 13683 (WebCore::FrameLoader::createJavaAppletWidget): 13684 13685 2009-05-01 Sam Weinig <sam (a] webkit.org> 13686 13687 Fix the build. 13688 13689 * bindings/js/ScriptValue.cpp: 13690 (WebCore::ScriptValue::isEqual): 13691 * inspector/JavaScriptProfile.cpp: 13692 (WebCore::getHeadCallback): 13693 * inspector/JavaScriptProfileNode.cpp: 13694 (WebCore::getChildren): 13695 (WebCore::getParent): 13696 (WebCore::getHead): 13697 13698 2009-05-01 Brady Eidson <beidson (a] apple.com> 13699 13700 Reviewed by Oliver Hunt and Sam "Jon 'The Belly' Honeycutt" Weinig 13701 13702 Fix <rdar://problem/6848867> Addition of DOCTYPE node breaks Tiger Mail 13703 13704 * bindings/objc/DOMHTML.mm: 13705 (-[DOMHTMLDocument firstChild]): Add a Tiger Mail version of this method that skips DOCTYPE nodes. 13706 13707 2009-05-01 Geoffrey Garen <ggaren (a] apple.com> 13708 13709 Rubber Stamped by Sam Weinig. 13710 13711 Renamed JSValuePtr => JSValue. 13712 13713 * bindings/js/JSAttrCustom.cpp: 13714 (WebCore::JSAttr::setValue): 13715 * bindings/js/JSCDATASectionCustom.cpp: 13716 (WebCore::toJSNewlyCreated): 13717 * bindings/js/JSCSSRuleCustom.cpp: 13718 (WebCore::toJS): 13719 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 13720 (WebCore::JSCSSStyleDeclaration::nameGetter): 13721 (WebCore::JSCSSStyleDeclaration::customPut): 13722 * bindings/js/JSCSSValueCustom.cpp: 13723 (WebCore::toJS): 13724 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 13725 (WebCore::toJS): 13726 (WebCore::toHTMLCanvasStyle): 13727 (WebCore::JSCanvasRenderingContext2D::strokeStyle): 13728 (WebCore::JSCanvasRenderingContext2D::setStrokeStyle): 13729 (WebCore::JSCanvasRenderingContext2D::fillStyle): 13730 (WebCore::JSCanvasRenderingContext2D::setFillStyle): 13731 (WebCore::JSCanvasRenderingContext2D::setFillColor): 13732 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 13733 (WebCore::JSCanvasRenderingContext2D::strokeRect): 13734 (WebCore::JSCanvasRenderingContext2D::drawImage): 13735 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 13736 (WebCore::JSCanvasRenderingContext2D::setShadow): 13737 (WebCore::JSCanvasRenderingContext2D::createPattern): 13738 (WebCore::JSCanvasRenderingContext2D::putImageData): 13739 (WebCore::JSCanvasRenderingContext2D::fillText): 13740 (WebCore::JSCanvasRenderingContext2D::strokeText): 13741 * bindings/js/JSClipboardCustom.cpp: 13742 (WebCore::JSClipboard::types): 13743 (WebCore::JSClipboard::clearData): 13744 (WebCore::JSClipboard::getData): 13745 (WebCore::JSClipboard::setData): 13746 (WebCore::JSClipboard::setDragImage): 13747 * bindings/js/JSConsoleCustom.cpp: 13748 (WebCore::JSConsole::profiles): 13749 * bindings/js/JSCoordinatesCustom.cpp: 13750 (WebCore::JSCoordinates::altitude): 13751 (WebCore::JSCoordinates::altitudeAccuracy): 13752 (WebCore::JSCoordinates::heading): 13753 (WebCore::JSCoordinates::speed): 13754 * bindings/js/JSCustomPositionCallback.cpp: 13755 (WebCore::JSCustomPositionCallback::handleEvent): 13756 * bindings/js/JSCustomPositionErrorCallback.cpp: 13757 (WebCore::JSCustomPositionErrorCallback::handleEvent): 13758 * bindings/js/JSCustomSQLStatementCallback.cpp: 13759 (WebCore::JSCustomSQLStatementCallback::handleEvent): 13760 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 13761 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 13762 * bindings/js/JSCustomSQLTransactionCallback.cpp: 13763 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 13764 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 13765 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 13766 * bindings/js/JSCustomVoidCallback.cpp: 13767 (WebCore::JSCustomVoidCallback::handleEvent): 13768 (WebCore::toVoidCallback): 13769 * bindings/js/JSCustomVoidCallback.h: 13770 * bindings/js/JSCustomXPathNSResolver.cpp: 13771 (WebCore::JSCustomXPathNSResolver::create): 13772 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 13773 * bindings/js/JSCustomXPathNSResolver.h: 13774 * bindings/js/JSDOMApplicationCacheCustom.cpp: 13775 (WebCore::JSDOMApplicationCache::hasItem): 13776 (WebCore::JSDOMApplicationCache::add): 13777 (WebCore::JSDOMApplicationCache::remove): 13778 (WebCore::JSDOMApplicationCache::addEventListener): 13779 (WebCore::JSDOMApplicationCache::removeEventListener): 13780 * bindings/js/JSDOMBinding.cpp: 13781 (WebCore::jsStringOrNull): 13782 (WebCore::jsOwnedStringOrNull): 13783 (WebCore::jsStringOrUndefined): 13784 (WebCore::jsStringOrFalse): 13785 (WebCore::valueToStringWithNullCheck): 13786 (WebCore::valueToStringWithUndefinedOrNullCheck): 13787 (WebCore::reportException): 13788 (WebCore::reportCurrentException): 13789 (WebCore::setDOMException): 13790 (WebCore::objectToStringFunctionGetter): 13791 * bindings/js/JSDOMBinding.h: 13792 (WebCore::getDOMObjectWrapper): 13793 (WebCore::getDOMNodeWrapper): 13794 (WebCore::toJS): 13795 * bindings/js/JSDOMGlobalObject.cpp: 13796 (WebCore::JSDOMGlobalObject::findJSEventListener): 13797 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 13798 (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): 13799 * bindings/js/JSDOMGlobalObject.h: 13800 * bindings/js/JSDOMStringListCustom.cpp: 13801 (WebCore::JSDOMStringList::getByIndex): 13802 (WebCore::JSDOMStringList::item): 13803 * bindings/js/JSDOMWindowBase.cpp: 13804 (WebCore::JSDOMWindowBase::childFrameGetter): 13805 (WebCore::JSDOMWindowBase::indexGetter): 13806 (WebCore::JSDOMWindowBase::namedItemGetter): 13807 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 13808 (WebCore::JSDOMWindowBase::put): 13809 (WebCore::JSDOMWindowBase::setReturnValueSlot): 13810 (WebCore::toJS): 13811 (WebCore::toJSDOMWindow): 13812 * bindings/js/JSDOMWindowBase.h: 13813 * bindings/js/JSDOMWindowCustom.cpp: 13814 (WebCore::JSDOMWindow::lookupGetter): 13815 (WebCore::JSDOMWindow::lookupSetter): 13816 (WebCore::JSDOMWindow::history): 13817 (WebCore::JSDOMWindow::location): 13818 (WebCore::JSDOMWindow::setLocation): 13819 (WebCore::JSDOMWindow::crypto): 13820 (WebCore::JSDOMWindow::event): 13821 (WebCore::JSDOMWindow::image): 13822 (WebCore::JSDOMWindow::option): 13823 (WebCore::JSDOMWindow::audio): 13824 (WebCore::JSDOMWindow::webKitPoint): 13825 (WebCore::JSDOMWindow::webKitCSSMatrix): 13826 (WebCore::JSDOMWindow::xmlHttpRequest): 13827 (WebCore::JSDOMWindow::xsltProcessor): 13828 (WebCore::JSDOMWindow::messageChannel): 13829 (WebCore::JSDOMWindow::worker): 13830 (WebCore::createWindow): 13831 (WebCore::JSDOMWindow::open): 13832 (WebCore::JSDOMWindow::showModalDialog): 13833 (WebCore::JSDOMWindow::postMessage): 13834 (WebCore::JSDOMWindow::setTimeout): 13835 (WebCore::JSDOMWindow::setInterval): 13836 (WebCore::JSDOMWindow::atob): 13837 (WebCore::JSDOMWindow::btoa): 13838 (WebCore::JSDOMWindow::addEventListener): 13839 (WebCore::JSDOMWindow::removeEventListener): 13840 (WebCore::toDOMWindow): 13841 * bindings/js/JSDOMWindowCustom.h: 13842 (WebCore::nonCachingStaticFunctionGetter): 13843 (WebCore::JSDOMWindow::customPut): 13844 * bindings/js/JSDOMWindowShell.cpp: 13845 (WebCore::JSDOMWindowShell::put): 13846 (WebCore::JSDOMWindowShell::putWithAttributes): 13847 (WebCore::JSDOMWindowShell::lookupGetter): 13848 (WebCore::JSDOMWindowShell::lookupSetter): 13849 (WebCore::toJS): 13850 * bindings/js/JSDOMWindowShell.h: 13851 (WebCore::JSDOMWindowShell::createStructure): 13852 * bindings/js/JSDatabaseCustom.cpp: 13853 (WebCore::JSDatabase::changeVersion): 13854 (WebCore::JSDatabase::transaction): 13855 * bindings/js/JSDocumentCustom.cpp: 13856 (WebCore::JSDocument::location): 13857 (WebCore::JSDocument::setLocation): 13858 (WebCore::toJS): 13859 * bindings/js/JSElementCustom.cpp: 13860 (WebCore::JSElement::setAttribute): 13861 (WebCore::JSElement::setAttributeNode): 13862 (WebCore::JSElement::setAttributeNS): 13863 (WebCore::JSElement::setAttributeNodeNS): 13864 (WebCore::toJSNewlyCreated): 13865 * bindings/js/JSEventCustom.cpp: 13866 (WebCore::JSEvent::clipboardData): 13867 (WebCore::toJS): 13868 * bindings/js/JSEventListener.cpp: 13869 (WebCore::JSEventListener::handleEvent): 13870 * bindings/js/JSEventTarget.cpp: 13871 (WebCore::toJS): 13872 (WebCore::toEventTarget): 13873 * bindings/js/JSEventTarget.h: 13874 * bindings/js/JSEventTargetBase.h: 13875 * bindings/js/JSGeolocationCustom.cpp: 13876 (WebCore::createPositionOptions): 13877 (WebCore::JSGeolocation::getCurrentPosition): 13878 (WebCore::JSGeolocation::watchPosition): 13879 * bindings/js/JSHTMLAllCollection.h: 13880 (WebCore::JSHTMLAllCollection::createStructure): 13881 * bindings/js/JSHTMLAppletElementCustom.cpp: 13882 (WebCore::JSHTMLAppletElement::customPut): 13883 (WebCore::JSHTMLAppletElement::nameGetter): 13884 * bindings/js/JSHTMLCollectionCustom.cpp: 13885 (WebCore::getNamedItems): 13886 (WebCore::callHTMLCollection): 13887 (WebCore::JSHTMLCollection::nameGetter): 13888 (WebCore::JSHTMLCollection::item): 13889 (WebCore::JSHTMLCollection::namedItem): 13890 (WebCore::toJS): 13891 * bindings/js/JSHTMLDocumentCustom.cpp: 13892 (WebCore::JSHTMLDocument::nameGetter): 13893 (WebCore::JSHTMLDocument::all): 13894 (WebCore::JSHTMLDocument::setAll): 13895 (WebCore::JSHTMLDocument::open): 13896 (WebCore::JSHTMLDocument::write): 13897 (WebCore::JSHTMLDocument::writeln): 13898 * bindings/js/JSHTMLEmbedElementCustom.cpp: 13899 (WebCore::JSHTMLEmbedElement::customPut): 13900 (WebCore::JSHTMLEmbedElement::nameGetter): 13901 * bindings/js/JSHTMLFormElementCustom.cpp: 13902 (WebCore::JSHTMLFormElement::nameGetter): 13903 (WebCore::JSHTMLFormElement::submit): 13904 * bindings/js/JSHTMLFrameElementCustom.cpp: 13905 (WebCore::JSHTMLFrameElement::setSrc): 13906 (WebCore::JSHTMLFrameElement::setLocation): 13907 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 13908 (WebCore::JSHTMLFrameSetElement::nameGetter): 13909 * bindings/js/JSHTMLIFrameElementCustom.cpp: 13910 (WebCore::JSHTMLIFrameElement::setSrc): 13911 * bindings/js/JSHTMLInputElementCustom.cpp: 13912 (WebCore::JSHTMLInputElement::selectionStart): 13913 (WebCore::JSHTMLInputElement::setSelectionStart): 13914 (WebCore::JSHTMLInputElement::selectionEnd): 13915 (WebCore::JSHTMLInputElement::setSelectionEnd): 13916 (WebCore::JSHTMLInputElement::setSelectionRange): 13917 * bindings/js/JSHTMLObjectElementCustom.cpp: 13918 (WebCore::JSHTMLObjectElement::customPut): 13919 (WebCore::JSHTMLObjectElement::nameGetter): 13920 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 13921 (WebCore::JSHTMLOptionsCollection::length): 13922 (WebCore::JSHTMLOptionsCollection::setLength): 13923 (WebCore::JSHTMLOptionsCollection::indexSetter): 13924 (WebCore::JSHTMLOptionsCollection::add): 13925 (WebCore::JSHTMLOptionsCollection::remove): 13926 * bindings/js/JSHTMLSelectElementCustom.cpp: 13927 (WebCore::JSHTMLSelectElement::remove): 13928 (WebCore::selectIndexSetter): 13929 (WebCore::JSHTMLSelectElement::indexSetter): 13930 * bindings/js/JSHTMLSelectElementCustom.h: 13931 * bindings/js/JSHistoryCustom.cpp: 13932 (WebCore::nonCachingStaticBackFunctionGetter): 13933 (WebCore::nonCachingStaticForwardFunctionGetter): 13934 (WebCore::nonCachingStaticGoFunctionGetter): 13935 (WebCore::JSHistory::customPut): 13936 * bindings/js/JSImageDataCustom.cpp: 13937 (WebCore::toJS): 13938 * bindings/js/JSInspectedObjectWrapper.cpp: 13939 (WebCore::JSInspectedObjectWrapper::wrap): 13940 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): 13941 * bindings/js/JSInspectedObjectWrapper.h: 13942 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): 13943 * bindings/js/JSInspectorCallbackWrapper.cpp: 13944 (WebCore::JSInspectorCallbackWrapper::wrap): 13945 (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): 13946 * bindings/js/JSInspectorCallbackWrapper.h: 13947 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): 13948 * bindings/js/JSInspectorControllerCustom.cpp: 13949 (WebCore::JSInspectorController::highlightDOMNode): 13950 (WebCore::JSInspectorController::addResourceSourceToFrame): 13951 (WebCore::JSInspectorController::addSourceToFrame): 13952 (WebCore::JSInspectorController::getResourceDocumentNode): 13953 (WebCore::JSInspectorController::search): 13954 (WebCore::JSInspectorController::databaseTableNames): 13955 (WebCore::JSInspectorController::inspectedWindow): 13956 (WebCore::JSInspectorController::setting): 13957 (WebCore::JSInspectorController::setSetting): 13958 (WebCore::JSInspectorController::wrapCallback): 13959 (WebCore::JSInspectorController::currentCallFrame): 13960 (WebCore::JSInspectorController::profiles): 13961 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 13962 (WebCore::JSJavaScriptCallFrame::evaluate): 13963 (WebCore::JSJavaScriptCallFrame::thisObject): 13964 (WebCore::JSJavaScriptCallFrame::type): 13965 (WebCore::JSJavaScriptCallFrame::scopeChain): 13966 * bindings/js/JSLazyEventListener.cpp: 13967 (WebCore::JSLazyEventListener::parseCode): 13968 * bindings/js/JSLocationCustom.cpp: 13969 (WebCore::nonCachingStaticReplaceFunctionGetter): 13970 (WebCore::nonCachingStaticReloadFunctionGetter): 13971 (WebCore::nonCachingStaticAssignFunctionGetter): 13972 (WebCore::JSLocation::customPut): 13973 (WebCore::JSLocation::setHref): 13974 (WebCore::JSLocation::setProtocol): 13975 (WebCore::JSLocation::setHost): 13976 (WebCore::JSLocation::setHostname): 13977 (WebCore::JSLocation::setPort): 13978 (WebCore::JSLocation::setPathname): 13979 (WebCore::JSLocation::setSearch): 13980 (WebCore::JSLocation::setHash): 13981 (WebCore::JSLocation::replace): 13982 (WebCore::JSLocation::reload): 13983 (WebCore::JSLocation::assign): 13984 (WebCore::JSLocation::toString): 13985 (WebCore::JSLocationPrototype::customPut): 13986 * bindings/js/JSMessagePortCustom.cpp: 13987 (WebCore::JSMessagePort::startConversation): 13988 (WebCore::JSMessagePort::addEventListener): 13989 (WebCore::JSMessagePort::removeEventListener): 13990 * bindings/js/JSMimeTypeArrayCustom.cpp: 13991 (WebCore::JSMimeTypeArray::nameGetter): 13992 * bindings/js/JSNamedNodeMapCustom.cpp: 13993 (WebCore::JSNamedNodeMap::nameGetter): 13994 * bindings/js/JSNamedNodesCollection.cpp: 13995 (WebCore::JSNamedNodesCollection::lengthGetter): 13996 (WebCore::JSNamedNodesCollection::indexGetter): 13997 * bindings/js/JSNamedNodesCollection.h: 13998 (WebCore::JSNamedNodesCollection::createStructure): 13999 * bindings/js/JSNavigatorCustom.cpp: 14000 (WebCore::needsYouTubeQuirk): 14001 (WebCore::JSNavigator::appVersion): 14002 * bindings/js/JSNodeCustom.cpp: 14003 (WebCore::JSNode::insertBefore): 14004 (WebCore::JSNode::replaceChild): 14005 (WebCore::JSNode::removeChild): 14006 (WebCore::JSNode::appendChild): 14007 (WebCore::JSNode::addEventListener): 14008 (WebCore::JSNode::removeEventListener): 14009 (WebCore::createWrapper): 14010 (WebCore::toJSNewlyCreated): 14011 (WebCore::toJS): 14012 * bindings/js/JSNodeFilterCondition.cpp: 14013 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): 14014 (WebCore::JSNodeFilterCondition::acceptNode): 14015 * bindings/js/JSNodeFilterCondition.h: 14016 (WebCore::JSNodeFilterCondition::create): 14017 * bindings/js/JSNodeFilterCustom.cpp: 14018 (WebCore::JSNodeFilter::acceptNode): 14019 (WebCore::toNodeFilter): 14020 * bindings/js/JSNodeIteratorCustom.cpp: 14021 (WebCore::JSNodeIterator::nextNode): 14022 (WebCore::JSNodeIterator::previousNode): 14023 * bindings/js/JSNodeListCustom.cpp: 14024 (WebCore::callNodeList): 14025 (WebCore::JSNodeList::nameGetter): 14026 * bindings/js/JSPluginArrayCustom.cpp: 14027 (WebCore::JSPluginArray::nameGetter): 14028 * bindings/js/JSPluginCustom.cpp: 14029 (WebCore::JSPlugin::nameGetter): 14030 * bindings/js/JSPluginElementFunctions.cpp: 14031 (WebCore::runtimeObjectGetter): 14032 (WebCore::runtimeObjectPropertyGetter): 14033 (WebCore::runtimeObjectCustomPut): 14034 (WebCore::callPlugin): 14035 * bindings/js/JSPluginElementFunctions.h: 14036 * bindings/js/JSQuarantinedObjectWrapper.cpp: 14037 (WebCore::JSQuarantinedObjectWrapper::asWrapper): 14038 (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): 14039 (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState): 14040 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): 14041 (WebCore::JSQuarantinedObjectWrapper::put): 14042 (WebCore::JSQuarantinedObjectWrapper::construct): 14043 (WebCore::JSQuarantinedObjectWrapper::hasInstance): 14044 (WebCore::JSQuarantinedObjectWrapper::call): 14045 * bindings/js/JSQuarantinedObjectWrapper.h: 14046 (WebCore::JSQuarantinedObjectWrapper::createStructure): 14047 * bindings/js/JSRGBColor.cpp: 14048 (WebCore::getJSRGBColor): 14049 (jsRGBColorRed): 14050 (jsRGBColorGreen): 14051 (jsRGBColorBlue): 14052 * bindings/js/JSRGBColor.h: 14053 (WebCore::JSRGBColor::createStructure): 14054 * bindings/js/JSSQLResultSetRowListCustom.cpp: 14055 (WebCore::JSSQLResultSetRowList::item): 14056 * bindings/js/JSSQLTransactionCustom.cpp: 14057 (WebCore::JSSQLTransaction::executeSql): 14058 * bindings/js/JSSVGElementInstanceCustom.cpp: 14059 (WebCore::JSSVGElementInstance::addEventListener): 14060 (WebCore::JSSVGElementInstance::removeEventListener): 14061 (WebCore::toJS): 14062 * bindings/js/JSSVGLengthCustom.cpp: 14063 (WebCore::JSSVGLength::value): 14064 (WebCore::JSSVGLength::convertToSpecifiedUnits): 14065 * bindings/js/JSSVGMatrixCustom.cpp: 14066 (WebCore::JSSVGMatrix::inverse): 14067 (WebCore::JSSVGMatrix::rotateFromVector): 14068 * bindings/js/JSSVGPathSegCustom.cpp: 14069 (WebCore::toJS): 14070 * bindings/js/JSSVGPathSegListCustom.cpp: 14071 (WebCore::JSSVGPathSegList::clear): 14072 (WebCore::JSSVGPathSegList::initialize): 14073 (WebCore::JSSVGPathSegList::getItem): 14074 (WebCore::JSSVGPathSegList::insertItemBefore): 14075 (WebCore::JSSVGPathSegList::replaceItem): 14076 (WebCore::JSSVGPathSegList::removeItem): 14077 (WebCore::JSSVGPathSegList::appendItem): 14078 * bindings/js/JSSVGPointListCustom.cpp: 14079 (WebCore::finishGetter): 14080 (WebCore::finishSetter): 14081 (WebCore::finishSetterReadOnlyResult): 14082 (WebCore::JSSVGPointList::clear): 14083 (WebCore::JSSVGPointList::initialize): 14084 (WebCore::JSSVGPointList::getItem): 14085 (WebCore::JSSVGPointList::insertItemBefore): 14086 (WebCore::JSSVGPointList::replaceItem): 14087 (WebCore::JSSVGPointList::removeItem): 14088 (WebCore::JSSVGPointList::appendItem): 14089 * bindings/js/JSSVGTransformListCustom.cpp: 14090 (WebCore::finishGetter): 14091 (WebCore::finishSetter): 14092 (WebCore::finishSetterReadOnlyResult): 14093 (WebCore::JSSVGTransformList::clear): 14094 (WebCore::JSSVGTransformList::initialize): 14095 (WebCore::JSSVGTransformList::getItem): 14096 (WebCore::JSSVGTransformList::insertItemBefore): 14097 (WebCore::JSSVGTransformList::replaceItem): 14098 (WebCore::JSSVGTransformList::removeItem): 14099 (WebCore::JSSVGTransformList::appendItem): 14100 * bindings/js/JSStorageCustom.cpp: 14101 (WebCore::JSStorage::nameGetter): 14102 (WebCore::JSStorage::deleteProperty): 14103 (WebCore::JSStorage::customPut): 14104 * bindings/js/JSStyleSheetCustom.cpp: 14105 (WebCore::toJS): 14106 * bindings/js/JSStyleSheetListCustom.cpp: 14107 (WebCore::JSStyleSheetList::nameGetter): 14108 * bindings/js/JSTextCustom.cpp: 14109 (WebCore::toJSNewlyCreated): 14110 * bindings/js/JSTreeWalkerCustom.cpp: 14111 (WebCore::JSTreeWalker::parentNode): 14112 (WebCore::JSTreeWalker::firstChild): 14113 (WebCore::JSTreeWalker::lastChild): 14114 (WebCore::JSTreeWalker::nextSibling): 14115 (WebCore::JSTreeWalker::previousSibling): 14116 (WebCore::JSTreeWalker::previousNode): 14117 (WebCore::JSTreeWalker::nextNode): 14118 * bindings/js/JSWorkerContextCustom.cpp: 14119 (WebCore::JSWorkerContext::self): 14120 (WebCore::JSWorkerContext::setSelf): 14121 (WebCore::JSWorkerContext::xmlHttpRequest): 14122 (WebCore::JSWorkerContext::importScripts): 14123 (WebCore::JSWorkerContext::addEventListener): 14124 (WebCore::JSWorkerContext::removeEventListener): 14125 (WebCore::JSWorkerContext::setTimeout): 14126 (WebCore::JSWorkerContext::setInterval): 14127 * bindings/js/JSWorkerCustom.cpp: 14128 (WebCore::JSWorker::addEventListener): 14129 (WebCore::JSWorker::removeEventListener): 14130 * bindings/js/JSXMLHttpRequestCustom.cpp: 14131 (WebCore::JSXMLHttpRequest::open): 14132 (WebCore::JSXMLHttpRequest::setRequestHeader): 14133 (WebCore::JSXMLHttpRequest::send): 14134 (WebCore::JSXMLHttpRequest::getResponseHeader): 14135 (WebCore::JSXMLHttpRequest::overrideMimeType): 14136 (WebCore::JSXMLHttpRequest::addEventListener): 14137 (WebCore::JSXMLHttpRequest::removeEventListener): 14138 (WebCore::JSXMLHttpRequest::responseText): 14139 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 14140 (WebCore::JSXMLHttpRequestUpload::addEventListener): 14141 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 14142 * bindings/js/JSXSLTProcessorCustom.cpp: 14143 (WebCore::JSXSLTProcessor::importStylesheet): 14144 (WebCore::JSXSLTProcessor::transformToFragment): 14145 (WebCore::JSXSLTProcessor::transformToDocument): 14146 (WebCore::JSXSLTProcessor::setParameter): 14147 (WebCore::JSXSLTProcessor::getParameter): 14148 (WebCore::JSXSLTProcessor::removeParameter): 14149 * bindings/js/ScheduledAction.cpp: 14150 (WebCore::ScheduledAction::create): 14151 (WebCore::ScheduledAction::ScheduledAction): 14152 (WebCore::ScheduledAction::executeFunctionInContext): 14153 * bindings/js/ScheduledAction.h: 14154 * bindings/js/ScriptCallStack.cpp: 14155 (WebCore::ScriptCallStack::ScriptCallStack): 14156 (WebCore::ScriptCallStack::initialize): 14157 * bindings/js/ScriptCallStack.h: 14158 * bindings/js/ScriptController.cpp: 14159 (WebCore::ScriptController::jsObjectForPluginElement): 14160 * bindings/js/ScriptFunctionCall.cpp: 14161 (WebCore::ScriptFunctionCall::appendArgument): 14162 (WebCore::ScriptFunctionCall::call): 14163 (WebCore::ScriptFunctionCall::construct): 14164 * bindings/js/ScriptFunctionCall.h: 14165 * bindings/js/ScriptObject.cpp: 14166 (WebCore::ScriptGlobalObject::get): 14167 * bindings/js/ScriptValue.h: 14168 (WebCore::ScriptValue::ScriptValue): 14169 (WebCore::ScriptValue::jsValue): 14170 * bindings/objc/WebScriptObject.mm: 14171 (-[WebScriptObject callWebScriptMethod:withArguments:]): 14172 (-[WebScriptObject evaluateWebScript:]): 14173 (-[WebScriptObject valueForKey:]): 14174 (-[WebScriptObject webScriptValueAtIndex:]): 14175 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 14176 * bindings/objc/WebScriptObjectPrivate.h: 14177 * bridge/NP_jsobject.cpp: 14178 (_NPN_InvokeDefault): 14179 (_NPN_Invoke): 14180 (_NPN_Evaluate): 14181 (_NPN_GetProperty): 14182 (_NPN_HasMethod): 14183 (_NPN_Construct): 14184 * bridge/c/c_instance.cpp: 14185 (JSC::Bindings::CInstance::invokeMethod): 14186 (JSC::Bindings::CInstance::invokeDefaultMethod): 14187 (JSC::Bindings::CInstance::invokeConstruct): 14188 (JSC::Bindings::CInstance::defaultValue): 14189 (JSC::Bindings::CInstance::stringValue): 14190 (JSC::Bindings::CInstance::numberValue): 14191 (JSC::Bindings::CInstance::booleanValue): 14192 (JSC::Bindings::CInstance::valueOf): 14193 * bridge/c/c_instance.h: 14194 * bridge/c/c_runtime.cpp: 14195 (JSC::Bindings::CField::valueFromInstance): 14196 (JSC::Bindings::CField::setValueToInstance): 14197 * bridge/c/c_runtime.h: 14198 * bridge/c/c_utility.cpp: 14199 (JSC::Bindings::convertValueToNPVariant): 14200 (JSC::Bindings::convertNPVariantToValue): 14201 * bridge/c/c_utility.h: 14202 * bridge/jni/jni_instance.cpp: 14203 (JavaInstance::stringValue): 14204 (JavaInstance::numberValue): 14205 (JavaInstance::booleanValue): 14206 (JavaInstance::invokeMethod): 14207 (JavaInstance::defaultValue): 14208 (JavaInstance::valueOf): 14209 * bridge/jni/jni_instance.h: 14210 * bridge/jni/jni_jsobject.h: 14211 * bridge/jni/jni_jsobject.mm: 14212 (JavaJSObject::call): 14213 (JavaJSObject::eval): 14214 (JavaJSObject::getMember): 14215 (JavaJSObject::getSlot): 14216 (JavaJSObject::convertValueToJObject): 14217 (JavaJSObject::convertJObjectToValue): 14218 * bridge/jni/jni_objc.mm: 14219 (JSC::Bindings::dispatchJNICall): 14220 * bridge/jni/jni_runtime.cpp: 14221 (JavaArray::convertJObjectToArray): 14222 (JavaField::dispatchValueFromInstance): 14223 (JavaField::valueFromInstance): 14224 (JavaField::dispatchSetValueToInstance): 14225 (JavaField::setValueToInstance): 14226 (JavaArray::setValueAt): 14227 (JavaArray::valueAt): 14228 * bridge/jni/jni_runtime.h: 14229 * bridge/jni/jni_utility.cpp: 14230 (JSC::Bindings::convertArrayInstanceToJavaArray): 14231 (JSC::Bindings::convertValueToJValue): 14232 * bridge/jni/jni_utility.h: 14233 * bridge/objc/WebScriptObject.h: 14234 * bridge/objc/objc_class.h: 14235 * bridge/objc/objc_class.mm: 14236 (JSC::Bindings::ObjcClass::fallbackObject): 14237 * bridge/objc/objc_instance.h: 14238 * bridge/objc/objc_instance.mm: 14239 (ObjcInstance::invokeMethod): 14240 (ObjcInstance::invokeDefaultMethod): 14241 (ObjcInstance::setValueOfUndefinedField): 14242 (ObjcInstance::getValueOfUndefinedField): 14243 (ObjcInstance::defaultValue): 14244 (ObjcInstance::stringValue): 14245 (ObjcInstance::numberValue): 14246 (ObjcInstance::booleanValue): 14247 (ObjcInstance::valueOf): 14248 * bridge/objc/objc_runtime.h: 14249 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 14250 * bridge/objc/objc_runtime.mm: 14251 (JSC::Bindings::ObjcField::valueFromInstance): 14252 (JSC::Bindings::convertValueToObjcObject): 14253 (JSC::Bindings::ObjcField::setValueToInstance): 14254 (JSC::Bindings::ObjcArray::setValueAt): 14255 (JSC::Bindings::ObjcArray::valueAt): 14256 (JSC::Bindings::ObjcFallbackObjectImp::put): 14257 (JSC::Bindings::callObjCFallbackObject): 14258 (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): 14259 * bridge/objc/objc_utility.h: 14260 * bridge/objc/objc_utility.mm: 14261 (JSC::Bindings::convertValueToObjcValue): 14262 (JSC::Bindings::convertNSStringToString): 14263 (JSC::Bindings::convertObjcValueToValue): 14264 * bridge/runtime.h: 14265 (JSC::Bindings::Class::fallbackObject): 14266 (JSC::Bindings::Instance::setValueOfUndefinedField): 14267 (JSC::Bindings::Instance::invokeDefaultMethod): 14268 (JSC::Bindings::Instance::invokeConstruct): 14269 (JSC::Bindings::Instance::put): 14270 * bridge/runtime_array.cpp: 14271 (JSC::RuntimeArray::lengthGetter): 14272 (JSC::RuntimeArray::indexGetter): 14273 (JSC::RuntimeArray::put): 14274 * bridge/runtime_array.h: 14275 (JSC::RuntimeArray::createStructure): 14276 * bridge/runtime_method.cpp: 14277 (JSC::RuntimeMethod::lengthGetter): 14278 (JSC::callRuntimeMethod): 14279 * bridge/runtime_method.h: 14280 (JSC::RuntimeMethod::createStructure): 14281 * bridge/runtime_object.cpp: 14282 (JSC::RuntimeObjectImp::fallbackObjectGetter): 14283 (JSC::RuntimeObjectImp::fieldGetter): 14284 (JSC::RuntimeObjectImp::methodGetter): 14285 (JSC::RuntimeObjectImp::put): 14286 (JSC::RuntimeObjectImp::defaultValue): 14287 (JSC::callRuntimeObject): 14288 (JSC::callRuntimeConstructor): 14289 * bridge/runtime_object.h: 14290 (JSC::RuntimeObjectImp::createStructure): 14291 * inspector/JavaScriptCallFrame.cpp: 14292 (WebCore::JavaScriptCallFrame::evaluate): 14293 * inspector/JavaScriptCallFrame.h: 14294 * inspector/JavaScriptProfile.cpp: 14295 (WebCore::toJS): 14296 * inspector/JavaScriptProfile.h: 14297 * inspector/JavaScriptProfileNode.cpp: 14298 (WebCore::toJS): 14299 * inspector/JavaScriptProfileNode.h: 14300 14301 2009-05-01 Dimitri Glazkov <dglazkov (a] chromium.org> 14302 14303 Reviewed by Eric Seidel. 14304 14305 https://bugs.webkit.org/show_bug.cgi?id=25485 14306 Only use visitedURL in Qt. This is a follow-up change to http://trac.webkit.org/changeset/43052, 14307 which broke Chromium build. 14308 14309 * css/CSSStyleSelector.cpp: 14310 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Moved guards around to 14311 provide separate code paths for Qt and non-Qt ports. Also restored original 14312 order of execution. 14313 14314 2009-05-01 Anders Carlsson <andersca (a] apple.com> 14315 14316 Reviewed by Adele Peterson. 14317 14318 <rdar://problem/6839222> 14319 CrashTracer: Lots of crashes in Safari in hash table remove function inside DocumentLoader::removeSubresourceLoader 14320 14321 After calling m_client->didFail(), check if the subresource loader has reached its terminal state. If that's the case, 14322 return early to avoid calling removeSubresourceLoader on a null document loader. I don't think this is allowed to happen 14323 which is why I've added the ASSERT. 14324 14325 * loader/SubresourceLoader.cpp: 14326 (WebCore::SubresourceLoader::didCancel): 14327 14328 2009-05-01 Timothy Hatcher <timothy (a] apple.com> 14329 14330 Disallow the deletion UI for elements that have any overflow clipping. 14331 Also disallow the UI for the body element it isn't practical to delete, 14332 and the deletion UI would be clipped. 14333 14334 <rdar://problem/6840161> Deletion UI can be clipped by some 14335 elements (with overflow: hidden) 14336 14337 Reviewed by Darin Adler. 14338 14339 * editing/DeleteButtonController.cpp: 14340 (WebCore::isDeletableElement): 14341 14342 2009-05-01 Timothy Hatcher <timothy (a] apple.com> 14343 14344 Decrease the minimum height for deleteable elements to 16px, and increase the 14345 minimum width to 48px. This allows deleting shorter items like navigation bars. 14346 14347 <rdar://problem/6840735> Deletion UI does not show up for short 14348 elements (22px or less) 14349 14350 Reviewed by Adele Peterson. 14351 14352 * editing/DeleteButtonController.cpp: 14353 (WebCore::isDeletableElement): 14354 14355 2009-05-01 Timothy Hatcher <timothy (a] apple.com> 14356 14357 Clean up the comments and logic in the code for picking a 14358 deleteable element for the deletion UI. 14359 14360 Reviewed by Adele Peterson. 14361 14362 * editing/DeleteButtonController.cpp: 14363 (WebCore::isDeletableElement): 14364 14365 2009-05-01 Kevin McCullough <kmccullough (a] apple.com> 14366 14367 Reviewed by Adele Peterson and Darin Adler. 14368 14369 <rdar://problem/4815598> Stuck in double spacing mode after pasting a 14370 paragraph with padding/margin (or table mode !) 14371 14372 A lot of the issues in this bug were resolved on Mail's side by using 14373 WebKit to convert to plain text. This is the final issue, that floating 14374 style stays on copied nodes causing them to float when they are pasted 14375 which is not what the user intended. 14376 14377 * editing/markup.cpp: 14378 (WebCore::removeExteriorStyles): 14379 (WebCore::): 14380 (WebCore::appendStartMarkup): 14381 (WebCore::getStartMarkup): 14382 (WebCore::createMarkup): 14383 14384 2009-05-01 Pavel Feldman <pfeldman (a] chromium.org> 14385 14386 Reviewed by Timothy Hatcher. 14387 14388 Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest. 14389 This is the only resource-related information that is available in InspectorController 14390 and is missing in the FrameLoaderClient. 14391 14392 https://bugs.webkit.org/show_bug.cgi?id=25347 14393 14394 * WebCore.xcodeproj/project.pbxproj: Made ScriptSource private. 14395 * dom/Document.cpp: Made a call to a client along with the call to the InspectorController. 14396 (WebCore::Document::resourceRetrievedByXMLHttpRequest): 14397 * loader/EmptyClients.h: Added stub implementation. 14398 (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest): 14399 * loader/FrameLoader.cpp: Call initiating dispatches. 14400 (WebCore::FrameLoader::resourceRetrievedByXMLHttpRequest): 14401 * loader/FrameLoader.h: 14402 * loader/FrameLoaderClient.h: 14403 14404 2009-04-30 Beth Dakin <bdakin (a] apple.com> 14405 14406 Reviewed by Oliver Hunt. 14407 14408 Fix for <rdar://problem/6841106> REGRESSION: Crash drag selecting 14409 To Do's in a Mail note (excessive recursion in mouse drag tracking) 14410 14411 Oliver's recent change to dragging seems to have revealed a long- 14412 time bug in passSubframeEventToSubframe where we did not set 14413 m_sendingEventToSubview to true before calling 14414 handleMouseMoveEvent() in the NSMouseMoved case. This patch fixes 14415 that and adds ASSERTions around all of the places where 14416 m_sendingEventToSubview is set to true and then false to make sure 14417 we are not trampling its state. 14418 14419 * page/mac/EventHandlerMac.mm: 14420 (WebCore::EventHandler::eventLoopHandleMouseDragged): 14421 (WebCore::EventHandler::eventLoopHandleMouseUp): 14422 (WebCore::EventHandler::passSubframeEventToSubframe): 14423 (WebCore::EventHandler::passWheelEventToWidget): 14424 14425 2009-04-30 Eric Carlson <eric.carlson (a] apple.com> 14426 14427 Reviewed by Simon Fraser. 14428 14429 MediaDocument falls back to plug-in unnecessarily 14430 https://bugs.webkit.org/show_bug.cgi?id=25504 14431 <rdar://problem/6844702> 14432 14433 Don't allow harmless media types to cause a MediaDocument to fall 14434 back to PluginDocument. 14435 14436 Test: media/video-document-types.html 14437 14438 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 14439 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): add timecode, timecode 64, 14440 odsm, and sdsm to allowed track types. 14441 14442 * platform/graphics/win/QTMovieWin.cpp: 14443 (QTMovieWin::disableUnsupportedTracks): Ditto. 14444 14445 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14446 14447 Reviewed by Eric Seidel. 14448 14449 Add CHROMIUM guard to unfork Document.cpp 14450 14451 * dom/Document.cpp: 14452 (WebCore::Document::setFocusedNode): Added guard. 14453 14454 2009-04-30 David Kilzer <ddkilzer (a] apple.com> 14455 14456 Use OwnPtr<HTMLParserQuirks> for m_parserQuirks 14457 14458 Reviewed by Geoff Garen. 14459 14460 * html/HTMLParser.cpp: 14461 (WebCore::HTMLParser::~HTMLParser): Removed unneeded code. 14462 * html/HTMLParser.h: Made m_parserQuirks an OwnPtr. 14463 14464 2009-04-30 David Kilzer <ddkilzer (a] apple.com> 14465 14466 Provide a mechanism to create a quirks delegate for HTMLParser 14467 14468 Reviewed by David Hyatt. 14469 14470 No tests since there is no change in behavior. 14471 14472 HTMLParserQuirks.h defines an abstract base class that may be 14473 extended as needed. The ChromeClient::createHTMLParserQuirks() 14474 factory method should be used to return an HTMLParserQuirks 14475 subclassed object when needed. 14476 14477 * WebCore.xcodeproj/project.pbxproj: Added HTMLParserQuirks.h. 14478 * html/HTMLParser.cpp: 14479 (WebCore::HTMLParser::HTMLParser): Initialize m_parserQuirks 14480 using ChromeClient::createHTMLParserQuirks(). 14481 (WebCore::HTMLParser::~HTMLParser): Delete m_parserQuirks if 14482 set. 14483 (WebCore::HTMLParser::reset): Call HTMLParserQuirks::reset() if 14484 m_parserQuirks is set. 14485 (WebCore::HTMLParser::insertNode): Call 14486 HTMLParserQuirks::shouldInsertNode() if m_parserQuirks is set, 14487 and return early if it returns false. 14488 (WebCore::HTMLParser::popBlock): Call 14489 HTMLParserQuirks::shouldPopBlock() if m_parserQuirks is set, and 14490 return early if it returns false. 14491 * html/HTMLParser.h: Added m_parserQuirks. 14492 * html/HTMLParserQuirks.h: Added. 14493 (WebCore::HTMLParserQuirks::HTMLParserQuirks): 14494 (WebCore::HTMLParserQuirks::~HTMLParserQuirks): 14495 * loader/EmptyClients.h: 14496 (WebCore::EmptyChromeClient::createHTMLParserQuirks): Added. 14497 * page/ChromeClient.h: 14498 (WebCore::ChromeClient::createHTMLParserQuirks): Added. 14499 14500 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14501 14502 Reviewed by Eric Seidel. 14503 14504 https://bugs.webkit.org/show_bug.cgi?id=25492 14505 Add JSC guards around node wrapper cache calls. These are not used by V8. 14506 14507 Also, remove JSDOMBinding include, which is brought in by ScriptController. 14508 14509 * dom/Document.cpp: 14510 (WebCore::Document::~Document): Added JSC guard. 14511 * dom/Node.cpp: 14512 (WebCore::Node::setDocument): Ditto and removed JSDOMBinding include. 14513 14514 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14515 14516 Reviewed by Eric Seidel. 14517 14518 https://bugs.webkit.org/show_bug.cgi?id=25493 14519 Remove debugger/profiler custom method stubs, catching V8 bindings up to 14520 http://trac.webkit.org/changeset/43072. 14521 14522 * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed method stubs. 14523 14524 2009-04-30 Simon Fraser <simon.fraser (a] apple.com> 14525 14526 Reviewed by Darin Adler 14527 14528 <rdar://problem/6839338> VoiceOver does not take into account transforms when drawing outlines 14529 14530 Use transform-aware quad methods when computing the boundingBoxRect for 14531 an AccessibilityRenderObject. The code follows RenderObject::absoluteBoundingBoxRect(). 14532 14533 Test: accessibility/transformed-element.html 14534 14535 * page/AccessibilityRenderObject.cpp: 14536 (WebCore::AccessibilityRenderObject::boundingBoxRect): 14537 14538 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14539 14540 Unreviewed, Chromium build fix. 14541 14542 Catch up to ScriptObject changes from http://trac.webkit.org/changeset/42512. 14543 14544 * bindings/v8/ScriptObject.cpp: 14545 (WebCore::ScriptGlobalObject::get): Renamed from getObject. 14546 (WebCore::ScriptGlobalObject::remove): Added. 14547 * bindings/v8/ScriptObject.h: Ditto. 14548 14549 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14550 14551 Unreviewed, build fix. 14552 14553 https://bugs.webkit.org/show_bug.cgi?id=25470 14554 Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler. 14555 14556 * WebCore.pro: Fix copy-paste error. 14557 14558 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14559 14560 Unreviewed, build fix. 14561 14562 https://bugs.webkit.org/show_bug.cgi?id=25470 14563 Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler. 14564 14565 * GNUmakefile.am: Add ENABLE_JAVASCRIPT_DEBUGGER definitions. 14566 * WebCore.pro: Ditto. 14567 14568 2009-04-02 Eric Seidel <eric (a] webkit.org> 14569 14570 Reviewed by Darin Adler. 14571 14572 Change Position to pre-compute the AnchorType and store it. 14573 Also store a "legacy editing mode" bit on the Position. 14574 https://bugs.webkit.org/show_bug.cgi?id=24763 14575 14576 The old Postion(node, offset) constructor creates legacy positions 14577 but there are new constructors to create explicitly anchored positions 14578 which the next patch will use. 14579 14580 Once we fix all the "position-fixup" functions (like rangeCompliantEquivalent) to 14581 only affect legacy positions, we will be able to distinguish 14582 between [table, 1] and [table, after] in the code correctly! 14583 14584 * WebCore.base.exp: 14585 * WebCore.xcodeproj/project.pbxproj: 14586 * dom/Position.cpp: 14587 (WebCore::Position::Position): 14588 (WebCore::Position::moveToPosition): 14589 (WebCore::Position::moveToOffset): 14590 (WebCore::Position::anchorTypeForLegacyEditingPosition): 14591 (WebCore::Position::element): 14592 * dom/Position.h: 14593 (WebCore::Position::): 14594 (WebCore::Position::Position): 14595 (WebCore::Position::anchorType): 14596 (WebCore::Position::deprecatedEditingOffset): 14597 14598 2009-04-30 Sam Weinig <sam (a] webkit.org> 14599 14600 Reviewed by Alexey Proskuryakov. 14601 14602 Fix bug where the WorkerLocation and WorkerNavigator wrappers would be 14603 collected even if the WorkerContext is still alive. 14604 14605 Test: fast/workers/worker-context-gc.html 14606 14607 * bindings/js/JSWorkerContextCustom.cpp: 14608 (WebCore::JSWorkerContext::mark): 14609 * workers/WorkerContext.cpp: 14610 (WebCore::WorkerContext::WorkerContext): 14611 (WebCore::WorkerContext::completeURL): 14612 (WebCore::WorkerContext::location): 14613 * workers/WorkerContext.h: 14614 (WebCore::WorkerContext::optionalNavigator): 14615 (WebCore::WorkerContext::optionalLocation): 14616 14617 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14618 14619 Reviewed by Timothy Hatcher. 14620 14621 https://bugs.webkit.org/show_bug.cgi?id=25470 14622 Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler. 14623 14624 * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER. 14625 * WebCore.vcproj/build-generated-files.sh: Ditto. 14626 * bindings/js/JSConsoleCustom.cpp: Added ENABLE(JAVASCRIPT_DEBUGGER) guard. 14627 * bindings/js/JSDOMWindowBase.cpp: Ditto. 14628 * bindings/js/JSInspectorControllerCustom.cpp: Ditto. 14629 * inspector/InspectorController.cpp: Moved profiler/debugger methods under 14630 ENABLE(JAVASCRIPT_DEBUGGER) flag. 14631 * inspector/InspectorController.h: Ditto. 14632 * inspector/InspectorController.idl: Added ENABLE(JAVASCRIPT_DEBUGGER) guard. 14633 * page/Console.cpp: Replaced USE(JSC) with ENABLE(JAVASCRIPT_DEBUGGER) guard. 14634 14635 2009-04-30 Dimitri Glazkov <dglazkov (a] chromium.org> 14636 14637 Unreviewed, build fix. 14638 14639 https://bugs.webkit.org/show_bug.cgi?id=25275 14640 This patch snuck in a re-definition of a local. 14641 14642 * bindings/v8/custom/V8DOMWindowCustom.cpp: 14643 (WebCore::NAMED_PROPERTY_GETTER): Removed re-definition. 14644 14645 2009-04-30 Sam Weinig <sam (a] webkit.org> 14646 14647 Reviewed by Mark Rowe. 14648 14649 Fix a leak introduced yesterday. Don't allocate a ScheduledAction 14650 if the toString()ing throws an exception. 14651 14652 * bindings/js/ScheduledAction.cpp: 14653 (WebCore::ScheduledAction::create): 14654 14655 2009-04-30 Alexey Proskuryakov <ap (a] webkit.org> 14656 14657 Reviewed by Darin Adler. 14658 14659 https://bugs.webkit.org/show_bug.cgi?id=25379 14660 <rdar://problem/6809460> REGRESSION (r41772): Selecting a bank in American Express Pay Bill fails 14661 14662 Test: fast/forms/multiple-selected-options-innerHTML.html 14663 14664 This problem was caused by an inconsistency at when Node::instertedIntoTree() is called. 14665 For normal HTML parsing, it is called immediately after an element is inserted, but for 14666 innerHTML, it is only called after the whole subtree is inserted into a document. 14667 14668 It may make sense to harmonize these cases one day, but for now, I only made the minimal 14669 changes necessary to fix the bug. 14670 14671 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::insertedIntoTree): 14672 * html/HTMLSelectElement.h: 14673 Recalculate list items when a SELECT element is inserted. OPTION elements cannot decide 14674 which one to keep selected themselves, because their logic assumes normal parsing, with 14675 insertedIntoTree() called after each element is inserted. 14676 14677 2009-04-30 Pavel Feldman <pfeldman (a] chromium.org> 14678 14679 Reviewed by Dimitri Glazkov. 14680 14681 https://bugs.webkit.org/show_bug.cgi?id=25342 14682 Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole. 14683 14684 Chromium async/out-of-process version of WebInspector is currently not based on 14685 InspectorController. The reason was that we did not want to interfere with 14686 the unforking effort, yet wanted to experiment. So we came up with these 14687 agents concept that basically mimic InspectorController, but separating 'agent' 14688 nature from the 'transport'. Now that InspectorController is unforked, I am 14689 planning to bring these concepts into the WebKit land and use what we have in 14690 Chromium as a proof of concept / experimental playground. 14691 14692 * loader/EmptyClients.h: added MessageSource and MessageLevel parameters. 14693 (WebCore::EmptyChromeClient::addMessageToConsole): ditto 14694 * page/ChromeClient.h: ditto 14695 * page/Console.cpp: Used new method signature. 14696 (WebCore::Console::addMessage): ditto 14697 14698 2009-04-30 Dan Bernstein <mitz (a] apple.com> 14699 14700 Reviewed by Simon Fraser. 14701 14702 - fix https://bugs.webkit.org/show_bug.cgi?id=25476 14703 <rdar://problem/6841919> REGRESSION (r42987): Welcome to Safari 4 14704 animation is jittery 14705 14706 Reverted r42987. 14707 14708 * platform/graphics/cg/ImageCG.cpp: 14709 (WebCore::BitmapImage::draw): 14710 14711 2009-04-30 Brady Eidson <beidson (a] apple.com> 14712 14713 Reviewed by Maciej Stachowiak 14714 14715 <rdar://problem/3785248> http://www.greekembassy.org/ gets in an infinite reload loop 14716 https://bugs.webkit.org/show_bug.cgi?id=21193 14717 14718 Some websites use for attributes in script elements to specify events that the script 14719 should be run for. One example is greekembassy.org which has the following in their <head>: 14720 14721 <script for=window event=onresize> 14722 location.reload(false); 14723 </script> 14724 14725 Since we don't support the full for attribute syntax, we would just blissfully ignore the 14726 condition and execute the code unconditionally. This caused breakage on multiple real-world 14727 sites besides greekembassy.org. 14728 14729 https://bugs.webkit.org/show_bug.cgi?id=16915 and <rdar://problem/4471751> track adding full 14730 support for the for attribute in scripts. In the meantime it's best to not execute them 14731 unconditionally. 14732 14733 Test: fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution.html 14734 14735 * dom/ScriptElement.cpp: 14736 (WebCore::ScriptElementData::shouldExecuteAsJavaScript): After all other checks have 14737 passed, only return true if there is no for attribute in the script element. 14738 * dom/ScriptElement.h: 14739 14740 * html/HTMLScriptElement.cpp: 14741 (WebCore::HTMLScriptElement::forAttributeValue): Return the attribute value, if any. 14742 * html/HTMLScriptElement.h: 14743 14744 * svg/SVGScriptElement.cpp: 14745 (WebCore::SVGScriptElement::forAttributeValue): Return an empty string (like the other 14746 attribute getters do for SVGScriptElement) 14747 * svg/SVGScriptElement.h: 14748 14749 2009-04-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 14750 14751 Reviewed by Darin Adler. 14752 14753 The Qt API exposes a global history patch CSSStyleSelector to make API consumers work again 14754 14755 https://bugs.webkit.org/show_bug.cgi?id=20952 14756 14757 The QtWebKit port made the mistake of exposing a global history. This broke 14758 with the addition of PageGroup and LinkHash. This needs to be repaired 14759 for Qt4.5. 14760 14761 Add a function to LinkHash.cpp that is resolving a URL. Use this 14762 function from within CSSStyleSelector to forward the url to the 14763 QWebHistoryInterface API. 14764 14765 It is sad that there is a path within visitedLinkHash which is now 14766 doing a memcpy, it is sad to add a PLATFORM(QT) define to CSSStyleSelector 14767 and using QtWebKit types within WebCore is a layering violation as well. 14768 14769 PageGroup::setShouldTrackVisitedLinks is currently not enabled. For 14770 Qt4.6 a second version of the QWebHistoryInterface is going to be 14771 added which will fix things up. 14772 14773 * css/CSSStyleSelector.cpp: 14774 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): 14775 * platform/LinkHash.cpp: 14776 (WebCore::visitedURL): 14777 (WebCore::visitedLinkHash): 14778 * platform/LinkHash.h: 14779 14780 2009-04-30 Simon Hausmann <simon.hausmann (a] nokia.com> 14781 14782 Fix the Qt build. 14783 14784 * platform/graphics/SimpleFontData.cpp: Don't use initCharWidths() for the Qt build. 14785 * platform/graphics/qt/SimpleFontDataQt.cpp: 14786 (WebCore::SimpleFontData::platformCharWidthInit): Instead initialize the average and 14787 max char widths from QFontMetrics. 14788 14789 2009-04-30 Ariya Hidayat <ariya.hidayat (a] nokia.com> 14790 14791 Unreview build fix after r43037. 14792 14793 Use MarkedArgumentBuffer instead of ArgList. 14794 14795 * bridge/qt/qt_runtime.cpp: 14796 (JSC::Bindings::QtConnectionObject::execute): 14797 14798 2009-04-29 Sam Weinig <sam (a] webkit.org> 14799 14800 Reviewed by Oliver Hunt. 14801 14802 Fix for https://bugs.webkit.org/show_bug.cgi?id=25440 14803 setTimeout should stringify non-string/non-function first arguments 14804 14805 Test: fast/dom/Window/setTimeout-string-argument.html 14806 14807 * bindings/js/JSDOMWindowCustom.cpp: 14808 (WebCore::JSDOMWindow::setTimeout): 14809 (WebCore::JSDOMWindow::setInterval): 14810 * bindings/js/JSWorkerContextCustom.cpp: 14811 (WebCore::JSWorkerContext::setTimeout): 14812 (WebCore::JSWorkerContext::setInterval): 14813 * bindings/js/ScheduledAction.cpp: 14814 (WebCore::ScheduledAction::create): 14815 * bindings/js/ScheduledAction.h: 14816 14817 2009-04-29 Dan Bernstein <mitz (a] apple.com> 14818 14819 Reviewed by Simon Fraser. 14820 14821 - WebCore part of <rdar://problem/6609509> Select All and then Delete 14822 should put Mail editing back into the same state as a new message 14823 14824 Test: editing/deleting/in-visibly-empty-root.html 14825 14826 * WebCore.base.exp: Exported VisibleSelection::isAll(bool). 14827 * editing/SelectionController.h: 14828 (WebCore::SelectionController::isAll): Added. Calls through to 14829 VisibleSelection. 14830 * editing/TypingCommand.cpp: 14831 (WebCore::TypingCommand::makeEditableRootEmpty): Added. Removes all children 14832 of the root editable element the selection is in, other than a 14833 placeholder. Returns true iff it did anything. 14834 (WebCore::TypingCommand::deleteKeyPressed): When there is only a single 14835 visible position in the root editable element, but it has children other 14836 than a placeholder, remove those children. 14837 * editing/TypingCommand.h: 14838 * editing/VisiblePosition.h: 14839 Added a StayInEditableContent enum and a FIXME. 14840 * editing/VisibleSelection.cpp: 14841 (WebCore::VisibleSelection::isAll): Added. Returns whether the 14842 selection encompasses all visible positions, either in the document or 14843 in the editable root. 14844 * editing/VisibleSelection.h: 14845 14846 2009-04-29 Sam Weinig <sam (a] webkit.org> 14847 14848 Fix style nit. 14849 14850 * editing/visible_units.cpp: 14851 (WebCore::getLeafBoxesInLogicalOrder): 14852 14853 2009-04-29 David Hyatt <hyatt (a] apple.com> 14854 14855 Reviewed by Dan Bernstein. 14856 14857 For now just drop the deferred layout on the floor, since it causes an infinite hang in mail. Even 14858 trying to schedule a relayout for later leaves you in a state where you hit the needsLayout painting 14859 assertions. 14860 14861 Basically what Mail is doing is crazy, and we can't support it other than to just drop the last layout 14862 and not do it (which is basically what was happening before). 14863 14864 * page/FrameView.cpp: 14865 (WebCore::FrameView::setContentsSize): 14866 (WebCore::FrameView::needsLayout): 14867 14868 2009-04-29 Douglas Davidson <ddavidso (a] apple.com> 14869 14870 Reviewed by Justin Garcia. 14871 14872 <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly 14873 14874 Updates to the text checking code to enable text checking even if spellchecking is turned off 14875 and fix an off-by-one error in selection handling. 14876 14877 * editing/Editor.cpp: 14878 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 14879 (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): 14880 (WebCore::Editor::markMisspellingsAndBadGrammar): 14881 * editing/Editor.h: 14882 * editing/TypingCommand.cpp: 14883 (WebCore::TypingCommand::markMisspellingsAfterTyping): 14884 14885 2009-04-29 Oliver Hunt <oliver (a] apple.com> 14886 14887 Reviewed by Gavin Barraclough. 14888 14889 Clean up ArgList to be a trivial type 14890 14891 Start using MarkedArgumentBuffer to create argument lists for function calls 14892 14893 * bindings/js/JSClipboardCustom.cpp: 14894 (WebCore::JSClipboard::types): 14895 * bindings/js/JSConsoleCustom.cpp: 14896 (WebCore::JSConsole::profiles): 14897 * bindings/js/JSCustomPositionCallback.cpp: 14898 (WebCore::JSCustomPositionCallback::handleEvent): 14899 * bindings/js/JSCustomPositionErrorCallback.cpp: 14900 (WebCore::JSCustomPositionErrorCallback::handleEvent): 14901 * bindings/js/JSCustomSQLStatementCallback.cpp: 14902 (WebCore::JSCustomSQLStatementCallback::handleEvent): 14903 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 14904 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 14905 * bindings/js/JSCustomSQLTransactionCallback.cpp: 14906 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 14907 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 14908 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 14909 * bindings/js/JSCustomVoidCallback.cpp: 14910 (WebCore::JSCustomVoidCallback::handleEvent): 14911 * bindings/js/JSCustomXPathNSResolver.cpp: 14912 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 14913 * bindings/js/JSEventListener.cpp: 14914 (WebCore::JSEventListener::handleEvent): 14915 * bindings/js/JSInspectorControllerCustom.cpp: 14916 (WebCore::JSInspectorController::profiles): 14917 (WebCore::JSInspectorController::search): 14918 (WebCore::JSInspectorController::databaseTableNames): 14919 (WebCore::JSInspectorController::setting): 14920 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 14921 (WebCore::JSJavaScriptCallFrame::scopeChain): 14922 * bindings/js/JSLazyEventListener.cpp: 14923 (WebCore::JSLazyEventListener::parseCode): 14924 * bindings/js/JSNodeFilterCondition.cpp: 14925 (WebCore::JSNodeFilterCondition::acceptNode): 14926 * bindings/js/JSQuarantinedObjectWrapper.cpp: 14927 (WebCore::JSQuarantinedObjectWrapper::construct): 14928 (WebCore::JSQuarantinedObjectWrapper::call): 14929 * bindings/js/ScheduledAction.cpp: 14930 (WebCore::ScheduledAction::ScheduledAction): 14931 (WebCore::ScheduledAction::executeFunctionInContext): 14932 * bindings/js/ScriptFunctionCall.h: 14933 * bindings/objc/WebScriptObject.mm: 14934 (getListFromNSArray): 14935 (-[WebScriptObject callWebScriptMethod:withArguments:]): 14936 * bridge/NP_jsobject.cpp: 14937 (getListFromVariantArgs): 14938 (_NPN_InvokeDefault): 14939 (_NPN_Invoke): 14940 (_NPN_Construct): 14941 * bridge/jni/jni_jsobject.h: 14942 * bridge/jni/jni_jsobject.mm: 14943 (JavaJSObject::call): 14944 (JavaJSObject::getListFromJArray): 14945 14946 2009-04-29 Eric Seidel <eric (a] webkit.org> 14947 14948 No review, build fix only. 14949 14950 Fix m_offset uses added while I wasn't looking. 14951 14952 * editing/visible_units.cpp: 14953 (WebCore::logicalStartPositionForLine): 14954 (WebCore::logicalEndPositionForLine): 14955 14956 2009-04-29 Xiaomei Ji <xji (a] chromium.org> 14957 14958 Reviewed by Dan Bernstein. 14959 14960 Fix https://bugs.webkit.org/show_bug.cgi?id=24168 14961 RTL: Home/End key does not behave correctly in mixed bidi text in RTL document 14962 14963 Test: editing/selection/home-end.html 14964 14965 * editing/SelectionController.cpp: 14966 (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine() 14967 to logicalEndOfLine() when granularity is LineBoundary. 14968 (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine() 14969 to logicalEndOfLine() when granularity is LineBoundary 14970 (WebCore::SelectionController::modifyExtendingBackward): Change calling 14971 startOfLine() to logicalStartOfLine() when granularity is LineBoundary. 14972 (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 14973 to logicalStartOfLine() when granularity is LineBoundary. 14974 * editing/visible_units.cpp: 14975 (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order. 14976 (WebCore::getLogicalStartBoxAndNode): Added. 14977 (WebCore::getLogicalEndBoxAndNode): Added. 14978 (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine. 14979 (WebCore::logicalStartOfLine): Added. Similar to startOfLine. 14980 (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine. 14981 (WebCore::inSameLogicalLine): Added. 14982 (WebCore::logicalEndOfLine): Added. Similar to endOfLine. 14983 * editing/visible_units.h: 14984 14985 2009-04-29 Eric Seidel <eric (a] webkit.org> 14986 14987 Reviewed by Darin Adler. 14988 14989 Make m_offset private and change all callers to use deprecatedEditingOffset(). 14990 https://bugs.webkit.org/show_bug.cgi?id=25472 14991 14992 Per Darin's suggestion, this was just a simple search replace 14993 of .m_offset with .deprecatedEditingOffset(). 14994 14995 There was one change in InsertParagraphSeparatorCommand::doApply to use 14996 Position::moveToOffset(0) instead of .m_offset = 0; 14997 14998 * dom/Position.cpp: 14999 (WebCore::Position::rendersInDifferentPosition): 15000 (WebCore::Position::leadingWhitespacePosition): 15001 * dom/Position.h: 15002 (WebCore::Position::deprecatedEditingOffset): 15003 (WebCore::Position::moveToOffset): 15004 (WebCore::operator==): 15005 * dom/PositionIterator.h: 15006 (WebCore::PositionIterator::PositionIterator): 15007 * dom/Range.cpp: 15008 (WebCore::Range::create): 15009 (WebCore::Range::compareBoundaryPoints): 15010 * editing/ApplyStyleCommand.cpp: 15011 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 15012 (WebCore::ApplyStyleCommand::applyInlineStyleToRange): 15013 (WebCore::ApplyStyleCommand::removeInlineStyle): 15014 (WebCore::ApplyStyleCommand::nodeFullySelected): 15015 (WebCore::ApplyStyleCommand::nodeFullyUnselected): 15016 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded): 15017 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded): 15018 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded): 15019 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded): 15020 (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): 15021 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): 15022 (WebCore::ApplyStyleCommand::joinChildTextNodes): 15023 * editing/BreakBlockquoteCommand.cpp: 15024 (WebCore::BreakBlockquoteCommand::doApply): 15025 * editing/CompositeEditCommand.cpp: 15026 (WebCore::CompositeEditCommand::insertNodeAt): 15027 (WebCore::CompositeEditCommand::positionOutsideTabSpan): 15028 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): 15029 (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): 15030 (WebCore::CompositeEditCommand::deleteInsignificantText): 15031 (WebCore::CompositeEditCommand::moveParagraphs): 15032 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 15033 * editing/DeleteSelectionCommand.cpp: 15034 (WebCore::updatePositionForNodeRemoval): 15035 (WebCore::updatePositionForTextRemoval): 15036 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 15037 (WebCore::DeleteSelectionCommand::fixupWhitespace): 15038 * editing/Editor.cpp: 15039 (WebCore::Editor::setComposition): 15040 (WebCore::Editor::advanceToNextMisspelling): 15041 (WebCore::Editor::getCompositionSelection): 15042 * editing/InsertLineBreakCommand.cpp: 15043 (WebCore::InsertLineBreakCommand::doApply): 15044 * editing/InsertParagraphSeparatorCommand.cpp: 15045 (WebCore::InsertParagraphSeparatorCommand::doApply): 15046 * editing/InsertTextCommand.cpp: 15047 (WebCore::InsertTextCommand::performTrivialReplace): 15048 (WebCore::InsertTextCommand::input): 15049 (WebCore::InsertTextCommand::insertTab): 15050 * editing/MoveSelectionCommand.cpp: 15051 (WebCore::MoveSelectionCommand::doApply): 15052 * editing/ReplaceSelectionCommand.cpp: 15053 (WebCore::ReplaceSelectionCommand::doApply): 15054 * editing/SelectionController.cpp: 15055 (WebCore::SelectionController::debugRenderer): 15056 * editing/TextIterator.cpp: 15057 (WebCore::TextIterator::rangeFromLocationAndLength): 15058 * editing/TypingCommand.cpp: 15059 (WebCore::TypingCommand::deleteKeyPressed): 15060 (WebCore::TypingCommand::forwardDeleteKeyPressed): 15061 * editing/VisiblePosition.cpp: 15062 (WebCore::VisiblePosition::characterAfter): 15063 (WebCore::VisiblePosition::debugPosition): 15064 (WebCore::makeRange): 15065 (WebCore::setStart): 15066 (WebCore::setEnd): 15067 * editing/VisibleSelection.cpp: 15068 (WebCore::VisibleSelection::toNormalizedRange): 15069 (WebCore::makeSearchRange): 15070 (WebCore::VisibleSelection::debugPosition): 15071 (WebCore::VisibleSelection::showTreeForThis): 15072 * editing/htmlediting.cpp: 15073 (WebCore::comparePositions): 15074 (WebCore::rangeCompliantEquivalent): 15075 * editing/visible_units.cpp: 15076 (WebCore::previousBoundary): 15077 (WebCore::nextBoundary): 15078 (WebCore::startPositionForLine): 15079 (WebCore::startOfLine): 15080 (WebCore::endPositionForLine): 15081 (WebCore::nextLinePosition): 15082 (WebCore::startOfParagraph): 15083 (WebCore::endOfParagraph): 15084 (WebCore::logicalStartPositionForLine): 15085 (WebCore::logicalEndPositionForLine): 15086 * page/AccessibilityObject.cpp: 15087 (WebCore::updateAXLineStartForVisiblePosition): 15088 * page/AccessibilityRenderObject.cpp: 15089 (WebCore::AccessibilityRenderObject::indexForVisiblePosition): 15090 * page/DOMSelection.cpp: 15091 (WebCore::DOMSelection::anchorOffset): 15092 (WebCore::DOMSelection::focusOffset): 15093 (WebCore::DOMSelection::baseOffset): 15094 (WebCore::DOMSelection::extentOffset): 15095 * page/EventHandler.cpp: 15096 (WebCore::EventHandler::handleMousePressEventSingleClick): 15097 * page/Frame.cpp: 15098 (WebCore::Frame::selectionLayoutChanged): 15099 * page/mac/AccessibilityObjectWrapper.mm: 15100 (textMarkerForVisiblePosition): 15101 (visiblePositionForTextMarker): 15102 * rendering/RenderTextControl.cpp: 15103 (WebCore::RenderTextControl::indexForVisiblePosition): 15104 * rendering/RenderTreeAsText.cpp: 15105 (WebCore::writeSelection): 15106 15107 2009-04-29 Eric Seidel <eric (a] webkit.org> 15108 15109 No review, rolling out a patch. 15110 15111 Revert http://trac.webkit.org/changeset/43019 15112 15113 New tests failed because I removed the tabs from them 15114 when landing (since we avoid tabs in WebKit files). 15115 I couldn't tell if the new results were correct with 15116 spaces or not. 15117 15118 * editing/SelectionController.cpp: 15119 (WebCore::SelectionController::modifyExtendingForward): 15120 (WebCore::SelectionController::modifyMovingForward): 15121 (WebCore::SelectionController::modifyExtendingBackward): 15122 (WebCore::SelectionController::modifyMovingBackward): 15123 * editing/visible_units.cpp: 15124 * editing/visible_units.h: 15125 15126 2009-04-29 David Hyatt <hyatt (a] apple.com> 15127 15128 Reviewed by Dan Bernstein. 15129 15130 Fix for <rdar://problem/6828164>, Mail hits the !root->needsLayout() assert because it re-marks the FrameView for layout 15131 when the FrameView is resized. This bug was exposed by the elimination of the separate WebKit layout 15132 flag on Mac. 15133 15134 FrameView now defers setNeedsLayouts during size changes. Once all of the size changes are finished (including re-entrant ones 15135 from WebDynamicScrollbarsView and ScrollView::updateScrollbars) we then do a layout if necessary. 15136 15137 * page/FrameView.cpp: 15138 (WebCore::FrameView::FrameView): 15139 (WebCore::FrameView::setContentsSize): 15140 (WebCore::FrameView::layout): 15141 (WebCore::FrameView::needsLayout): 15142 (WebCore::FrameView::setNeedsLayout): 15143 * page/FrameView.h: 15144 15145 2009-04-29 Eric Seidel <eric (a] webkit.org> 15146 15147 No review, rolling out a patch. 15148 15149 Revert 43020 as it caused accessibility/lists.html to fail 15150 and no one is around to tell me if it's a progression or not. 15151 15152 * page/AccessibilityObject.h: 15153 (WebCore::): 15154 * page/AccessibilityRenderObject.cpp: 15155 (WebCore::AccessibilityRenderObject::roleValue): 15156 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 15157 * page/mac/AccessibilityObjectWrapper.mm: 15158 (RoleEntry::): 15159 15160 2009-04-29 Sankar Aditya Tanguturi <sankaraditya (a] gmail.com> 15161 15162 Reviewed by Jon Honeycutt. 15163 15164 Add a new accessibility role for list items. Part of 15165 http://bugs.webkit.org/show_id.cgi?id=20013 15166 15167 Tests: platform/win/accessibility/listitem-role.html 15168 15169 * page/AccessibilityObject.h: 15170 (WebCore::): Add ListItemRole to accessibilityRole enum. 15171 * page/AccessibilityRenderObject.cpp: 15172 (WebCore::AccessibilityRenderObject::roleValue):Return 15173 listItemRole when rendered object is a list item. 15174 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): Return 15175 true for ListItemRole, matching firefox. 15176 * page/mac/AccessibilityObjectWrapper.mm: 15177 (RoleEntry::): Map ListItemRole with NSAccessibilityGroupRole in 15178 MAC. 15179 15180 2009-04-29 Xiaomei Ji <xji (a] chromium.org> 15181 15182 Reviewed by Dan Bernstein. 15183 15184 Fix https://bugs.webkit.org/show_bug.cgi?id=24168 15185 RTL: Home/End key does not behave correctly in mixed bidi text in RTL document 15186 15187 Test: editing/selection/home-end.html 15188 15189 * editing/SelectionController.cpp: 15190 (WebCore::SelectionController::modifyExtendingForward): Change calling endOfLine() 15191 to logicalEndOfLine() when granularity is LineBoundary. 15192 (WebCore::SelectionController::modifyMovingForward): Change calling endOfLine() 15193 to logicalEndOfLine() when granularity is LineBoundary 15194 (WebCore::SelectionController::modifyExtendingBackward): Change calling 15195 startOfLine() to logicalStartOfLine() when granularity is LineBoundary. 15196 (WebCore::SelectionController::modifyMovingBackward): Change calling startOfLine() 15197 to logicalStartOfLine() when granularity is LineBoundary. 15198 * editing/visible_units.cpp: 15199 (WebCore::getLeafBoxesInLogicalOrder): Added. Reconstruct leaf boxes in logical order. 15200 (WebCore::getLogicalStartBoxAndNode): Added. 15201 (WebCore::getLogicalEndBoxAndNode): Added. 15202 (WebCore::logicalStartPositionForLine): Added. Similar to startPositionForLine. 15203 (WebCore::logicalStartOfLine): Added. Similar to startOfLine. 15204 (WebCore::logicalEndPositionForLine): Added. Similar to endPositionForLine. 15205 (WebCore::inSameLogicalLine): Added. 15206 (WebCore::logicalEndOfLine): Added. Similar to endOfLine. 15207 * editing/visible_units.h: 15208 15209 2009-04-29 Mike Belshe <mike (a] belshe.com> 15210 15211 Reviewed by Eric Seidel. 15212 15213 Update location while page is loading. 15214 https://bugs.webkit.org/show_bug.cgi?id=21597 15215 15216 Tested by: 15217 - fast/dom/location-new-window-no-crash 15218 - fast/dom/Window/window-open-pending-url 15219 15220 * page/Location.cpp: 15221 15222 2009-04-29 Feng Qian <feng (a] chromium.org> 15223 15224 Reviewed by Darin Adler. 15225 15226 Add Android port files to WebCore/platform. 15227 https://bugs.webkit.org/show_bug.cgi?id=23296 15228 15229 * platform/android: Added. 15230 * platform/android/ClipboardAndroid.cpp: Added. 15231 * platform/android/ClipboardAndroid.h: Added. 15232 15233 2009-04-29 Feng Qian <feng (a] chromium.org> 15234 15235 Reviewed by Darin Adler. 15236 15237 Add Android-specific files to the WebCore/page directory. 15238 https://bugs.webkit.org/show_bug.cgi?id=23295 15239 15240 * page/android: Added. 15241 * page/android/DragControllerAndroid.cpp: Added. 15242 * page/android/EventHandlerAndroid.cpp: Added. 15243 * page/android/InspectorControllerAndroid.cpp: Added. 15244 15245 2009-04-29 Pavel Feldman <pfeldman (a] chromium.org> 15246 15247 Reviewed by Timothy Hatcher. 15248 15249 Extract PageGroupLoadDeferrer from Chrome.cpp 15250 15251 * GNUmakefile.am: added PageGroupLoadDeferrer 15252 * WebCore.pro: ditto 15253 * WebCore.scons: ditto 15254 * WebCore.vcproj/WebCore.vcproj: ditto 15255 * WebCore.xcodeproj/project.pbxproj: ditto 15256 * WebCoreSources.bkl: ditto 15257 * page/Chrome.cpp: PageGroupLoadDeferrer impl moved to a separate class. 15258 * page/PageGroupLoadDeferrer.cpp: Added. 15259 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 15260 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 15261 * page/PageGroupLoadDeferrer.h: Added. 15262 15263 2009-04-24 Ojan Vafai <ojan (a] chromium.org> 15264 15265 Reviewed by Dan Bernstein. 15266 15267 Make textarea and text input metrics more closely match IEs. 15268 15269 This involves: 15270 -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth 15271 -set textarea width to cols*avgCharWidth 15272 -Make default CSS match IEs 15273 -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG. 15274 15275 Those values for textarea and inputs were derived by doing a ton of manual 15276 testing of IE's width values for various textareas and fonts. On Windows we match 15277 IE exactly except for a couple fonts of the ~12 tested. 15278 15279 To get the average and max character width of a font, we do the following 15280 for each platform: 15281 -Win: TextMetrics expose avgCharWidth and maxCharWidth 15282 -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight 15283 maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent 15284 -Linux: avgCharWidth = width of an '0', fallback on m_xHeight 15285 maxCharWidth = max of avgCharWidth and m_ascent 15286 -Mac: Calculate the avgCharWidth and grab the maxCharWidth off the font. 15287 If either one is non-positive, then calculate the value using the Linux approach. 15288 15289 Tests: fast/forms/text-control-intrinsic-widths.html 15290 fast/forms/textarea-metrics.html 15291 svg/custom/svg-fonts-in-text-controls.html 15292 15293 * css/html4.css: 15294 * css/themeWin.css: 15295 * platform/graphics/SimpleFontData.cpp: 15296 (WebCore::SimpleFontData::SimpleFontData): 15297 (WebCore::SimpleFontData::initCharWidths): 15298 * platform/graphics/SimpleFontData.h: 15299 (WebCore::SimpleFontData::maxCharWidth): 15300 (WebCore::SimpleFontData::avgCharWidth): 15301 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 15302 (WebCore::SimpleFontData::platformCharWidthInit): 15303 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 15304 (WebCore::SimpleFontData::platformCharWidthInit): 15305 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 15306 (WebCore::SimpleFontData::platformCharWidthInit): 15307 * platform/graphics/gtk/SimpleFontDataPango.cpp: 15308 (WebCore::SimpleFontData::platformCharWidthInit): 15309 * platform/graphics/mac/SimpleFontDataMac.mm: 15310 (WebCore::SimpleFontData::platformCharWidthInit): 15311 * platform/graphics/qt/SimpleFontDataQt.cpp: 15312 (WebCore::SimpleFontData::platformCharWidthInit): 15313 * platform/graphics/win/SimpleFontDataCGWin.cpp: 15314 (WebCore::SimpleFontData::platformCharWidthInit): 15315 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 15316 (WebCore::SimpleFontData::platformInit): 15317 (WebCore::SimpleFontData::platformCharWidthInit): 15318 * platform/graphics/win/SimpleFontDataWin.cpp: 15319 (WebCore::SimpleFontData::initGDIFont): 15320 * platform/graphics/wx/SimpleFontDataWx.cpp: 15321 (WebCore::SimpleFontData::platformCharWidthInit): 15322 * rendering/RenderTextControl.cpp: 15323 (WebCore::RenderTextControl::calcPrefWidths): 15324 * rendering/RenderTextControlMultiLine.cpp: 15325 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 15326 * rendering/RenderTextControlSingleLine.cpp: 15327 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 15328 15329 2009-04-29 Brady Eidson <beidson (a] apple.com> 15330 15331 Reviewed by Darin Adler. 15332 15333 * bindings/objc/DOMCSS.mm: 15334 (kitClass): Added CSS_INITIAL to the switch statement, and changed to use the WebCore 15335 type and not the binding type. 15336 15337 2009-04-29 John Abd-El-Malek <jam (a] google.com> 15338 15339 Reviewed by Dimitri Glazkov. 15340 15341 Reverted my previous change to add resetChromiumPluginCache(). 15342 https://bugs.webkit.org/show_bug.cgi?id=25318 15343 15344 * plugins/chromium/PluginDataChromium.cpp: 15345 15346 2009-04-29 Brady Eidson <beidson (a] apple.com> 15347 15348 Reviewed by Darin Adler. 15349 15350 <rdar://problem/6573742> - Problem dragging standalone images from Safari to Mail 15351 15352 Roll out trac.webkit.org/changeset/35867 which fixed <rdar://problem/6153432> 15353 15354 Cloned <rdar://problem/6153432> to <rdar://problem/6839881> to find a better fix for that Tiger Mail bug. 15355 15356 * loader/DocumentLoader.cpp: 15357 (WebCore::DocumentLoader::subresource): Remove the preload referenced check. 15358 15359 2009-04-29 Alpha Lam <hclam (a] chromium.org> 15360 15361 Reviewed by Dimitri Glazkov. 15362 15363 https://bugs.webkit.org/show_bug.cgi?id=25430 15364 15365 Provide style sheet for UI controls of media elements for Chromium port. 15366 15367 * rendering/RenderThemeChromiumWin.cpp: 15368 (WebCore::RenderThemeChromiumWin::extraMediaControlsStyleSheet): 15369 15370 2009-04-29 John Abd-El-Malek <jam (a] chromium.org> 15371 15372 Reviewed by Darin Adler. 15373 15374 Expose sudden termination to Chromium port. 15375 https://bugs.webkit.org/show_bug.cgi?id=25457 15376 15377 * platform/SuddenTermination.h: 15378 * platform/chromium/ChromiumBridge.h: 15379 * platform/chromium/SuddenTerminationChromium.cpp: Added. 15380 (WebCore::disableSuddenTermination): 15381 (WebCore::enableSuddenTermination): 15382 15383 2009-04-29 Sam Weinig <sam (a] webkit.org> 15384 15385 Reviewed by Dimitri Glazkov. 15386 15387 Remove unused EventListeners. 15388 15389 * page/DOMWindow.idl: 15390 15391 2009-04-29 Yury Semikhatsky <yurys (a] chromium.org> 15392 15393 Reveal current execution line once SourceFrame content is loaded. 15394 15395 https://bugs.webkit.org/show_bug.cgi?id=25448 15396 15397 Reviewed by Timothy Hatcher. 15398 15399 * inspector/front-end/SourceFrame.js: 15400 (WebInspector.SourceFrame.prototype._loaded): 15401 15402 2009-04-29 Ariya Hidayat <ariya.hidayat (a] nokia.com> 15403 15404 Reviewed by Simon Fraser. 15405 15406 [Qt] Initialize GraphicsContext's and ImageBuffer's QPainter to match 15407 the default values of canvas attributes. 15408 15409 * platform/graphics/qt/ImageBufferQt.cpp: 15410 (WebCore::ImageBufferData::ImageBufferData): 15411 15412 2009-04-28 Simon Hausmann <simon.hausmann (a] nokia.com> 15413 15414 Fix the Qt build. 15415 15416 * bridge/qt/qt_runtime.cpp: 15417 (JSC::Bindings::findMethodIndex): Removed exec param from at() call. 15418 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto. 15419 15420 2009-04-28 Geoffrey Garen <ggaren (a] apple.com> 15421 15422 Rubber stamped by Beth Dakin. 15423 15424 Missed one. 15425 15426 * bindings/scripts/CodeGeneratorJS.pm: 15427 15428 2009-04-28 Geoffrey Garen <ggaren (a] apple.com> 15429 15430 Rubber stamped by Beth Dakin. 15431 15432 Removed scaffolding supporting dynamically converting between 32bit and 15433 64bit value representations. 15434 15435 * bindings/js/JSAudioConstructor.cpp: 15436 (WebCore::constructAudio): 15437 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 15438 (WebCore::JSCanvasRenderingContext2D::setFillColor): 15439 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 15440 (WebCore::JSCanvasRenderingContext2D::strokeRect): 15441 (WebCore::JSCanvasRenderingContext2D::drawImage): 15442 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 15443 (WebCore::JSCanvasRenderingContext2D::setShadow): 15444 (WebCore::JSCanvasRenderingContext2D::createPattern): 15445 (WebCore::JSCanvasRenderingContext2D::putImageData): 15446 (WebCore::JSCanvasRenderingContext2D::fillText): 15447 (WebCore::JSCanvasRenderingContext2D::strokeText): 15448 * bindings/js/JSClipboardCustom.cpp: 15449 (WebCore::JSClipboard::clearData): 15450 (WebCore::JSClipboard::getData): 15451 (WebCore::JSClipboard::setData): 15452 (WebCore::JSClipboard::setDragImage): 15453 * bindings/js/JSDOMApplicationCacheCustom.cpp: 15454 (WebCore::JSDOMApplicationCache::hasItem): 15455 (WebCore::JSDOMApplicationCache::add): 15456 (WebCore::JSDOMApplicationCache::remove): 15457 (WebCore::JSDOMApplicationCache::addEventListener): 15458 (WebCore::JSDOMApplicationCache::removeEventListener): 15459 * bindings/js/JSDOMStringListCustom.cpp: 15460 (WebCore::JSDOMStringList::item): 15461 * bindings/js/JSDOMWindowCustom.cpp: 15462 (WebCore::JSDOMWindow::open): 15463 (WebCore::JSDOMWindow::showModalDialog): 15464 (WebCore::JSDOMWindow::postMessage): 15465 (WebCore::JSDOMWindow::setTimeout): 15466 (WebCore::JSDOMWindow::setInterval): 15467 (WebCore::JSDOMWindow::atob): 15468 (WebCore::JSDOMWindow::btoa): 15469 (WebCore::JSDOMWindow::addEventListener): 15470 (WebCore::JSDOMWindow::removeEventListener): 15471 * bindings/js/JSDatabaseCustom.cpp: 15472 (WebCore::JSDatabase::changeVersion): 15473 (WebCore::JSDatabase::transaction): 15474 * bindings/js/JSElementCustom.cpp: 15475 (WebCore::JSElement::setAttribute): 15476 (WebCore::JSElement::setAttributeNode): 15477 (WebCore::JSElement::setAttributeNS): 15478 (WebCore::JSElement::setAttributeNodeNS): 15479 * bindings/js/JSGeolocationCustom.cpp: 15480 (WebCore::JSGeolocation::getCurrentPosition): 15481 (WebCore::JSGeolocation::watchPosition): 15482 * bindings/js/JSHTMLCollectionCustom.cpp: 15483 (WebCore::callHTMLCollection): 15484 (WebCore::JSHTMLCollection::item): 15485 (WebCore::JSHTMLCollection::namedItem): 15486 * bindings/js/JSHTMLDocumentCustom.cpp: 15487 (WebCore::documentWrite): 15488 * bindings/js/JSHTMLInputElementCustom.cpp: 15489 (WebCore::JSHTMLInputElement::setSelectionRange): 15490 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 15491 (WebCore::JSHTMLOptionsCollection::add): 15492 * bindings/js/JSHTMLSelectElementCustom.cpp: 15493 (WebCore::JSHTMLSelectElement::remove): 15494 * bindings/js/JSImageConstructor.cpp: 15495 (WebCore::constructImage): 15496 * bindings/js/JSInspectorControllerCustom.cpp: 15497 (WebCore::JSInspectorController::highlightDOMNode): 15498 (WebCore::JSInspectorController::addResourceSourceToFrame): 15499 (WebCore::JSInspectorController::addSourceToFrame): 15500 (WebCore::JSInspectorController::getResourceDocumentNode): 15501 (WebCore::JSInspectorController::search): 15502 (WebCore::JSInspectorController::databaseTableNames): 15503 (WebCore::JSInspectorController::setting): 15504 (WebCore::JSInspectorController::setSetting): 15505 (WebCore::JSInspectorController::wrapCallback): 15506 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 15507 (WebCore::JSJavaScriptCallFrame::evaluate): 15508 * bindings/js/JSLocationCustom.cpp: 15509 (WebCore::JSLocation::replace): 15510 (WebCore::JSLocation::assign): 15511 * bindings/js/JSMessagePortCustom.cpp: 15512 (WebCore::JSMessagePort::startConversation): 15513 (WebCore::JSMessagePort::addEventListener): 15514 (WebCore::JSMessagePort::removeEventListener): 15515 * bindings/js/JSNodeCustom.cpp: 15516 (WebCore::JSNode::insertBefore): 15517 (WebCore::JSNode::replaceChild): 15518 (WebCore::JSNode::removeChild): 15519 (WebCore::JSNode::appendChild): 15520 (WebCore::JSNode::addEventListener): 15521 (WebCore::JSNode::removeEventListener): 15522 * bindings/js/JSNodeFilterCustom.cpp: 15523 (WebCore::JSNodeFilter::acceptNode): 15524 * bindings/js/JSNodeListCustom.cpp: 15525 (WebCore::callNodeList): 15526 * bindings/js/JSOptionConstructor.cpp: 15527 (WebCore::constructHTMLOptionElement): 15528 * bindings/js/JSQuarantinedObjectWrapper.cpp: 15529 (WebCore::JSQuarantinedObjectWrapper::construct): 15530 (WebCore::JSQuarantinedObjectWrapper::call): 15531 * bindings/js/JSSQLResultSetRowListCustom.cpp: 15532 (WebCore::JSSQLResultSetRowList::item): 15533 * bindings/js/JSSQLTransactionCustom.cpp: 15534 (WebCore::JSSQLTransaction::executeSql): 15535 * bindings/js/JSSVGElementInstanceCustom.cpp: 15536 (WebCore::JSSVGElementInstance::addEventListener): 15537 (WebCore::JSSVGElementInstance::removeEventListener): 15538 * bindings/js/JSSVGLengthCustom.cpp: 15539 (WebCore::JSSVGLength::convertToSpecifiedUnits): 15540 * bindings/js/JSSVGMatrixCustom.cpp: 15541 (WebCore::JSSVGMatrix::rotateFromVector): 15542 * bindings/js/JSSVGPathSegListCustom.cpp: 15543 (WebCore::JSSVGPathSegList::initialize): 15544 (WebCore::JSSVGPathSegList::getItem): 15545 (WebCore::JSSVGPathSegList::insertItemBefore): 15546 (WebCore::JSSVGPathSegList::replaceItem): 15547 (WebCore::JSSVGPathSegList::removeItem): 15548 (WebCore::JSSVGPathSegList::appendItem): 15549 * bindings/js/JSSVGPointListCustom.cpp: 15550 (WebCore::JSSVGPointList::initialize): 15551 (WebCore::JSSVGPointList::getItem): 15552 (WebCore::JSSVGPointList::insertItemBefore): 15553 (WebCore::JSSVGPointList::replaceItem): 15554 (WebCore::JSSVGPointList::removeItem): 15555 (WebCore::JSSVGPointList::appendItem): 15556 * bindings/js/JSSVGTransformListCustom.cpp: 15557 (WebCore::JSSVGTransformList::initialize): 15558 (WebCore::JSSVGTransformList::getItem): 15559 (WebCore::JSSVGTransformList::insertItemBefore): 15560 (WebCore::JSSVGTransformList::replaceItem): 15561 (WebCore::JSSVGTransformList::removeItem): 15562 (WebCore::JSSVGTransformList::appendItem): 15563 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 15564 (WebCore::constructWebKitCSSMatrix): 15565 * bindings/js/JSWebKitPointConstructor.cpp: 15566 (WebCore::constructWebKitPoint): 15567 * bindings/js/JSWorkerConstructor.cpp: 15568 (WebCore::constructWorker): 15569 * bindings/js/JSWorkerContextCustom.cpp: 15570 (WebCore::JSWorkerContext::importScripts): 15571 (WebCore::JSWorkerContext::addEventListener): 15572 (WebCore::JSWorkerContext::removeEventListener): 15573 (WebCore::JSWorkerContext::setTimeout): 15574 (WebCore::JSWorkerContext::setInterval): 15575 * bindings/js/JSWorkerCustom.cpp: 15576 (WebCore::JSWorker::addEventListener): 15577 (WebCore::JSWorker::removeEventListener): 15578 * bindings/js/JSXMLHttpRequestCustom.cpp: 15579 (WebCore::JSXMLHttpRequest::open): 15580 (WebCore::JSXMLHttpRequest::setRequestHeader): 15581 (WebCore::JSXMLHttpRequest::send): 15582 (WebCore::JSXMLHttpRequest::getResponseHeader): 15583 (WebCore::JSXMLHttpRequest::overrideMimeType): 15584 (WebCore::JSXMLHttpRequest::addEventListener): 15585 (WebCore::JSXMLHttpRequest::removeEventListener): 15586 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 15587 (WebCore::JSXMLHttpRequestUpload::addEventListener): 15588 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 15589 * bindings/js/JSXSLTProcessorCustom.cpp: 15590 (WebCore::JSXSLTProcessor::importStylesheet): 15591 (WebCore::JSXSLTProcessor::transformToFragment): 15592 (WebCore::JSXSLTProcessor::transformToDocument): 15593 (WebCore::JSXSLTProcessor::setParameter): 15594 (WebCore::JSXSLTProcessor::getParameter): 15595 (WebCore::JSXSLTProcessor::removeParameter): 15596 * bindings/js/ScheduledAction.cpp: 15597 (WebCore::ScheduledAction::create): 15598 (WebCore::ScheduledAction::ScheduledAction): 15599 * bindings/js/ScheduledAction.h: 15600 * bindings/js/ScriptCallFrame.cpp: 15601 (WebCore::ScriptCallFrame::ScriptCallFrame): 15602 * bindings/js/ScriptCallFrame.h: 15603 * bindings/js/ScriptCallStack.cpp: 15604 (WebCore::ScriptCallStack::ScriptCallStack): 15605 (WebCore::ScriptCallStack::initialize): 15606 * bridge/c/c_instance.cpp: 15607 (JSC::Bindings::CInstance::invokeMethod): 15608 (JSC::Bindings::CInstance::invokeDefaultMethod): 15609 (JSC::Bindings::CInstance::invokeConstruct): 15610 * bridge/jni/jni_instance.cpp: 15611 (JavaInstance::invokeMethod): 15612 * bridge/objc/objc_instance.mm: 15613 (ObjcInstance::invokeMethod): 15614 (ObjcInstance::invokeDefaultMethod): 15615 15616 2009-04-28 David Carson <dacarson (a] apple.com> 15617 15618 Reviewed by David Hyatt. 15619 15620 Restore alignment to device pixel boundaries. 15621 https://bugs.webkit.org/show_bug.cgi?id=25458 15622 15623 Adjust the adjusted destination rect to be device pixel aligned. 15624 15625 * platform/graphics/cg/ImageCG.cpp: 15626 (WebCore::BitmapImage::draw): 15627 15628 2009-04-28 Sam Weinig <sam (a] webkit.org> 15629 15630 Reviewed by Anders Carlsson. 15631 15632 Move unimplemented captureEvents and releaseEvents from JSDOMWindow 15633 to DOMWindow. 15634 15635 * bindings/js/JSDOMWindowCustom.cpp: 15636 * page/DOMWindow.cpp: 15637 (WebCore::DOMWindow::captureEvents): 15638 (WebCore::DOMWindow::releaseEvents): 15639 * page/DOMWindow.h: 15640 * page/DOMWindow.idl: 15641 15642 2009-04-28 Alexey Proskuryakov <ap (a] webkit.org> 15643 15644 Reviewed by Darin Adler. 15645 15646 https://bugs.webkit.org/show_bug.cgi?id=25420 15647 <rdar://problem/6829570> REGRESSION: XMLHttpRequest allows loading from another origin 15648 15649 Test: http/tests/xmlhttprequest/detaching-frame-2.html 15650 15651 This was caused by faulty DOMWindow::document(), which could return a new document from 15652 the window's frame after navigation. 15653 15654 * bindings/js/JSDOMWindowCustom.h: (WebCore::JSDOMWindowBase::allowsAccessFromPrivate): 15655 Removed an obsolete check that allowed access when document was null. Contrary to what a 15656 comment said, that can happen for a window that is no longer in frame, not to one whose 15657 document is not constructed yet. 15658 15659 * bindings/js/JSXMLHttpRequestConstructor.cpp: (WebCore::constructXMLHttpRequest): Bail 15660 out if context was not found. This currently happens due to a shortcoming in 15661 DOMWindow::document() - when it is fixed, the XMLHttpRequest object in included regression 15662 test will be constructed successfully, but won't be sent, because its context will be 15663 frameless. 15664 15665 * page/DOMWindow.cpp: (WebCore::DOMWindow::document): Check that the window in frame hasn't 15666 been replaced yet. Added FIXME comments about how this may be better fixed in the future. 15667 15668 * bindings/js/JSAudioConstructor.cpp: 15669 (WebCore::JSAudioConstructor::document): 15670 (WebCore::constructAudio): 15671 * bindings/js/JSImageConstructor.cpp: 15672 (WebCore::JSImageConstructor::document): 15673 (WebCore::constructImage): 15674 * bindings/js/JSMessageChannelConstructor.cpp: 15675 (WebCore::JSMessageChannelConstructor::construct): 15676 * bindings/js/JSOptionConstructor.cpp: 15677 (WebCore::JSOptionConstructor::document): 15678 (WebCore::constructHTMLOptionElement): 15679 Make matching changes to other constructors that hold a reference to global object. 15680 15681 2009-04-28 Kevin Ollivier <kevino (a] theolliviers.com> 15682 15683 wxMSW build fix. Switch JSCore build back to static. 15684 15685 * config.h: 15686 15687 2009-04-28 Pierre d'Herbemont <pdherbemont (a] apple.com> 15688 15689 Reviewed by Simon Fraser. 15690 15691 <rdar://problem/6834830> 15692 15693 Make sure we cover the two possible values reported by event.total that are playback engine 15694 specific. 15695 15696 * media/progress-event-total-expected.txt: Match the new test. 15697 * media/progress-event-total.html: Test the two values. 15698 15699 2009-04-28 Timothy Hatcher <timothy (a] apple.com> 15700 15701 Rename -[DOMRange lineBoxRects] to -[DOMRange textRects] and change how it 15702 collects the individual rects, making sure to only include RenderText. 15703 15704 <rdar://problem/6810061> 15705 15706 Reviewed by Sam Weinig. 15707 15708 * bindings/objc/DOM.mm: 15709 (-[DOMNode textRects]): Added. Make a Range and call textRects. 15710 (-[DOMNode lineBoxRects]): Call textRects method. 15711 (-[DOMRange textRects]): Call Range::textRects. 15712 (-[DOMRange lineBoxRects]): Call textRects method. 15713 * bindings/objc/DOMPrivate.h: Add the new methods and a comment 15714 about lineBoxRects being deprecated. 15715 * dom/Range.cpp: 15716 (WebCore::Range::boundingBox): Call textRects (renamed from addLineBoxRects). 15717 (WebCore::Range::textRects): Renamed from addLineBoxRects. Iterate over the 15718 nodes instead of the RenderObjects to correctly account for offsets. Also 15719 only call absoluteRectsForRange on RenderText. 15720 * dom/Range.h: Renamed addLineBoxRects to textRects. 15721 * page/Frame.cpp: 15722 (WebCore::Frame::selectionTextRects): Call textRects (renamed from addLineBoxRects). 15723 * rendering/RenderObject.cpp: 15724 (WebCore::RenderObject::absoluteRectsForRange): Remove if conditions that made this 15725 function very specific for the lineBoxRects API. These functions are still used 15726 by the InspectorController, and this change improves what the Inspector shows. 15727 (WebCore::RenderObject::absoluteQuadsForRange): Ditto. 15728 15729 2009-04-28 Timothy Hatcher <timothy (a] apple.com> 15730 15731 Remove the topLevel boolean argument from absolute{Rects,Quads}. 15732 This argument was default to true and no one ever passed false. 15733 15734 Reviewed by Sam Weinig. 15735 15736 * rendering/RenderBlock.cpp: 15737 (WebCore::RenderBlock::absoluteRects): 15738 (WebCore::RenderBlock::absoluteQuads): 15739 * rendering/RenderBlock.h: 15740 * rendering/RenderBox.cpp: 15741 (WebCore::RenderBox::absoluteRects): 15742 (WebCore::RenderBox::absoluteQuads): 15743 * rendering/RenderBox.h: 15744 * rendering/RenderInline.cpp: 15745 (WebCore::RenderInline::absoluteRects): 15746 (WebCore::RenderInline::absoluteQuads): 15747 * rendering/RenderInline.h: 15748 * rendering/RenderObject.h: 15749 (WebCore::RenderObject::absoluteRects): 15750 (WebCore::RenderObject::absoluteQuads): 15751 * rendering/RenderSVGHiddenContainer.cpp: 15752 (WebCore::RenderSVGHiddenContainer::absoluteRects): 15753 (WebCore::RenderSVGHiddenContainer::absoluteQuads): 15754 * rendering/RenderSVGHiddenContainer.h: 15755 * rendering/RenderSVGImage.cpp: 15756 (WebCore::RenderSVGImage::absoluteRects): 15757 (WebCore::RenderSVGImage::absoluteQuads): 15758 * rendering/RenderSVGImage.h: 15759 * rendering/RenderSVGInlineText.cpp: 15760 (WebCore::RenderSVGInlineText::absoluteRects): 15761 (WebCore::RenderSVGInlineText::absoluteQuads): 15762 * rendering/RenderSVGInlineText.h: 15763 * rendering/RenderSVGModelObject.cpp: 15764 (WebCore::RenderSVGModelObject::absoluteRects): 15765 (WebCore::RenderSVGModelObject::absoluteQuads): 15766 * rendering/RenderSVGModelObject.h: 15767 * rendering/RenderSVGTSpan.cpp: 15768 (WebCore::RenderSVGTSpan::absoluteRects): 15769 (WebCore::RenderSVGTSpan::absoluteQuads): 15770 * rendering/RenderSVGTSpan.h: 15771 * rendering/RenderSVGText.cpp: 15772 (WebCore::RenderSVGText::absoluteRects): 15773 (WebCore::RenderSVGText::absoluteQuads): 15774 * rendering/RenderSVGText.h: 15775 * rendering/RenderSVGTextPath.cpp: 15776 (WebCore::RenderSVGTextPath::absoluteQuads): 15777 * rendering/RenderSVGTextPath.h: 15778 * rendering/RenderText.cpp: 15779 (WebCore::RenderText::absoluteRects): 15780 * rendering/RenderText.h: 15781 * rendering/RenderView.cpp: 15782 (WebCore::RenderView::absoluteRects): 15783 (WebCore::RenderView::absoluteQuads): 15784 * rendering/RenderView.h: 15785 15786 2009-04-28 Eric Carlson <eric.carlson (a] apple.com> 15787 15788 Reviewed by Simon Fraser. 15789 15790 <rdar://problem/6794691> Media documents and <video controls> never show controls on Windows 15791 15792 RenderThemeWin doesn't implement the media element controller rendering methods, so media 15793 controls stopped rendering when we switched from RenderThemeSafari. Rather than having copies 15794 of the code in both places, the logic is in a new class that is called from both. 15795 15796 * WebCore.vcproj/WebCore.vcproj: Add RenderMediaControls.cpp. 15797 15798 * rendering/RenderMediaControls.cpp: Added. 15799 (WebCore::determineState): Translate renderer state to ThemeControlState. 15800 (WebCore::RenderMediaControls::adjustMediaSliderThumbSize): Adjust slider thumb. 15801 (WebCore::parentMediaElement): Return the HTMLMediaElement parent of a controller element. 15802 (WebCore::RenderMediaControls::paintMediaControlsPart): Paint a media controller part. 15803 * rendering/RenderMediaControls.h: Added. 15804 15805 * rendering/RenderThemeSafari.cpp: 15806 (WebCore::RenderThemeSafari::paintSliderTrack): Remove the MediaSliderPart case, it is never 15807 called for the media slider. 15808 (WebCore::RenderThemeSafari::adjustSliderThumbSize): Call RenderMediaControls function. 15809 (WebCore::RenderThemeSafari::paintMediaFullscreenButton): Ditto. 15810 (WebCore::RenderThemeSafari::paintMediaMuteButton): Ditto. 15811 (WebCore::RenderThemeSafari::paintMediaPlayButton): Ditto. 15812 (WebCore::RenderThemeSafari::paintMediaSeekBackButton): Ditto. 15813 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): Ditto. 15814 (WebCore::RenderThemeSafari::paintMediaSliderTrack): Ditto. 15815 (WebCore::RenderThemeSafari::paintMediaSliderThumb): Ditto. 15816 15817 * rendering/RenderThemeWin.cpp: 15818 (WebCore::RenderThemeWin::adjustSliderThumbSize): Ditto. 15819 (WebCore::RenderThemeWin::paintMediaFullscreenButton): Ditto. 15820 (WebCore::RenderThemeWin::paintMediaMuteButton): Ditto. 15821 (WebCore::RenderThemeWin::paintMediaPlayButton): Ditto. 15822 (WebCore::RenderThemeWin::paintMediaSeekBackButton): Ditto. 15823 (WebCore::RenderThemeWin::paintMediaSeekForwardButton): Ditto. 15824 (WebCore::RenderThemeWin::paintMediaSliderTrack): Ditto. 15825 (WebCore::RenderThemeWin::paintMediaSliderThumb): Ditto. 15826 * rendering/RenderThemeWin.h: 15827 15828 2009-04-28 Beth Dakin <bdakin (a] apple.com> 15829 15830 Reviewed by Sam Weinig. 15831 15832 Fix for <rdar://problem/6419515> REGRESSION (r31037): Positioned 15833 images with % height are collapsed when printing 15834 15835 * rendering/RenderBox.cpp: 15836 (WebCore::RenderBox::calcHeight): Make sure we don't ignore 15837 printing here! 15838 15839 2009-04-28 Adele Peterson <adele (a] apple.com> 15840 15841 Reviewed by Darin Adler. 15842 15843 Fix for <rdar://problem/6617298> Typing delete on an unquoted blank line unquotes the preceding, quoted blank line 15844 15845 Test: editing/deleting/type-delete-after-quote.html 15846 15847 When a selection is deleted that contains a whole number paragraphs plus a line break, we refrain from merging paragraphs after the delete, 15848 since it is unclear to most users that such a selection actually ends at the start of the next paragraph. However, when a user hits delete 15849 with a caret selection, they actually do expect the start of that paragraph to be merged into the paragraph before it. We can tell that 15850 we're in this state because the TypingCommand creates the selection to delete but it doesn't change the endingSelection. So we can tell 15851 that if we started with a caret selection, then we're not in this special case where we have to protect the user from unexpected behavior 15852 from deleting a range they selected. 15853 15854 * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::initializePositionData): 15855 15856 2009-04-28 Xan Lopez <xlopez (a] igalia.com> 15857 15858 Unreviewed: fix distcheck build, add missing header to file list. 15859 15860 * GNUmakefile.am: 15861 15862 2009-04-27 Eric Seidel <eric (a] webkit.org> 15863 15864 Reviewed by Sam Weinig. 15865 15866 Fix foreignObject transform order 15867 https://bugs.webkit.org/show_bug.cgi?id=25433 15868 15869 Transforms were being applied in the wrong order. 15870 When mapping from local to parent, first apply the viewport transform 15871 then map from the viewport box to the parent box. 15872 15873 * rendering/RenderForeignObject.cpp: 15874 (WebCore::RenderForeignObject::localToParentTransform): 15875 15876 2009-04-27 Eric Seidel <eric (a] webkit.org> 15877 15878 Reviewed by Simon Fraser. 15879 15880 Simplify nodeAtPoint for SVG 15881 https://bugs.webkit.org/show_bug.cgi?id=25432 15882 15883 Added a new nodeAtFloatPoint method which takes a FloatPoint 15884 instead of the *super confusing* x/y tx/ty pairs that HTML uses. 15885 Mostly this is just lots of minus-lines as the new code is *much* simpler. 15886 15887 I made all the SVG renderers use the new nodeAtFloatPoint and ASSERT_NOT_REACHED 15888 for the nodeAtPoint HTML/CSS int x/y version. 15889 15890 Eventually the rest of CSS/HTML render objects will follow suit 15891 and move to nodeAtFloatPoint (possibly renamed back to nodeAtPoint), but changing them 15892 over was well outside the scope of this change. 15893 15894 SVG hit testing is not actually floating point precise yet, since its still 15895 passed in an integer x/y. Certain transform hit-test edge cases are likely fixed 15896 by moving to FloatPoint here, but I didn't try to find one. 15897 15898 This should not cause functional changes for common-case hit testing, thus 15899 no tests changed, nor should new tests be needed. 15900 15901 * rendering/RenderForeignObject.cpp: 15902 (WebCore::RenderForeignObject::translationForAttributes): 15903 (WebCore::RenderForeignObject::paint): 15904 (WebCore::RenderForeignObject::computeRectForRepaint): 15905 (WebCore::RenderForeignObject::localToParentTransform): 15906 (WebCore::RenderForeignObject::layout): 15907 (WebCore::RenderForeignObject::nodeAtFloatPoint): 15908 * rendering/RenderForeignObject.h: 15909 * rendering/RenderObject.cpp: 15910 (WebCore::RenderObject::nodeAtFloatPoint): 15911 * rendering/RenderObject.h: 15912 * rendering/RenderPath.cpp: 15913 (WebCore::RenderPath::nodeAtFloatPoint): 15914 * rendering/RenderPath.h: 15915 * rendering/RenderSVGContainer.cpp: 15916 (WebCore::RenderSVGContainer::nodeAtFloatPoint): 15917 * rendering/RenderSVGContainer.h: 15918 (WebCore::RenderSVGContainer::pointIsInsideViewportClip): 15919 * rendering/RenderSVGHiddenContainer.cpp: 15920 (WebCore::RenderSVGHiddenContainer::nodeAtFloatPoint): 15921 * rendering/RenderSVGHiddenContainer.h: 15922 * rendering/RenderSVGImage.cpp: 15923 (WebCore::RenderSVGImage::paint): 15924 (WebCore::RenderSVGImage::nodeAtFloatPoint): 15925 * rendering/RenderSVGImage.h: 15926 (WebCore::RenderSVGImage::localToParentTransform): 15927 (WebCore::RenderSVGImage::localTransform): 15928 * rendering/RenderSVGModelObject.cpp: 15929 (WebCore::RenderSVGModelObject::nodeAtFloatPoint): 15930 * rendering/RenderSVGModelObject.h: 15931 * rendering/RenderSVGRoot.cpp: 15932 (WebCore::RenderSVGRoot::nodeAtFloatPoint): 15933 * rendering/RenderSVGText.cpp: 15934 (WebCore::RenderSVGText::nodeAtFloatPoint): 15935 * rendering/RenderSVGText.h: 15936 * rendering/RenderSVGViewportContainer.cpp: 15937 (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): 15938 * rendering/RenderSVGViewportContainer.h: 15939 15940 2009-04-28 Eric Carlson <eric.carlson (a] apple.com> 15941 15942 - fix the Tiger build 15943 15944 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 15945 (WebCore::MediaPlayerPrivate::cacheMovieScale): 15946 15947 2009-04-28 Sam Weinig <sam (a] webkit.org> 15948 15949 Reviewed by Beth Dakin. 15950 15951 Consolidate ScheduleAction creation into ScheduledAction::create. 15952 Autogenerate JSWorkerContext.clearTimeout and clearInterval. 15953 15954 * bindings/js/JSDOMWindowCustom.cpp: 15955 (WebCore::JSDOMWindow::setTimeout): 15956 (WebCore::JSDOMWindow::setInterval): 15957 * bindings/js/JSWorkerContextCustom.cpp: 15958 (WebCore::JSWorkerContext::setTimeout): 15959 (WebCore::JSWorkerContext::setInterval): 15960 * bindings/js/ScheduledAction.cpp: 15961 (WebCore::ScheduledAction::create): 15962 (WebCore::ScheduledAction::ScheduledAction): 15963 (WebCore::ScheduledAction::execute): 15964 * bindings/js/ScheduledAction.h: 15965 * workers/WorkerContext.cpp: 15966 (WebCore::DOMWindow::setTimeout): 15967 (WebCore::DOMWindow::clearTimeout): 15968 (WebCore::DOMWindow::setInterval): 15969 (WebCore::DOMWindow::clearInterval): 15970 * workers/WorkerContext.h: 15971 * workers/WorkerContext.idl: 15972 15973 2009-04-28 Brady Eidson <beidson (a] apple.com> 15974 15975 Reviewed by Darin Adler 15976 15977 <rdar://problem/6643219> Crashes after moving nodes between documents with Safari 4 Beta installed 15978 15979 When moving Nodes between documents we weren't properly updating style declarations. Certain operations, such 15980 as creating webarchives, would tickle this bug. 15981 15982 Tests: webarchive/adopt-attribute-styled-body-webarchive.html 15983 webarchive/adopt-attribute-styled-node-webarchive.html 15984 webarchive/adopt-inline-styled-node-webarchive.html 15985 15986 * dom/Node.cpp: Add a debug-only mechanism to insure that anyone who overrides (did/will)MoveToNewOwnerDocument 15987 calls their parent-class implementation after they've done their own work. 15988 (WebCore::setWillMoveToNewOwnerDocumentWasCalled): 15989 (WebCore::setDidMoveToNewOwnerDocumentWasCalled): 15990 (WebCore::Node::setDocument): 15991 (WebCore::Node::willMoveToNewOwnerDocument): 15992 (WebCore::Node::didMoveToNewOwnerDocument): 15993 15994 * dom/StyledElement.cpp: 15995 (WebCore::StyledElement::attributeChanged): Add a comment explaining why we don't need to walk the nameAttrMap 15996 to update style declarations. 15997 (WebCore::StyledElement::didMoveToNewOwnerDocument): Update the parent pointer for the inline style declaration. 15998 * dom/StyledElement.h: 15999 16000 * html/HTMLBodyElement.cpp: 16001 (WebCore::HTMLBodyElement::didMoveToNewOwnerDocument): Update the parent pointer for the link declaration. 16002 * html/HTMLBodyElement.h: 16003 16004 2009-04-28 Eric Carlson <eric.carlson (a] apple.com> 16005 16006 Reviewed by Darin Adler. 16007 16008 <rdar://problem/6834876> Don't use BlockExceptions macros until QTKit supports 16009 QTMoviePreferredTransformAttribute 16010 16011 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 16012 (WebCore::MediaPlayerPrivate::cacheMovieScale): use @try and @catch instead of 16013 BEGIN_BLOCK_OBJC_EXCEPTIONS and END_BLOCK_OBJC_EXCEPTIONS for builds of QTKit 16014 that throw an exception on QTMovieCurrentSizeAttribute but don't support 16015 QTMoviePreferredTransformAttribute 16016 16017 2009-04-28 Darin Adler <darin (a] apple.com> 16018 16019 Reviewed by Sam Weinig. 16020 16021 * rendering/RenderText.cpp: 16022 (WebCore::RenderText::RenderText): Streamline code path to avoid a bit of reference count 16023 churn and remove a strange unneeeded PassRefPtr typecast. Also added a comment. 16024 (WebCore::RenderText::setTextInternal): Ditto. 16025 16026 2009-04-27 Eric Seidel <eric (a] webkit.org> 16027 16028 Reviewed by Simon Fraser. 16029 16030 Simplify how SVG containers paint 16031 https://bugs.webkit.org/show_bug.cgi?id=25431 16032 16033 Moved filterBoundingBox() from RenderSVGModelObject to SVGRenderSupport to share with other classes. 16034 Gave RenderSVGText a modern clippedOverflowRectForRepaint and computeRectForRepaint. 16035 RenderSVGText now applies transforms at paint() time instead of during chunk draw time 16036 this should be much more efficient. 16037 16038 Fixed the order in which RenderSVGViewportContainer applied 16039 transforms and clips. We now clip to the viewport first and apply 16040 all transforms at once. Also since the viewport logic is now only 16041 inside RenderSVGViewportContainer (instead of inside RenderSVGContainer) 16042 we always know we have a viewport. We now use only viewportSize instead of 16043 viewport() since RenderSVGViewportContainers can't have x/y offsets. 16044 16045 We now correctly transform the PaintInfo::rect (damage rect) when applying transforms. 16046 This allowed us to apply the transform during text paint() instead of at chunk paint 16047 time. Previously we had to apply the transform during chunk paint time because 16048 RenderBlock (superclass of RenderSVGBlock) would check intersection with the damageRect 16049 before telling any of the inlines to draw. Now that we adjust the damage rect correctly 16050 we pass the intersection check correctly! (This probably fixed some <text> redraw bugs 16051 but since I still have a bunch of those to fix, I've not tried to write additional tests 16052 to cover these potential fixes yet.) 16053 16054 SVGRootInlineBox no longer needs to deal with transforms at chunk paint time, yay! 16055 16056 * rendering/RenderPath.cpp: 16057 (WebCore::RenderPath::repaintRectInLocalCoordinates): 16058 (WebCore::RenderPath::paint): 16059 * rendering/RenderSVGContainer.cpp: 16060 (WebCore::RenderSVGContainer::paint): 16061 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): 16062 * rendering/RenderSVGContainer.h: 16063 (WebCore::RenderSVGContainer::applyViewportClip): 16064 * rendering/RenderSVGImage.cpp: 16065 (WebCore::RenderSVGImage::layout): 16066 (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): 16067 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): 16068 (WebCore::RenderSVGImage::computeRectForRepaint): 16069 * rendering/RenderSVGImage.h: 16070 * rendering/RenderSVGModelObject.cpp: 16071 * rendering/RenderSVGModelObject.h: 16072 * rendering/RenderSVGRoot.cpp: 16073 (WebCore::RenderSVGRoot::layout): 16074 (WebCore::RenderSVGRoot::selfWillPaint): 16075 (WebCore::RenderSVGRoot::paint): 16076 (WebCore::RenderSVGRoot::viewportSize): 16077 (WebCore::RenderSVGRoot::calcViewport): 16078 (WebCore::RenderSVGRoot::localToBorderBoxTransform): 16079 (WebCore::RenderSVGRoot::parentOriginToBorderBox): 16080 (WebCore::RenderSVGRoot::borderOriginToContentBox): 16081 (WebCore::RenderSVGRoot::localToRepaintContainerTransform): 16082 (WebCore::RenderSVGRoot::localToParentTransform): 16083 (WebCore::RenderSVGRoot::computeRectForRepaint): 16084 (WebCore::RenderSVGRoot::nodeAtPoint): 16085 * rendering/RenderSVGRoot.h: 16086 * rendering/RenderSVGText.cpp: 16087 (WebCore::RenderSVGText::clippedOverflowRectForRepaint): 16088 (WebCore::RenderSVGText::computeRectForRepaint): 16089 (WebCore::RenderSVGText::paint): 16090 (WebCore::RenderSVGText::repaintRectInLocalCoordinates): 16091 * rendering/RenderSVGText.h: 16092 (WebCore::RenderSVGText::localToParentTransform): 16093 (WebCore::RenderSVGText::localTransform): 16094 * rendering/RenderSVGViewportContainer.cpp: 16095 (WebCore::RenderSVGViewportContainer::applyViewportClip): 16096 * rendering/RenderSVGViewportContainer.h: 16097 * rendering/SVGRenderSupport.cpp: 16098 (WebCore::filterBoundingBoxForRenderer): 16099 (WebCore::applyTransformToPaintInfo): 16100 * rendering/SVGRenderSupport.h: 16101 * rendering/SVGRootInlineBox.cpp: 16102 (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): 16103 (WebCore::SVGRootInlineBox::paint): 16104 16105 2009-04-28 Chris Fleizach <cfleizach (a] apple.com> 16106 16107 Reviewed by Darin Adler. 16108 16109 Bug 25453: AX: fall back to PLACEHOLDER attr if form element is not labeled 16110 https://bugs.webkit.org/show_bug.cgi?id=25453 16111 16112 Test: accessibility/placeholder.html 16113 16114 * page/AccessibilityRenderObject.cpp: 16115 (WebCore::AccessibilityRenderObject::title): 16116 16117 2009-04-28 Chris Fleizach <cfleizach (a] apple.com> 16118 16119 Reviewed by Darin Adler. 16120 16121 Bug 25452: AX: Don't create addition space AXStaticText element for every bold or link tag 16122 https://bugs.webkit.org/show_bug.cgi?id=25452 16123 16124 Test: accessibility/ignore-spacer-elements.html 16125 16126 * page/AccessibilityRenderObject.cpp: 16127 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 16128 16129 2009-04-28 Mark Rowe <mrowe (a] apple.com> 16130 16131 Reviewed by Sam Weinig. 16132 16133 Work around <rdar://problem/6833240> by relying on static initialization to zero the entire struct. 16134 This removes the need for us to explicitly initialize all of the members, which have a tendency 16135 to change in meaning and number between versions of libxml2. 16136 16137 * dom/XMLTokenizerLibxml2.cpp: 16138 (WebCore::): 16139 (WebCore::sharedXHTMLEntity): 16140 (WebCore::getXHTMLEntity): 16141 16142 2009-04-28 Steve Falkenburg <sfalken (a] apple.com> 16143 16144 Fix linker warning by specifying /NODEFAULTLIB:LIBCMT for QTMovieWin. 16145 16146 Reviewed by Mark Rowe. 16147 16148 * WebCore.vcproj/QTMovieWin.vcproj: 16149 16150 2009-04-28 Chris Fleizach <cfleizach (a] apple.com> 16151 16152 Reviewed by Darin Adler. 16153 16154 Bug 25449: AX: Respect the alt tag of ARIA button as AXDescription 16155 https://bugs.webkit.org/show_bug.cgi?id=25449 16156 16157 Test: accessibility/img-aria-button-alt-tag.html 16158 16159 * page/AccessibilityRenderObject.cpp: 16160 (WebCore::AccessibilityRenderObject::accessibilityDescription): 16161 16162 2009-04-28 Dan Bernstein <mitz (a] apple.com> 16163 16164 Reviewed by John Sullivan. 16165 16166 - formatting cleanup 16167 16168 * rendering/RenderBox.cpp: 16169 (WebCore::RenderBox::calcHeight): Corrected indentation and added braces 16170 around a multi-line "else" clause. 16171 16172 2009-04-28 Eric Carlson <eric.carlson (a] apple.com> 16173 16174 Reviewed by Adam Roben 16175 16176 <rdar://problem/6769968> media/video-size-intrinsic-scale.html fails on Windows 16177 https://bugs.webkit.org/show_bug.cgi?id=25094 16178 16179 Display movies saved with a non-identity matrix at the correct size. 16180 16181 * platform/graphics/win/QTMovieWin.cpp: 16182 (QTMovieWinPrivate::QTMovieWinPrivate): Initialize m_widthScaleFactor and m_heightScaleFactor. 16183 (QTMovieWinPrivate::cacheMovieScale): New, calculate difference between initial 16184 size and natural size so naturalSize() accounts for non-identity movie matrix. 16185 (QTMovieWinPrivate::task):Call cacheMovieScale when load state reaches 16186 kMovieLoadStateLoaded for the first time. kMovieLoadState -> QTMovieLoadState. 16187 (QTMovieWinPrivate::drawingComplete): kMovieLoadState -> QTMovieLoadState. 16188 (QTMovieWinPrivate::createGWorld): Don't bother creating gworld until load state reaches 16189 kMovieLoadStateLoaded because we do not try to draw it before that point. 16190 (QTMovieWinPrivate::setSize): Do not change movie box before reaching kMovieLoadStateLoaded 16191 because we need to get the movie's initial size in cacheMovieScale. 16192 (QTMovieWin::getNaturalSize): Multiply width and height by initial scale. 16193 16194 2009-04-28 Sam Weinig <sam (a] webkit.org> 16195 16196 Reviewed by Dan Bernstein. 16197 16198 Move timer code from JSDOMWindow to DOMWindow. clearTimeout and 16199 clearInterval can now be autogenerated. 16200 16201 * bindings/js/JSDOMWindowBase.cpp: 16202 * bindings/js/JSDOMWindowBase.h: 16203 * bindings/js/JSDOMWindowCustom.cpp: 16204 (WebCore::createScheduledAction): 16205 (WebCore::JSDOMWindow::setTimeout): 16206 (WebCore::JSDOMWindow::setInterval): 16207 * page/DOMWindow.cpp: 16208 (WebCore::DOMWindow::setTimeout): 16209 (WebCore::DOMWindow::clearTimeout): 16210 (WebCore::DOMWindow::setInterval): 16211 (WebCore::DOMWindow::clearInterval): 16212 * page/DOMWindow.h: 16213 * page/DOMWindow.idl: 16214 16215 2009-04-28 Kevin Watters <kevinwatters (a] gmail.com> 16216 16217 Reviewed by Kevin Ollivier. 16218 16219 Small optimization, don't get the widget's handle twice in one method. 16220 16221 https://bugs.webkit.org/show_bug.cgi?id=25446 16222 16223 * platform/wx/WidgetWx.cpp: 16224 (WebCore::Widget::setFocus): 16225 (WebCore::Widget::show): 16226 (WebCore::Widget::hide): 16227 (WebCore::Widget::frameRect): 16228 (WebCore::Widget::setFrameRect): 16229 (WebCore::Widget::invalidateRect): 16230 (WebCore::Widget::paint): 16231 16232 2009-04-28 Kevin Watters <kevinwatters (a] gmail.com> 16233 16234 Reviewed by Kevin Ollivier. 16235 16236 ScrollView copy and paste typo fix. 16237 16238 https://bugs.webkit.org/show_bug.cgi?id=25445 16239 16240 * platform/wx/ScrollViewWx.cpp: 16241 (WebCore::ScrollView::platformSetScrollbarModes): 16242 16243 2009-04-28 John Sullivan <sullivan (a] apple.com> 16244 16245 <rdar://problem/6820221> REGRESSION: 2-byte character names of images are displayed as %-encoded ASCII 16246 16247 Reviewed by Adam Roben 16248 16249 * loader/ImageDocument.cpp: 16250 (WebCore::ImageTokenizer::finish): 16251 decode the filename before processing it as part of the image name that's passed to the client 16252 16253 2009-04-28 Maciej Stachowiak <mjs (a] apple.com> 16254 16255 Not reviewed, build fix. 16256 16257 - fix initialization order to match declaration order to fix release build 16258 16259 * page/Settings.cpp: 16260 (WebCore::Settings::Settings): 16261 16262 2009-04-28 Xan Lopez <xlopez (a] igalia.com> 16263 16264 Reviewed by Justin Garcia. 16265 16266 https://bugs.webkit.org/show_bug.cgi?id=16135 16267 [GTK] Support caret browsing 16268 16269 Based on a patch by Alp Toker. 16270 16271 Implement basic support for caret browsing, active only when the 16272 corresponding setting is enabled. 16273 16274 * page/EventHandler.cpp: 16275 (WebCore::EventHandler::handleMouseReleaseEvent): 16276 * page/FocusController.cpp: 16277 (WebCore::FocusController::advanceFocus): 16278 (WebCore::clearSelectionIfNeeded): 16279 (WebCore::FocusController::setFocusedNode): 16280 * page/Frame.cpp: 16281 (WebCore::Frame::setFocusedNodeIfNeeded): 16282 (WebCore::Frame::setSelectionFromNone): 16283 (WebCore::Frame::respondToChangedSelection): 16284 * page/Settings.cpp: 16285 (WebCore::Settings::Settings): 16286 * page/Settings.h: 16287 * rendering/RenderBlock.cpp: 16288 (WebCore::RenderBlock::paintCaret): 16289 16290 2009-04-27 Eric Roman <eroman (a] chromium.org> 16291 16292 Reviewed by Darin Fisher. 16293 16294 Fix a compile breakage. 16295 <https://bugs.webkit.org/show_bug.cgi?id=25384> 16296 16297 * bindings/v8/custom/V8DOMWindowCustom.cpp: 16298 (WebCore::CALLBACK_FUNC_DECL): 16299 16300 2009-04-27 Eric Carlson <eric.carlson (a] apple.com> 16301 16302 Reviewed by Darin Adler. 16303 16304 <rdar://problem/6822344> Use of QTMovieCurrentSizeAttribute generates exception and will crash 16305 16306 QTMovieCurrentSizeAttribute generates an exception with some versions of QTKit, so calculate a 16307 multiplier to scale from natural size to current size when a movie is opened and use that to 16308 return the correct value from the naturalSize() method. 16309 16310 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 16311 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 16312 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_scaleFactor. 16313 (WebCore::MediaPlayerPrivate::naturalSize): Return naturalSize transformed by initial scale. 16314 (WebCore::MediaPlayerPrivate::cacheMovieScale): New, calculate difference between initial 16315 size and natural size so naturalSize() accounts for non-identity movie matrix. 16316 (WebCore::MediaPlayerPrivate::updateStates): Call cacheMovieScale when load state reaches 16317 QTMovieLoadStateLoaded for the first time. 16318 16319 2009-04-27 Beth Dakin <bdakin (a] apple.com> 16320 16321 Reviewed by Dave Hyatt. 16322 16323 Fix for <rdar://problem/6709057> REGRESSION (4PB-TOT): http://www.winway.com/main3/support/faq.aspx selector doesn't look right or work 16324 16325 The problem here is that we had a self-painting layer nested inside 16326 a non-self-painting layer. We ended up ignoring the self-painting 16327 layer both during painting and hit-testing. This patch corrects 16328 that. 16329 16330 * rendering/RenderLayer.cpp: 16331 (WebCore::RenderLayer::paintLayer): 16332 (WebCore::RenderLayer::hitTestLayer): 16333 16334 2009-04-27 Ada Chan <adachan (a] apple.com> 16335 16336 If it has been set to allow any HTTPS certificates for this host, set 16337 kCFStreamSSLAllowsExpiredCertificates to true to allow expired 16338 certificate, and set kCFStreamSSLValidatesCertificateChain false to skip 16339 certificate chain validation. (<rdar://problem/6382059>) 16340 16341 Reviewed by John Sullivan. 16342 16343 * platform/network/cf/ResourceHandleCFNet.cpp: 16344 (WebCore::makeFinalRequest): 16345 16346 2009-04-27 Simon Fraser <simon.fraser (a] apple.com> 16347 16348 Reviewed by Adele Peterson 16349 16350 <rdar://problem/6822225> Full page zooming of <video> element in the browser window doesn't work well 16351 16352 Fix a 'size changed' notification thrash that caused standalone video elements 16353 to continually resize after full page zooming, by using the movie's natual size (which is independent 16354 of zooming), rather than its current size (which is not). 16355 16356 Note that this regresses <https://bugs.webkit.org/show_bug.cgi?id=25029>, so we have to 16357 disable the media/video-size-intrinsic-scale.html test. However, we have to stop using 16358 QTMovieCurrentSizeAttribute anyway; this will be addressed, and the test re-enabled via 16359 <rdar://problem/6822344>. 16360 16361 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 16362 (WebCore::MediaPlayerPrivate::naturalSize): 16363 16364 2009-04-27 Simon Fraser <simon.fraser (a] apple.com> 16365 16366 Reviewed by Darin Adler 16367 16368 <rdar://problem/6642221> REGRESSION: With the Movie widget, movie trailer fails to 16369 load if movie had been previously viewed 16370 16371 Fix the Dashboard quirk for display:none plug-ins by moving the code from HTMLObjectElement 16372 to HTMLEmebedElement. It has to be in HTMLEmbedElement because the content we care about uses <embed>. 16373 16374 * html/HTMLEmbedElement.cpp: 16375 (WebCore::HTMLEmbedElement::rendererIsNeeded): 16376 * html/HTMLObjectElement.cpp: 16377 (WebCore::HTMLObjectElement::rendererIsNeeded): 16378 16379 2009-04-27 Sam Weinig <sam (a] webkit.org> 16380 16381 Reviewed by Geoffrey Garen. 16382 16383 Move more window event related code into DOMWindow. 16384 16385 * dom/Document.cpp: 16386 (WebCore::Document::implicitClose): 16387 (WebCore::Document::setWindowAttributeEventListener): 16388 (WebCore::Document::dispatchWindowEvent): 16389 (WebCore::Document::dispatchLoadEvent): 16390 * dom/Document.h: 16391 * dom/Element.cpp: 16392 * dom/Element.h: 16393 * dom/Node.cpp: 16394 * dom/Node.h: 16395 * html/HTMLBodyElement.cpp: 16396 (WebCore::HTMLBodyElement::parseMappedAttribute): 16397 * html/HTMLFrameSetElement.cpp: 16398 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 16399 * loader/FrameLoader.cpp: 16400 (WebCore::FrameLoader::stopLoading): 16401 * page/DOMWindow.cpp: 16402 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): 16403 (WebCore::DOMWindow::postMessageTimerFired): 16404 (WebCore::DOMWindow::dispatchEvent): 16405 (WebCore::DOMWindow::dispatchEventWithDocumentAsTarget): 16406 (WebCore::DOMWindow::dispatchLoadEvent): 16407 (WebCore::DOMWindow::dispatchUnloadEvent): 16408 (WebCore::DOMWindow::dispatchBeforeUnloadEvent): 16409 * page/DOMWindow.h: 16410 * page/Frame.cpp: 16411 (WebCore::Frame::shouldClose): 16412 * svg/SVGSVGElement.cpp: 16413 (WebCore::SVGSVGElement::parseMappedAttribute): 16414 16415 2009-04-27 Douglas R. Davidson <ddavidso (a] apple.com> 16416 16417 Implement the editing mechanisms and add context menu items for 16418 <rdar://problem/6724106> WebViews need to implement text checking 16419 16420 Reviewed by Justin Garcia. 16421 16422 * editing/Editor.cpp: 16423 * editing/Editor.h: 16424 * editing/TypingCommand.cpp: 16425 * loader/EmptyClients.h: 16426 * page/ContextMenuController.cpp: 16427 * page/EditorClient.h: 16428 * page/mac/WebCoreViewFactory.h: 16429 * platform/ContextMenu.cpp: 16430 * platform/ContextMenuItem.h: 16431 * platform/LocalizedStrings.h: 16432 * platform/mac/LocalizedStringsMac.mm: 16433 16434 2009-04-27 Sam Weinig <sam (a] webkit.org> 16435 16436 Reviewed by Geoffrey Garen. 16437 16438 Fix for <rdar://problem/6772944> REGRESSION (r42223): PLT 2% slower, i-Bench 3% slower 16439 16440 Be slightly less eager in collecting after page close/navigation by increasing 16441 the time before collection from 0 seconds to .5 seconds. 16442 16443 3% speedup on the PLT. 16444 16445 * bindings/js/GCController.cpp: 16446 (WebCore::GCController::garbageCollectSoon): 16447 16448 2009-04-27 David Kilzer <ddkilzer (a] apple.com> 16449 16450 Consolidate runtime application checks for Apple Mail and Safari 16451 16452 Reviewed by Mark Rowe and Darin Adler. 16453 16454 * WebCore.base.exp: Added exports. 16455 * WebCore.xcodeproj/project.pbxproj: Added 16456 RuntimeApplicationChecks.{h|mm} source files to the project. 16457 * page/mac/EventHandlerMac.mm: 16458 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 16459 Removed local checkedSafari and isSafari variables and switched 16460 to use applicationIsSafari(). 16461 * platform/mac/RuntimeApplicationChecks.h: Added. 16462 * platform/mac/RuntimeApplicationChecks.mm: Added. 16463 (WebCore::applicationIsAppleMail): Runtime application check for 16464 Apple Mail. 16465 (WebCore::applicationIsSafari): Runtime application check for 16466 Safari. 16467 16468 2009-04-27 Chris Fleizach <cfleizach (a] apple.com> 16469 16470 Reviewed by Darin Adler. 16471 16472 Bug 25374: AX: No AXValue change sent when text is auto-inserted 16473 https://bugs.webkit.org/show_bug.cgi?id=25374 16474 16475 First patch caused some regression tests to fail. 16476 16477 * rendering/RenderTextControl.cpp: 16478 (WebCore::RenderTextControl::setInnerTextValue): 16479 16480 2009-04-16 Xan Lopez <xlopez (a] igalia.com> 16481 16482 Reviewed by Gustavo Noronha. 16483 16484 https://bugs.webkit.org/show_bug.cgi?id=21546 16485 [GTK] ATK accessibility enhancements 16486 16487 Based on a patch by Alp Toker. 16488 16489 Cover more WebCore role -> ATK role conversions. 16490 16491 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 16492 16493 2009-04-18 Xan Lopez <xlopez (a] igalia.com> 16494 16495 Reviewed by Gustavo Noronha. 16496 16497 https://bugs.webkit.org/show_bug.cgi?id=21546 16498 [GTK] ATK accessibility enhancements 16499 16500 Do not call ATK setters in the getters, just return the 16501 value. Among other things calling the setter will emit the notify 16502 signal, which is wrong. 16503 16504 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 16505 16506 2009-04-16 Xan Lopez <xlopez (a] igalia.com> 16507 16508 Reviewed by Gustavo Noronha. 16509 16510 https://bugs.webkit.org/show_bug.cgi?id=21546 16511 [GTK] ATK accessibility enhancements 16512 16513 Based on a patch by Alp Toker. 16514 16515 Implement AtkImage interface. 16516 16517 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 16518 16519 2009-04-27 Gustavo Noronha Silva <gns (a] gnome.org> 16520 16521 Unreviewed debug build fix. 16522 16523 * platform/gtk/gtk2drawing.c: 16524 (moz_gtk_toggle_paint): 16525 16526 2009-04-27 Dimitri Glazkov <dglazkov (a] chromium.org> 16527 16528 Build fix. 16529 16530 https://bugs.webkit.org/show_bug.cgi?id=25382 16531 Remove direct reference to CallFrame.h include to pacify Win build. 16532 16533 * bindings/js/JSDOMBinding.h: Removed ScriptState.h include. 16534 * bindings/js/ScriptState.h: Replaced CallFrame.h with JSDOMBinding.h 16535 16536 2009-04-27 Chris Fleizach <cfleizach (a] apple.com> 16537 16538 Reviewed by Beth Dakin. 16539 16540 Bug 25374: AX: No AXValue change sent when text is auto-inserted 16541 https://bugs.webkit.org/show_bug.cgi?id=25374 16542 16543 When an input's text value is changed through the DOM, no AXValueChange notification is being sent. 16544 16545 * rendering/RenderTextControl.cpp: 16546 (WebCore::RenderTextControl::setInnerTextValue): 16547 16548 2009-04-27 Dimitri Glazkov <dglazkov (a] chromium.org> 16549 16550 Reviewed by Eric Seidel. 16551 16552 https://bugs.webkit.org/show_bug.cgi?id=25382 16553 Move scriptStateFromNode to ScriptState. 16554 16555 * bindings/js/JSDOMBinding.cpp: Moved scriptStateFromNode to ScriptState. 16556 * bindings/js/JSDOMBinding.h: Ditto. 16557 * bindings/js/ScriptState.cpp: 16558 (WebCore::scriptStateFromNode): Added. 16559 * bindings/js/ScriptState.h: Ditto. 16560 * bindings/v8/ScriptState.cpp: 16561 (WebCore::scriptStateFromNode): Added. 16562 * bindings/v8/ScriptState.h: Ditto. 16563 * dom/NodeFilter.h: Removed JSDOMBinding header include. 16564 * dom/NodeIterator.h: Ditto. 16565 * dom/TreeWalker.h: Ditto. 16566 16567 2009-04-27 Chris Fleizach <cfleizach (a] apple.com> 16568 16569 Reviewed by Beth Dakin. 16570 16571 Bug 25428: 5 crashes in DumpRenderTree at com.apple.WebCore -[AccessibilityObjectWrapper accessibilityAttributeValue:] + 830 16572 https://bugs.webkit.org/show_bug.cgi?id=25428 16573 16574 When marking children as changed in accessibility, we cannot rely on the accessibility parent chain existing. 16575 Instead, the render chain needs to be consulted. 16576 16577 * page/AccessibilityRenderObject.cpp: 16578 (WebCore::AccessibilityRenderObject::childrenChanged): 16579 16580 2009-04-27 Alexey Proskuryakov <ap (a] webkit.org> 16581 16582 Reviewed by Darin Adler. 16583 16584 https://bugs.webkit.org/show_bug.cgi?id=25399 16585 <rdar://problem/6633943> REGRESSION: Many crashes reported accessing Lexis/Nexis database, 16586 beneath WebCore::Cache::evict 16587 16588 The crash happened because a cached resource handle was removed from a document's cached 16589 resources map twice recursively, so a destructor was called for a value in a deleted bucket. 16590 The first call was from Cache::evict, and when destroying CachedResourceHandle destroyed 16591 CachedResource, DocLoader::removeCachedResource() was called again, with HashMap being in 16592 an inconsistent state. 16593 16594 I couldn't fully reconstruct the loading sequence to make a test. 16595 16596 * loader/Cache.cpp: 16597 (WebCore::Cache::revalidateResource): Assert that the resource being revalidated is in cache 16598 (it makes no sense to revalidate one that isn't). 16599 (WebCore::Cache::evict): Don't remove the resource from document's map. Removing a resource 16600 from the cache in no way implies that documents no longer use the old version. This fixes the 16601 crash, and also fixes many cases of resource content being unavailable in Web Inspector. 16602 16603 * loader/CachedResource.h: 16604 (WebCore::CachedResource::setInCache): When bringing a revalidated resource back to cache, 16605 reset m_isBeingRevalidated to maintain the invariant of resources being revalidated never 16606 being in cache. This fixes another assertion I saw on LexisNexis search: in rare cases, 16607 switchClientsToRevalidatedResource() results in the same resource being requested again, 16608 but we were only enforcing CachedResource invariants after calling this function. 16609 (WebCore::CachedResource::unregisterHandle): Assert that the counter doesn't underflow. 16610 16611 * loader/DocLoader.cpp: (WebCore::DocLoader::removeCachedResource): Assert that the passed 16612 resource is removed, not some other resource that happens to have the same URL (this used to 16613 fail on LexisNexis search before this patch). 16614 16615 * loader/ImageDocument.cpp: (WebCore::ImageTokenizer::write): Replaced ASSERT_NOT_REACHED 16616 with notImplemented(). This method can be legally called via document.write(), and should 16617 work. LexisNexis takes this code path, but apparently has a fallback for Safari, so it 16618 doesn't affect site functionality. 16619 16620 * loader/CachedResource.cpp: 16621 (WebCore::CachedResource::clearResourceToRevalidate): Don't assert that m_resourceToRevalidate 16622 is being revalidated - this may no longer be true, because we now reset this member in 16623 CachedResource::setInCache(). 16624 16625 2009-04-27 Dan Bernstein <mitz (a] apple.com> 16626 16627 Reviewed by Sam Weinig. 16628 16629 - make BidiContext a RefCounted class, starting with a refcount of 1, 16630 and share the root BidiContexts. 16631 16632 * platform/graphics/GraphicsContext.cpp: 16633 (WebCore::GraphicsContext::drawBidiText): Use BidiContext::create(). 16634 * platform/text/BidiContext.cpp: 16635 (WebCore::BidiContext::create): Added. For the four "root" contexts, 16636 returns a reference to a shared static BidiContext. 16637 * platform/text/BidiContext.h: 16638 (WebCore::BidiContext::BidiContext): 16639 * platform/text/BidiResolver.h: 16640 (WebCore::::commitExplicitEmbedding): Use BidiContext::create(). 16641 * rendering/bidi.cpp: 16642 (WebCore::RenderBlock::determineStartPosition): Ditto. 16643 16644 2009-04-27 Jan Michael Alonzo <jmalonzo (a] webkit.org> 16645 16646 Rubber-stamped by Gustavo Noronha. 16647 16648 Build fix for r42893: change GDK_exclaim to GDK_exclam 16649 16650 * platform/chromium/KeyCodeConversionGtk.cpp: 16651 (WebCore::windowsKeyCodeForKeyEvent): 16652 * platform/gtk/KeyEventGtk.cpp: 16653 (WebCore::windowsKeyCodeForKeyEvent): 16654 16655 2009-04-27 Fumitoshi Ukai <ukai (a] google.com> 16656 16657 Reviewed by Xan Lopez. 16658 16659 Fix wrong key code conversion. 16660 16661 Missing conversion for GDK_exlaim ('!'). 16662 Parens are opposite: GDK_parenleft is open paren '(' 16663 and GDK_parenright is close paren ')'. 16664 https://bugs.webkit.org/show_bug.cgi?id=25367 16665 16666 * platform/chromium/KeyCodeConversionGtk.cpp: 16667 (WebCore::windowsKeyCodeForKeyEvent): 16668 * platform/gtk/KeyEventGtk.cpp: 16669 (WebCore::windowsKeyCodeForKeyEvent): 16670 16671 2009-04-27 Jan Michael Alonzo <jmalonzo (a] webkit.org> 16672 16673 Reviewed by Gustavo Noronha. 16674 16675 [Gtk] gtkdrawing update 16676 https://bugs.webkit.org/show_bug.cgi?id=25408 16677 16678 Update to the 25 Apr 2009 version of gtk2drawing.c and 16679 gtkdrawing.h from Mozilla (http://hg.mozilla.org/mozilla-central) 16680 16681 * platform/gtk/gtk2drawing.c: 16682 (setup_widget_prototype): 16683 (moz_gtk_get_combo_box_entry_arrow): 16684 (ensure_toolbar_widget): 16685 (ensure_tree_header_cell_widget): 16686 (moz_gtk_init): 16687 (moz_gtk_button_get_inner_border): 16688 (moz_gtk_toggle_paint): 16689 (moz_gtk_caret_paint): 16690 (moz_gtk_entry_paint): 16691 (moz_gtk_tree_header_cell_paint): 16692 (moz_gtk_combo_box_paint): 16693 (moz_gtk_toolbar_separator_paint): 16694 (moz_gtk_menu_separator_paint): 16695 (moz_gtk_get_widget_border): 16696 (moz_gtk_get_tab_scroll_arrow_size): 16697 (moz_gtk_get_toolbar_separator_width): 16698 (moz_gtk_get_menu_separator_height): 16699 (moz_gtk_widget_paint): 16700 (moz_gtk_shutdown): 16701 * platform/gtk/gtkdrawing.h: 16702 16703 2009-04-27 Ariya Hidayat <ariya.hidayat (a] nokia.com> 16704 16705 Reviewed by Tor Arne Vestb. 16706 16707 https://bugs.webkit.org/show_bug.cgi?id=18475 16708 16709 [Qt] Widget painting should follow the layout direction (LTR, RTL) 16710 of the element style, not the application layout direction. 16711 16712 * platform/qt/RenderThemeQt.cpp: 16713 (WebCore::RenderThemeQt::applyTheme): 16714 16715 2009-04-26 Sam Weinig <sam (a] webkit.org> 16716 16717 Reviewed by Dan Bernstein. 16718 16719 Fix for https://bugs.webkit.org/show_bug.cgi?id=25412 16720 The Window object should be an EventTarget 16721 16722 Test: fast/dom/Window/dispatchEvent.html 16723 16724 * bindings/js/JSEventTarget.cpp: 16725 (WebCore::toJS): Add DOMWindow case. 16726 (WebCore::toEventTarget): Ditto. 16727 16728 * dom/EventTarget.cpp: 16729 (WebCore::EventTarget::toDOMWindow): Added. 16730 * dom/EventTarget.h: 16731 16732 * page/DOMWindow.cpp: 16733 (WebCore::DOMWindow::scriptExecutionContext): Added. Returns the document. 16734 (WebCore::DOMWindow::dispatchEvent): Added. 16735 * page/DOMWindow.h: 16736 (WebCore::DOMWindow::toDOMWindow): 16737 (WebCore::DOMWindow::refEventTarget): 16738 (WebCore::DOMWindow::derefEventTarget): 16739 * page/DOMWindow.idl: 16740 16741 2009-04-26 Sam Weinig <sam (a] webkit.org> 16742 16743 Reviewed by Eric Seidel. 16744 16745 Remove scons-based build system. 16746 16747 * WebCore.scons: Removed. 16748 16749 2009-04-26 Darin Adler <darin (a] apple.com> 16750 16751 Suggested by Darin Fisher. 16752 16753 Improve the fix for bug 25355: Crash when Creating New Tab or New Window when set to open Same Page 16754 https://bugs.webkit.org/show_bug.cgi?id=25355 16755 rdar://problem/6823543 16756 16757 * loader/FrameLoader.cpp: 16758 (WebCore::FrameLoader::loadItem): Allow shouldScroll to be true even if m_currentHistoryItem is 0. 16759 Not sure if when this case can really arise in practice, but it's good to match the original 16760 logic more closely. 16761 16762 2009-04-25 Dirk Schulze <krit (a] webkit.org> 16763 16764 Reviewed by Oliver Hunt. 16765 16766 A width or height of zero for the destination or source rect of an 16767 image causes a not invertible pattern matrix. 16768 This crahes newer versions of Cairo and give some graphic gliches in 16769 Canvas. 16770 With this patch we check if there is something to draw and return if not. 16771 16772 * platform/graphics/cairo/ImageCairo.cpp: 16773 (WebCore::BitmapImage::draw): 16774 16775 2009-04-25 Simon Fraser <simon.fraser (a] apple.com> 16776 16777 Reviewed by Darin Adler 16778 16779 https://bugs.webkit.org/show_bug.cgi?id=25390 16780 16781 Fix point mapping and hit testing through transforms and perspective 16782 with ENABLE_3D_RENDERING. Previously the code did the more efficient 16783 move(), rather than getTransformFromContainer(), when the object had 16784 no transform. However, this skipped the application of perspective 16785 when the immediate child of the perspective element had no transform 16786 itself. 16787 16788 Test: transforms/3d/point-mapping/3d-point-mapping-3.html 16789 16790 * rendering/RenderBox.cpp: 16791 (WebCore::RenderBox::mapLocalToContainer): 16792 (WebCore::RenderBox::mapAbsoluteToLocalPoint): 16793 * rendering/RenderLayer.cpp: 16794 (WebCore::RenderLayer::createLocalTransformState): 16795 Call shouldUseTransformFromContainer() to determine if we need to 16796 go through the more expensive getTransformFromContainer() code 16797 path. 16798 16799 * rendering/RenderObject.h: 16800 * rendering/RenderObject.cpp: 16801 (WebCore::RenderObject::shouldUseTransformFromContainer): 16802 New method that indicates whether we need use getTransformFromContainer() 16803 when mapping points through renderers, and hit testing. 16804 16805 2009-04-25 Adele Peterson <adele (a] apple.com> 16806 16807 Reviewed by Oliver Hunt. 16808 16809 Fix for <rdar://problem/6712771> REGRESSION(34681): Text is no longer underlined after delete 16810 https://bugs.webkit.org/show_bug.cgi?id=25396 16811 16812 Test: editing/deleting/delete-br-013.html 16813 16814 * editing/CompositeEditCommand.cpp: (WebCore::CompositeEditCommand::moveParagraphs): 16815 Only preserve an empty paragraph's style when moving paragraphs around if the selection is still 16816 in an empty paragraph after the move occurs. This was causing the empty paragraph's style to overwrite 16817 the previous paragraph's style during a delete of an empty paragraph. 16818 16819 2009-04-25 Eric Carlson <eric.carlson (a] apple.com> 16820 16821 Reviewed by Darin Adler. 16822 16823 <rdar://problem/6808171> REGRESSION (3-4): Standalone media documents don't 16824 properly display non-linear media 16825 16826 If a media engine claims it can support the MIME type, WebCore now creates a <video> 16827 element for document mode media files instead of an <embed> element. Because WebCore's 16828 QuickTime backed media players do not support every kind of media the QuickTime plug-in 16829 supports, and because it is not always possible to tell what type of media is in a file 16830 without opening and parsing it, some types of media that used to be displayed properly 16831 by a plug-in are no longer supported properly. To fix this, if the media engine 16832 sees that it can not completely support a media file it now informs the media 16833 document, which replaces the <video> element with an <embed>. 16834 16835 r42301 landed support for OSX. This patch modifies those changes slighly and adds support 16836 for Windows. 16837 16838 * loader/MediaDocument.cpp: 16839 (WebCore::MediaDocument::MediaDocument): Initialize m_replaceMediaElementTimer. 16840 (WebCore::MediaDocument::mediaElementSawUnsupportedTracks): Don't replace the <video> 16841 element immediately. 16842 (WebCore::MediaDocument::replaceMediaElementTimerFired): Renamed from replaceVideoWithEmbed. 16843 Set body margin-width and margin-height to 0 as that is what a PluginDocument uses. 16844 * loader/MediaDocument.h: 16845 16846 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 16847 (WebCore::MediaPlayerPrivate::loadStateChanged): Don't do anything if m_hasUnsupportedTracks. 16848 (WebCore::MediaPlayerPrivate::rateChanged): Ditto. 16849 (WebCore::MediaPlayerPrivate::timeChanged): Ditto. 16850 (WebCore::MediaPlayerPrivate::didEnd): Ditto. 16851 (WebCore::MediaPlayerPrivate::repaint): Ditto. 16852 (WebCore::MediaPlayerPrivate::paint): Ditto. 16853 (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): Set m_hasUnsupportedTracks before callback. 16854 16855 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 16856 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_totalTrackCount and m_hasUnsupportedTracks. 16857 (WebCore::MediaPlayerPrivate::updateStates): Call sawUnsupportedTracks if the movie has unsupported 16858 media type(s) or if it fails completely. 16859 (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): New, disable the movie object and tell the 16860 media player client we won't play this movie correctly. 16861 (WebCore::MediaPlayerPrivate::didEnd): Don't do anything if m_hasUnsupportedTracks. 16862 (WebCore::MediaPlayerPrivate::setSize): Ditto. 16863 (WebCore::MediaPlayerPrivate::setVisible): Ditto. 16864 (WebCore::MediaPlayerPrivate::paint): Ditto. 16865 (WebCore::MediaPlayerPrivate::movieEnded): Ditto. 16866 (WebCore::MediaPlayerPrivate::movieLoadStateChanged): Ditto. 16867 (WebCore::MediaPlayerPrivate::movieTimeChanged): Ditto. 16868 (WebCore::MediaPlayerPrivate::movieNewImageAvailable): Ditto. 16869 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 16870 16871 * platform/graphics/win/QTMovieWin.cpp: 16872 (QTMovieWinPrivate::task): Stop the task timer if we were disabled during the load state 16873 change callback. 16874 (QTMovieWinPrivate::drawingComplete): Don't do anything if disabled. 16875 (QTMovieWin::QTMovieWin): Initialize m_disabled. 16876 (QTMovieWin::disableUnsupportedTracks): Return total number of tracks. 16877 (QTMovieWin::setDisabled): New, set m_disabled flag. 16878 * platform/graphics/win/QTMovieWin.h: 16879 16880 2009-04-25 Jan Michael Alonzo <jmalonzo (a] webkit.org> 16881 16882 Reviewed by Xan Lopez. 16883 16884 [GTK] Error reporting 16885 https://bugs.webkit.org/show_bug.cgi?id=18344 16886 16887 Fix the SOUP resource handle to report SOUP_HTTP_ERROR for Soup 16888 errors and G_IO_ERROR for gio errors. 16889 16890 * platform/network/soup/ResourceHandleSoup.cpp: 16891 (WebCore::finishedCallback): 16892 (WebCore::ResourceHandle::startHttp): 16893 (WebCore::ResourceHandle::start): 16894 (WebCore::readCallback): 16895 (WebCore::openCallback): 16896 (WebCore::queryInfoCallback): 16897 (WebCore::ResourceHandle::startGio): 16898 16899 2009-04-25 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 16900 16901 Reviewed by Mark Rowe. 16902 16903 Only set the new URL once for the request. Doing it a second time 16904 after the call to willSendRequest was causing crashes when 16905 redirected requests got cancelled. 16906 16907 * platform/network/soup/ResourceHandleSoup.cpp: 16908 (WebCore::restartedCallback): 16909 16910 2009-04-24 Kevin Ollivier <kevino (a] theolliviers.com> 16911 16912 wx build fix. Adding ScriptEventListener.cpp. 16913 16914 * WebCoreSources.bkl: 16915 16916 2009-04-24 Sergio Garca-Cuevas <sergio_gcg (a] telefonica.net> 16917 16918 Reviewed by Gustavo Noronha. 16919 16920 https://bugs.webkit.org/show_bug.cgi?id=17267 16921 [GTK] Primary selection/clipboard support 16922 16923 Copy the link location to the primary selection as well as the 16924 clipboard selection when using the "copy link selection" context 16925 menu entry. 16926 16927 * platform/gtk/PasteboardGtk.cpp: 16928 (WebCore::Pasteboard::writeURL): 16929 * platform/gtk/PasteboardHelper.h: 16930 16931 2009-04-24 Eric Seidel <eric (a] webkit.org> 16932 16933 Reviewed by Simon Fraser. 16934 16935 https://bugs.webkit.org/show_bug.cgi?id=25383 16936 Changing SVG size via JS does not update CSS width/height 16937 16938 Add an ugly hack to fix CSS width/height updates from JS. 16939 16940 We can't easily call setAttribute when width/height changes 16941 as that would cause infinite recursion (as we'd try to set 16942 the animation storage from the attributes) 16943 16944 For now, when we get notification that JS changed width/height 16945 we copy what parseMappedAttribute does and update the CSS values as well. 16946 16947 A better fix for this would be: 16948 https://bugs.webkit.org/show_bug.cgi?id=25383 16949 16950 * svg/SVGSVGElement.cpp: 16951 (WebCore::updateCSSForAttribute): 16952 (WebCore::SVGSVGElement::svgAttributeChanged): 16953 16954 2009-04-24 Kevin McCullough <kmccullough (a] apple.com> 16955 16956 Reviewed by Dan Bernstein. 16957 16958 We should not show the deletion UI for blockquotes in mail but they do 16959 show now that we only check for one visible border. 16960 16961 * editing/DeleteButtonController.cpp: 16962 (WebCore::isDeletableElement): 16963 16964 2009-04-24 Dan Bernstein <mitz (a] apple.com> 16965 16966 - address Hyatt's review comments on the last patch 16967 16968 * rendering/RenderLayer.cpp: 16969 (WebCore::performOverlapTests): 16970 (WebCore::RenderLayer::paintLayer): 16971 16972 2009-04-24 Dan Bernstein <mitz (a] apple.com> 16973 16974 Reviewed by Dave Hyatt. 16975 16976 - fix https://bugs.webkit.org/show_bug.cgi?id=5909 16977 <rdar://problem/5863349> overlapping element leaves trail when 16978 scrolling iframe 16979 16980 * WebCore.xcodeproj/project.pbxproj: Added OverlapTestRequestClient.h. 16981 16982 * page/FrameView.cpp: 16983 (WebCore::FrameView::reset): Initialize m_isOverlapped. 16984 (WebCore::FrameView::useSlowRepaints): Also check m_isOverlapped. 16985 (WebCore::FrameView::removeSlowRepaintObject): Use useSlowRepaints() 16986 so overlapping is taken into account. 16987 (WebCore::FrameView::setIsOverlapped): Added. Sets m_isOverlapped and 16988 enables or disables copy-on-scroll accordingly. 16989 16990 * page/FrameView.h: 16991 Added setIsOverlapped() and m_isOverlapped. 16992 16993 * rendering/OverlapTestRequestClient.h: Added. During foreground painting, 16994 an OverlapTestRequestClient can make a request to test if any subsequently- 16995 painted layers overlap a rect. The test result is delivered to the 16996 requestClient via setOverlapTestResult(). 16997 (WebCore::OverlapTestRequestClient::~OverlapTestRequestClient): 16998 16999 * rendering/RenderLayer.cpp: 17000 (WebCore::RenderLayer::paint): Pass an OverlapTestRequestMap to 17001 paintLayer(). When done painting, inform any remaining requestClients that 17002 they are not overlapped. 17003 17004 (WebCore::RenderLayer::paintLayer): Take an OverlapTestRequestMap and 17005 pass it down to child and reflection layers. Inform requestClients if this 17006 layer overlaps their requested rects. 17007 17008 * rendering/RenderLayer.h: 17009 17010 * rendering/RenderObject.h: 17011 (WebCore::RenderObject::PaintInfo::PaintInfo): Added an 17012 OverlapTestRequestMap member. 17013 17014 * rendering/RenderReplica.cpp: 17015 (WebCore::RenderReplica::paint): For now, pass a 0 OverlapTestRequestMap 17016 to paintLayer(). 17017 17018 * rendering/RenderWidget.cpp: 17019 (WebCore::RenderWidget::paint): For FrameViews, request an overlap test 17020 with the frame. 17021 (WebCore::RenderWidget::setOverlapTestResult): Call 17022 FrameView::setIsOverlapped() with the result of the overlap test. 17023 17024 * rendering/RenderWidget.h: Made RenderWidget an OverlapTestRequestClient. 17025 17026 2009-04-24 David Hyatt <hyatt (a] apple.com> 17027 17028 Reviewed by Simon Fraser, Dan Bernstein. 17029 17030 Speed up the PLT by devirtualizing the height() function on InlineBox. virtualizing it in order to make the height() computation dynamic caused 17031 a ~0.5% slowdown. This patch does the following to get the speed back: 17032 17033 (a) Devirtualizes isText and forces inline box creators to set the bit as needed. This actually resulted in simplified code, since ListMarkerBox could 17034 then be removed. 17035 (b) Reduces the height() call count. In some cases the code was repeatedly calling height(), which used to be fine when the function was just an inline 17036 member variable access. The call sites have been patched to cut down on extra height() calls now that it is more expensive. 17037 (c) Devirtualize height() except on SVG boxes. For all non-SVG, the height() function on InlineBox handles the computation. For SVG boxes, a new bit has 17038 been set on InlineBoxes (isSVG()) that indicates that the virtual svgBoxHeight() function should be called to retrieve the height instead. 17039 17040 * GNUmakefile.am: 17041 * WebCore.pro: 17042 * WebCore.vcproj/WebCore.vcproj: 17043 * WebCore.xcodeproj/project.pbxproj: 17044 * WebCoreSources.bkl: 17045 * rendering/InlineBox.cpp: 17046 (WebCore::InlineBox::height): 17047 * rendering/InlineBox.h: 17048 (WebCore::InlineBox::InlineBox): 17049 (WebCore::InlineBox::isSVG): 17050 (WebCore::InlineBox::setIsSVG): 17051 (WebCore::InlineBox::isText): 17052 (WebCore::InlineBox::setIsText): 17053 (WebCore::InlineBox::svgBoxHeight): 17054 * rendering/InlineFlowBox.cpp: 17055 (WebCore::InlineFlowBox::placeBoxesVertically): 17056 (WebCore::InlineFlowBox::paintBoxDecorations): 17057 (WebCore::InlineFlowBox::paintMask): 17058 * rendering/InlineFlowBox.h: 17059 * rendering/InlineTextBox.cpp: 17060 * rendering/InlineTextBox.h: 17061 * rendering/ListMarkerBox.cpp: Removed. 17062 * rendering/ListMarkerBox.h: Removed. 17063 * rendering/RenderListMarker.cpp: 17064 (WebCore::RenderListMarker::createInlineBox): 17065 * rendering/RenderSVGInline.cpp: 17066 (WebCore::RenderSVGInline::createFlowBox): 17067 * rendering/RenderSVGInlineText.cpp: 17068 (WebCore::RenderSVGInlineText::createTextBox): 17069 * rendering/RenderSVGText.cpp: 17070 (WebCore::RenderSVGText::createRootBox): 17071 * rendering/RenderText.cpp: 17072 (WebCore::RenderText::createInlineTextBox): 17073 * rendering/RootInlineBox.cpp: 17074 * rendering/RootInlineBox.h: 17075 * rendering/SVGInlineFlowBox.h: 17076 (WebCore::SVGInlineFlowBox::svgBoxHeight): 17077 * rendering/SVGInlineTextBox.h: 17078 (WebCore::SVGInlineTextBox::svgBoxHeight): 17079 * rendering/SVGRootInlineBox.h: 17080 (WebCore::SVGRootInlineBox::svgBoxHeight): 17081 17082 2009-04-24 Dimitri Glazkov <dglazkov (a] chromium.org> 17083 17084 Reviewed by Eric Seidel. 17085 17086 https://bugs.webkit.org/show_bug.cgi?id=25370 17087 Introduce ScriptEventListener to refactor away direct references to 17088 JSLazyEventListener in WebCore code. 17089 17090 * GNUmakefile.am: Added ScriptEventListener to project. 17091 * WebCore.pro: Ditto. 17092 * WebCore.vcproj/WebCore.vcproj: Ditto. 17093 * WebCore.xcodeproj/project.pbxproj: Ditto. 17094 * bindings/js/JSDOMGlobalObject.cpp: Removed unused JSLazyEventListener include. 17095 * bindings/js/JSLazyEventListener.cpp: Moved createAttributeEventListener helpers 17096 to ScriptEventListener. 17097 * bindings/js/JSLazyEventListener.h: Ditto. 17098 * bindings/js/ScriptController.cpp: Removed unused JSLazyEventListener include. 17099 * bindings/js/ScriptEventListener.cpp: Added. 17100 * bindings/js/ScriptEventListener.h: Added. 17101 * bindings/v8/ScriptEventListener.cpp: Added. 17102 * bindings/v8/ScriptEventListener.h: Added. 17103 * dom/Document.cpp: Renamed JSLazyEventListener include to ScriptEventListener. 17104 * html/HTMLBodyElement.cpp: Ditto. 17105 * html/HTMLButtonElement.cpp: Ditto. 17106 * html/HTMLElement.cpp: Ditto. 17107 * html/HTMLFormElement.cpp: Ditto. 17108 * html/HTMLFrameElementBase.cpp: Ditto. 17109 * html/HTMLFrameSetElement.cpp: Ditto. 17110 * html/HTMLImageElement.cpp: Ditto. 17111 * html/HTMLInputElement.cpp: Ditto. 17112 * html/HTMLObjectElement.cpp: Ditto. 17113 * html/HTMLScriptElement.cpp: Ditto. 17114 * html/HTMLSelectElement.cpp: Ditto. 17115 * html/HTMLTextAreaElement.cpp: Ditto. 17116 * svg/SVGElement.cpp: Ditto. 17117 * svg/SVGSVGElement.cpp: Ditto. 17118 17119 2009-04-24 Darin Adler <darin (a] apple.com> 17120 17121 Reviewed by Sam Weinig. 17122 17123 Bug 25355: Crash when Creating New Tab or New Window when set to open Same Page 17124 https://bugs.webkit.org/show_bug.cgi?id=25355 17125 rdar://problem/6823543 17126 17127 * loader/FrameLoader.cpp: 17128 (WebCore::FrameLoader::loadItem): Added a null check. 17129 17130 2009-04-24 Eric Seidel <eric (a] webkit.org> 17131 17132 Reviewed by Simon Fraser. 17133 17134 Fix RenderSVGImage to dump with full bounds and style information. 17135 https://bugs.webkit.org/show_bug.cgi?id=25377 17136 17137 No functional changes, we're just now including more info in render tree dumps. 17138 17139 * rendering/RenderObject.h: 17140 (WebCore::RenderObject::isSVGImage): 17141 * rendering/RenderSVGImage.h: 17142 (WebCore::RenderSVGImage::isSVGImage): 17143 * rendering/RenderTreeAsText.cpp: 17144 (WebCore::write): 17145 * rendering/SVGRenderTreeAsText.cpp: 17146 (WebCore::operator<<): 17147 (WebCore::write): 17148 * rendering/SVGRenderTreeAsText.h: 17149 17150 2009-04-24 David Levin <levin (a] chromium.org> 17151 17152 Reviewed by NOBODY (chromium build fix). 17153 17154 Rename "isInline" => "isAttribute" in v8 bindings (jsc was done in r42699). 17155 17156 * bindings/v8/V8AbstractEventListener.cpp: 17157 (WebCore::V8AbstractEventListener::V8AbstractEventListener): 17158 (WebCore::V8AbstractEventListener::invokeEventHandler): 17159 * bindings/v8/V8AbstractEventListener.h: 17160 * bindings/v8/V8EventListenerList.cpp: 17161 (WebCore::V8EventListenerList::add): 17162 (WebCore::V8EventListenerList::remove): 17163 (WebCore::V8EventListenerList::clear): 17164 * bindings/v8/V8LazyEventListener.h: 17165 (WebCore::V8LazyEventListener::virtualisAttribute): 17166 * bindings/v8/custom/V8CustomEventListener.cpp: 17167 (WebCore::V8EventListener::V8EventListener): 17168 * bindings/v8/custom/V8CustomEventListener.h: 17169 (WebCore::V8EventListener::create): 17170 (WebCore::V8EventListener::virtualisAttribute): 17171 17172 2009-04-24 Nate Chapin <japhet (a] google.com> 17173 17174 Reviewed by Dimitri Glazkov. 17175 17176 https://bugs.webkit.org/show_bug.cgi?id=25343 17177 Fix Chromium/Skia bug where -webkit-box-shadow with 0,0 offset 17178 ignores blur. 17179 17180 * WebCore\platform\graphics\skia\GraphicsContextSkia.cpp 17181 (WebCore::GraphicsContext::setPlatformShadow): Add check against 17182 blur before clearing looper. 17183 17184 2009-04-24 Eric Roman <eroman (a] chromium.org> 17185 17186 Reviewed by Darin Adler. 17187 17188 Initialize TextIterator::m_textLength to 0. 17189 17190 This assures that TextIterator::length() will return 0 for cases when TextIterator's constructor returns early (because there is nothing to iterate over in the range). 17191 17192 <https://bugs.webkit.org/show_bug.cgi?id=25335> 17193 17194 Test: editing/selection/doubleclick-whitespace-img-crash.html 17195 17196 * editing/TextIterator.cpp: 17197 (WebCore::TextIterator::TextIterator): 17198 17199 2009-04-24 Fumitoshi Ukai <ukai (a] google.com> 17200 17201 Reviewed by Dimitri Glazkov. 17202 17203 https://bugs.webkit.org/show_bug.cgi?id=25329 17204 Add indexed access method in v8 binding of ClientRectList. 17205 17206 * bindings/v8/custom/V8ClientRectListCustom.cpp: Added. 17207 17208 2009-04-24 Fumitoshi Ukai <ukai (a] google.com> 17209 17210 Reviewed by Dimitri Glazkov. 17211 17212 https://bugs.webkit.org/show_bug.cgi?id=25257 17213 Use null for unspecified event listener attributes of XMLHttpRequest 17214 and XMLHttpRequestUpload in v8 binding. 17215 17216 cf. http://www.whatwg.org/specs/web-apps/current-work/#event-handler-attributes 17217 An event handler attribute, unless otherwise specified, can either 17218 have the value null or be set to a Function object. 17219 Initially, an event handler attribute must be set to null. 17220 17221 Test: fast/xmlhttprequest/xmlhttprequest-default-attributes.html 17222 17223 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 17224 (WebCore::ACCESSOR_GETTER): Changed to use v8::Null(). 17225 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 17226 (WebCore::ACCESSOR_GETTER): Ditto. 17227 17228 2009-04-24 Darin Adler <darin (a] apple.com> 17229 17230 Reviewed by Adam Roben. 17231 17232 <rdar://problem/6663836> CrashTracer: crashes in Safari at com.apple.WebCore WebCore::reportException + 1513 17233 17234 * bindings/js/JSDOMBinding.cpp: 17235 (WebCore::reportException): Added a null check. 17236 17237 2009-04-24 Simon Fraser <simon.fraser (a] apple.com> 17238 17239 Reviewed by Darin Adler 17240 17241 https://bugs.webkit.org/show_bug.cgi?id=23219 17242 17243 Add support for transtions and animations of background-position, -webkit-background-size, 17244 -webkit-mask-position and -webkit-mask-size. 17245 17246 Tests: transitions/background-transitions.html 17247 transitions/mask-transitions.html 17248 17249 * page/animation/AnimationBase.cpp: 17250 (WebCore::blendFunc): 17251 Add a blend func for LengthSize. 17252 17253 (WebCore::ensurePropertyMap): 17254 Add wrappers for the new properties. 17255 17256 (WebCore::addShorthandProperties): 17257 Add a shorthand property for CSSPropertyBackgroundPosition to map to 17258 CSSPropertyBackgroundPositionX and CSSPropertyBackgroundPositionY, 17259 add CSSPropertyWebkitMask for CSSPropertyWebkitMaskPosition, and add 17260 CSSPropertyWebkitMaskPosition for CSSPropertyWebkitMaskPositionX and 17261 CSSPropertyWebkitMaskPositionY. 17262 17263 * rendering/style/RenderStyle.h: 17264 (WebCore::InheritedFlags::setBackgroundXPosition): 17265 (WebCore::InheritedFlags::setBackgroundYPosition): 17266 (WebCore::InheritedFlags::setBackgroundSize): 17267 (WebCore::InheritedFlags::setMaskXPosition): 17268 (WebCore::InheritedFlags::setMaskYPosition): 17269 (WebCore::InheritedFlags::setMaskSize): 17270 Add setters for the properties that can be animated now. 17271 17272 2009-04-24 Adele Peterson <adele (a] apple.com> 17273 17274 Reviewed by Darin Adler. 17275 17276 Fix for <rdar://problem/5089327> Newline gets stripped when pasting whole lines in certain markup 17277 17278 Test: editing/pasteboard/paste-blockquote-after-blockquote.html 17279 17280 When we have matching quote levels, its ok to merge the starts of the inserted and existing blocks more frequently. 17281 But we should only merge here if the selection start was inside a mail blockquote. This prevents against removing a 17282 blockquote from newly pasted quoted content that was pasted into an unquoted position. If that unquoted position happens 17283 to be right after another blockquote, we don't want to merge and risk stripping a valid block (and newline) from the pasted content. 17284 17285 * editing/ReplaceSelectionCommand.cpp: 17286 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Also added an early return to always return false when we're already moving paragraphs. 17287 (WebCore::ReplaceSelectionCommand::doApply): Removed redundant check for when we're moving paragraphs. 17288 * editing/ReplaceSelectionCommand.h: 17289 17290 2009-04-23 Francisco Tolmasky <francisco (a] 280north.com> 17291 17292 BUG 24604: WebKit profiler reports incorrect total times 17293 <https://bugs.webkit.org/show_bug.cgi?id=24604> 17294 17295 Reviewed by Timothy Hatcher and Kevin McCullough. 17296 17297 Made it so that most of the profiler functions now match the behavior of Shark. Most notably, in the 17298 heavy view, child nodes now represent the statistics of the root node. Each root node of heavy view 17299 displays flattened statistics for a particular function that ran during the profile, and each child 17300 of these root nodes represents a callpath that lead to it. Thus, the statistics for each of these child 17301 nodes should show how much of the root nodes values came from it. For example, if you had the following to 17302 stacks take place during the profile: 17303 17304 A ->calls 1 times-> B ->calls 2 times-> C 17305 D ->calls 4 times-> C 17306 17307 The tree for the C root node would look like this: 17308 17309 C -> B -> A 17310 -> D 17311 17312 The number of calls values would look like this: 17313 17314 C (6) -> B (2) -> A(2) 17315 -> D (4) 17316 17317 What this means is that "2 of the total 6 C calls came from B", "2 of the total C calls came from A", and 17318 "4 of the total C calls came from D". Notice that the "A ->calls 2 time->" is completely ignored. This becomes 17319 particularly tricky during recursive calls, because each child note can represent multiple possible paths. This 17320 is the reason that we would get things like 40000% previously with recursion. 17321 17322 This is also the way gprof works, and as close as we can get to Shark's behavior (Shark is not instrumented so it 17323 can't know exactly how many calls came from where, etc). 17324 17325 * English.lproj/localizedStrings.js: Added "Average" for average times in the profile. 17326 * inspector/JavaScriptProfile.cpp: 17327 (WebCore::ProfileClass): 17328 * inspector/JavaScriptProfileNode.cpp: 17329 (WebCore::getParent): 17330 (WebCore::getHead): 17331 (WebCore::getCallUID): 17332 (WebCore::ProfileNodeClass): 17333 * inspector/front-end/BottomUpProfileDataGridTree.js: Added. 17334 (WebInspector.BottomUpProfileDataGridTree): 17335 (WebInspector.BottomUpProfileDataGridTree.prototype.focus): 17336 (WebInspector.BottomUpProfileDataGridNode): 17337 (WebInspector.BottomUpProfileDataGridNode.prototype._takePropertiesFromProfileDataGridNode): 17338 (WebInspector.BottomUpProfileDataGridNode.prototype._keepOnlyChild): 17339 (WebInspector.BottomUpProfileDataGridNode.prototype._exclude): 17340 (WebInspector.BottomUpProfileDataGridNode.prototype._merge): 17341 (WebInspector.BottomUpProfileDataGridNode.prototype._populate): 17342 * inspector/front-end/DataGrid.js: 17343 (WebInspector.DataGrid.prototype.insertChild): 17344 (WebInspector.DataGrid.prototype.removeChild): 17345 (WebInspector.DataGrid.prototype.removeChildren): 17346 (WebInspector.DataGridNode.prototype.set hasChildren): 17347 (WebInspector.DataGridNode.prototype.get hasChildren): 17348 * inspector/front-end/ProfileDataGridTree.js: Added. 17349 (WebInspector.ProfileDataGridNode): 17350 (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds): 17351 (WebInspector.ProfileDataGridNode.prototype.get data): 17352 (WebInspector.ProfileDataGridNode.prototype.createCell): 17353 (WebInspector.ProfileDataGridNode.prototype.select): 17354 (WebInspector.ProfileDataGridNode.prototype.deselect): 17355 (WebInspector.ProfileDataGridNode.prototype.expand): 17356 (WebInspector.ProfileDataGridNode.prototype.insertChild): 17357 (WebInspector.ProfileDataGridNode.prototype.removeChild): 17358 (WebInspector.ProfileDataGridNode.prototype.removeChildren): 17359 (WebInspector.ProfileDataGridNode.prototype.findChild): 17360 (WebInspector.ProfileDataGridNode.prototype.get averageTime): 17361 (WebInspector.ProfileDataGridNode.prototype.get averagePercent): 17362 (WebInspector.ProfileDataGridNode.prototype.get selfPercent): 17363 (WebInspector.ProfileDataGridNode.prototype.get totalPercent): 17364 (WebInspector.ProfileDataGridNode.prototype._save): 17365 (WebInspector.ProfileDataGridNode.prototype._restore): 17366 (WebInspector.ProfileDataGridNode.prototype._merge): 17367 (WebInspector.ProfileDataGridTree): 17368 (WebInspector.ProfileDataGridTree.prototype.get expanded): 17369 (WebInspector.ProfileDataGridTree.prototype.appendChild): 17370 (WebInspector.ProfileDataGridTree.prototype.insertChild): 17371 (WebInspector.ProfileDataGridTree.prototype.removeChildren): 17372 (WebInspector.ProfileDataGridTree.prototype.findChild.WebInspector.ProfileDataGridNode.prototype.findChild.sort.WebInspector.ProfileDataGridNode.prototype.sort._save): 17373 (WebInspector.ProfileDataGridTree.propertyComparator.comparator): 17374 (WebInspector.ProfileDataGridTree.propertyComparator.else.comparator): 17375 (WebInspector.ProfileDataGridTree.propertyComparator): 17376 * inspector/front-end/ProfileView.js: 17377 (WebInspector.ProfileView): 17378 (WebInspector.ProfileView.prototype.set profile): 17379 (WebInspector.ProfileView.prototype.get bottomUpProfileDataGridTree): 17380 (WebInspector.ProfileView.prototype.get topDownProfileDataGridTree): 17381 (WebInspector.ProfileView.prototype.get currentTree): 17382 (WebInspector.ProfileView.prototype.set currentTree): 17383 (WebInspector.ProfileView.prototype.get topDownTree): 17384 (WebInspector.ProfileView.prototype.get bottomUpTree): 17385 (WebInspector.ProfileView.prototype.refresh): 17386 (WebInspector.ProfileView.prototype.refreshVisibleData): 17387 (WebInspector.ProfileView.prototype.refreshShowAsPercents): 17388 (WebInspector.ProfileView.prototype.performSearch.matchesQuery): 17389 (WebInspector.ProfileView.prototype.performSearch): 17390 (WebInspector.ProfileView.prototype._changeView): 17391 (WebInspector.ProfileView.prototype._focusClicked): 17392 (WebInspector.ProfileView.prototype._excludeClicked): 17393 (WebInspector.ProfileView.prototype._resetClicked): 17394 (WebInspector.ProfileView.prototype._sortProfile): 17395 * inspector/front-end/ProfilesPanel.js: 17396 (WebInspector.ProfilesPanel.prototype.showProfile): 17397 (WebInspector.ProfilesPanel.prototype.showView): 17398 (WebInspector.ProfilesPanel.prototype.searchMatchFound): 17399 * inspector/front-end/TopDownProfileDataGridTree.js: Added. 17400 (WebInspector.TopDownProfileDataGridNode): 17401 (WebInspector.TopDownProfileDataGridNode.prototype._populate): 17402 (WebInspector.TopDownProfileDataGridNode.prototype._exclude): 17403 (WebInspector.TopDownProfileDataGridTree): 17404 (WebInspector.TopDownProfileDataGridTree.prototype.focus): 17405 (WebInspector.TopDownProfileDataGridTree.prototype.exclude): 17406 * inspector/front-end/WebKit.qrc: 17407 * inspector/front-end/inspector.css: 17408 * inspector/front-end/inspector.html: 17409 17410 2009-04-23 Eric Seidel <eric (a] webkit.org> 17411 17412 Reviewed by Sam Weinig. 17413 17414 Use static functions (and a couple templates) 17415 to further reduce the amount of copy/paste code in SVGRenderTreeAsText 17416 17417 No test changes, only code cleanup. 17418 17419 * rendering/SVGRenderTreeAsText.cpp: 17420 (WebCore::writeNameValuePair): 17421 (WebCore::writeNameAndQuotedValue): 17422 (WebCore::writeIfNotEmpty): 17423 (WebCore::writeIfNotDefault): 17424 (WebCore::writeStyle): 17425 (WebCore::writePositionAndStyle): 17426 (WebCore::operator<<): 17427 17428 2009-04-23 Eric Seidel <eric (a] webkit.org> 17429 17430 Reviewed by Simon Fraser. 17431 17432 SVGRenderTreeAsText cleanup/code sharing. 17433 17434 No test changes, only code cleanup. 17435 17436 * rendering/RenderText.cpp: 17437 (WebCore::RenderText::firstRunOrigin): 17438 * rendering/RenderText.h: 17439 * rendering/SVGRenderTreeAsText.cpp: 17440 (WebCore::writeStandardPrefix): 17441 (WebCore::writeChildren): 17442 (WebCore::write): 17443 (WebCore::writeRenderResources): 17444 17445 2009-04-23 Beth Dakin <bdakin (a] apple.com> 17446 17447 Reviewed by Darin Adler. 17448 17449 WebCore part of fix for <rdar://problem/6333461> REGRESSION 17450 (r36864-r36869): Dragging stocks widget scrollbar drags the whole 17451 widget 17452 17453 * platform/Scrollbar.h: 17454 (WebCore::Scrollbar::isScrollbar): 17455 * platform/Widget.h: 17456 (WebCore::Widget::isScrollbar): 17457 17458 2009-04-23 Kevin McCullough <kmccullough (a] apple.com> 17459 17460 Reviewed by Adam Roben. 17461 17462 <rdar://problem/6808109> "Deletion UI" is not available for many 17463 portions of HTML content 17464 17465 This patch makes the deletion UI show up in some new situations: 17466 1) If a block's background color is different from its parent's 17467 2) If a block has a background image. 17468 3) If a block has a single visible border. 17469 However the block must now not only be at least a minimum width and 17470 height, but also exceed a minimum area. In practice this has led to 17471 much better element selection. 17472 17473 * editing/DeleteButtonController.cpp: 17474 (WebCore::isDeletableElement): 17475 17476 2009-04-23 Kevin Ollivier <kevino (a] theolliviers.com> 17477 17478 wx build fix. Adding XMLTokenizerScope.cpp to the build. 17479 17480 * WebCoreSources.bkl: 17481 17482 2009-04-23 Adele Peterson <adele (a] apple.com> 17483 17484 Reviewed by Darin Adler. 17485 17486 Fix for <rdar://problem/6788905> REGRESSION (41928?): hang in Position::upstream 17487 https://bugs.webkit.org/show_bug.cgi?id=25312 17488 17489 I was unable to reproduce the problem, but I'm pretty sure this will fix it. 17490 17491 * rendering/RenderObject.cpp: (WebCore::RenderObject::createVisiblePosition): 17492 Since VisiblePosition doesn't ensure the offset is good, we shouldn't pass max int as an offset. 17493 17494 2009-04-23 Dimitri Glazkov <dglazkov (a] chromium.org> 17495 17496 Reviewed by Darin Adler. 17497 17498 https://bugs.webkit.org/show_bug.cgi?id=25313 17499 Missing scroll bars in GMail. 17500 17501 Test: fast/overflow/overflow-y-scroll.html 17502 17503 * platform/ScrollView.cpp: 17504 (WebCore::ScrollView::updateScrollbars): Added check for the ScrollbarAlwaysOn 17505 scroll mode. 17506 17507 2009-04-23 Dan Bernstein <mitz (a] apple.com> 17508 17509 Reviewed by Justin Garcia. 17510 17511 - fix <rdar://problem/6081309> Mail crash when pressing down arrow in 17512 some messages in WebCore::canHaveChildrenForEditing 17513 17514 Test: editing/selection/extend-by-line-anonymous-content-crash.html 17515 17516 * editing/visible_units.cpp: 17517 (WebCore::previousLinePosition): Null-check node. If p is not an 17518 editable position, then closestLeafChildForXPos() may have returned a 17519 non-editable box, and in particular one belonging to anonymous content. 17520 If node is 0, fall back on RenderObject::positionForPoint, which 17521 finds the closest position in non-anonymous content. 17522 (WebCore::nextLinePosition): Ditto. 17523 * rendering/RenderObject.cpp: 17524 (WebCore::RenderObject::createVisiblePosition): Fixed a typo. 17525 17526 2009-04-23 Alexey Proskuryakov <ap (a] webkit.org> 17527 17528 Reviewed by Adele Peterson. 17529 17530 <rdar://problem/6791439> REGRESSION: Get an error page instead of login page navigating back in gmail 17531 17532 Test: http/tests/history/back-to-post.php 17533 17534 * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): 17535 Apply a new cache policy if it changed after the platform request was first created. 17536 While at it, also made sure to update timeout. 17537 17538 2009-04-23 Zan Dobersek <zandobersek (a] gmail.com> 17539 17540 Reviewed by Gustavo Noronha. 17541 17542 When creating a new drawable object, collect system's 17543 information about the best depth it can provide and use it 17544 in a new colormap that the new drawable requires. 17545 17546 * platform/graphics/gtk/ImageGtk.cpp: 17547 (WebCore::BitmapImage::getGdkPixbuf): 17548 17549 2009-04-23 Zan Dobersek <zandobersek (a] gmail.com> 17550 17551 Reviewed by Gustavo Noronha. 17552 17553 https://bugs.webkit.org/show_bug.cgi?id=15654 17554 GdkPixbuf support for ImageCairo 17555 17556 Add support for converting a Cairo surface to a GdkPixbuf. 17557 17558 * platform/graphics/BitmapImage.h: 17559 * platform/graphics/Image.h: 17560 (WebCore::Image::getGdkPixbuf): 17561 * platform/graphics/gtk/ImageGtk.cpp: 17562 (WebCore::BitmapImage::getGdkPixbuf): 17563 17564 2009-04-23 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 17565 17566 Reviewed by Simon Hausmann. 17567 17568 Make windowed plugins (on X11, Qt) behave nicer with wheel scrolling. 17569 17570 Basically, what we want is to send wheel events to the plugin *only* 17571 when it has focus, or else send it to the parent frame. 17572 17573 This is a work around, and basically what we do, is to steal the 17574 wheel events from the plugin, modify the window ID, and put the 17575 event back into the Qt event loop. 17576 17577 * plugins/qt/PluginContainerQt.cpp: 17578 (PluginClientWrapper::PluginClientWrapper): 17579 (PluginClientWrapper::~PluginClientWrapper): 17580 (PluginClientWrapper::x11Event): 17581 (PluginContainerQt::PluginContainerQt): 17582 (PluginContainerQt::~PluginContainerQt): 17583 (PluginContainerQt::on_clientClosed): 17584 (PluginContainerQt::on_clientIsEmbedded): 17585 (PluginContainerQt::redirectWheelEventsToParent): 17586 (PluginContainerQt::x11Event): 17587 (PluginContainerQt::focusInEvent): 17588 * plugins/qt/PluginContainerQt.h: 17589 17590 2009-04-22 Brady Eidson <beidson (a] apple.com> 17591 17592 Reviewed by Maciej Stachowiak 17593 17594 <rdar://problem/6786961> - "Are you sure you want to resubmit this form?" nag displays twice. 17595 17596 For most loads, we were consulting the navigation policy delegate twice. Once from FrameLoader before 17597 the load started and once from MainResourceLoader in its willSendRequest callback. 17598 17599 In the past we tried removing MainResourceLoader's call altogether. This caused a regression where urls 17600 that redirect to a url handled by an external application would no longer work in Safari. It probably 17601 also broke other WebKit apps in subtle ways. 17602 17603 Changing MainResourceLoader to make the check only on redirects fixes both bugs. We now only call the 17604 policy delegate once for most standard loads, but we do correctly call it a second time for redirects. 17605 17606 Tests: http/tests/misc/policy-delegate-called-twice.html 17607 http/tests/misc/redirect-to-external-url.html 17608 17609 * loader/MainResourceLoader.cpp: 17610 (WebCore::MainResourceLoader::willSendRequest): Call the navigation policy delegate only for redirects. 17611 17612 2009-04-22 Sam Weinig <sam (a] webkit.org> 17613 17614 Reviewed by Mark Rowe. 17615 17616 Fix for <rdar://problem/6800695> 17617 17618 Add a hack to only allow navigating (via a link from a http page) 17619 to feed: urls (same for feeds: and feedsearch:) that map to http: 17620 or https: via their nested protocol. This includes both feed://example.com 17621 and feed:http://example.com. 17622 17623 * loader/FrameLoader.cpp: 17624 (WebCore::isFeedWithNestedProtocolInHTTPFamily): 17625 (WebCore::FrameLoader::loadFrameRequest): 17626 17627 2009-04-22 Sam Weinig <sam (a] webkit.org> 17628 17629 Reviewed by Anders Carlsson. 17630 17631 Autogenerate the XMLHttpRequest constructor getter/setter for the 17632 WorkerContext and remove the now no longer needed JSWorkerContextBase.lut.h 17633 file. 17634 17635 * DerivedSources.make: Remove JSWorkerContextBase.lut.h 17636 * WebCore.xcodeproj/project.pbxproj: Ditto. 17637 17638 * bindings/js/JSWorkerContextBase.cpp: 17639 * bindings/js/JSWorkerContextBase.h: Remove code to support hand written 17640 code for XMLHttpRequest constructor lookup and shadowing. 17641 17642 * bindings/js/JSWorkerContextCustom.cpp: 17643 (WebCore::JSWorkerContext::customGetOwnPropertySlot): Remove JSC prefixes. 17644 (WebCore::JSWorkerContext::xmlHttpRequest): Added. Custom implementation of 17645 cached constructor lookup. 17646 * workers/WorkerContext.idl: Make the XMLHttpRequestConstructor accessor not 17647 V8 specific. 17648 17649 2009-04-22 Darin Adler <darin (a] apple.com> 17650 17651 * page/Navigator.idl: Touch this file to fix build since Geolocation 17652 configuration was recently turned off. 17653 17654 2009-04-22 Justin Garcia <justin.garcia (a] apple.com> 17655 17656 Reviewed by Darin Adler. 17657 17658 https://bugs.webkit.org/show_bug.cgi?id=25322 17659 Can't delete empty paragraph after a block image 17660 17661 Empty paragraph removal would have been handled by mergeParagraphs, but we stopped short 17662 because of some code that avoided problems that would arise from Positions that would go 17663 bad during deletion. 17664 17665 We have several checks that prevent us from using bad Positions, this one in particular 17666 was added to avoid bad Positions that result from text removal. So, I removed the check 17667 and started correctly updating m_downstreamEnd during text removal so that it doesn't go 17668 bad. m_upstreamStart doesn't need to be updated during text removal, since only text 17669 after it will ever be removed. 17670 17671 * editing/DeleteSelectionCommand.cpp: 17672 (WebCore::DeleteSelectionCommand::deleteTextFromNode): 17673 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 17674 (WebCore::DeleteSelectionCommand::mergeParagraphs): 17675 17676 2009-04-22 Oliver Hunt <oliver (a] apple.com> 17677 17678 Reviewed by Darin Adler. 17679 17680 <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves 17681 17682 Make mouseUp target the correct frame when the original 17683 mousedown made the drag non-capturing. 17684 17685 * page/mac/EventHandlerMac.mm: 17686 (WebCore::EventHandler::passSubframeEventToSubframe): 17687 17688 2009-04-22 Oliver Hunt <oliver (a] apple.com> 17689 17690 Reviewed by Darin Adler. 17691 17692 <rdar://problem/6757346> SAP: Prevent default on mouseDown does not stop iframe from capturing subsequent mouse moves 17693 17694 This is the first step of allowing drag events to match the behaviour 17695 of mouse move events when the default action of the initial mouse down 17696 is prevented. Remaining issue is that the final mouse up event still 17697 targets the original root frame. 17698 17699 Test: fast/events/mouse-drag-from-frame-to-other-frame.html 17700 17701 * page/mac/EventHandlerMac.mm: 17702 (WebCore::EventHandler::passSubframeEventToSubframe): 17703 17704 2009-04-22 Simon Fraser <simon.fraser (a] apple.com> 17705 17706 Reviewed by Adele Peterson 17707 17708 <rdar://problem/6702882> QT movie's video fails to be displayed after switching between tabs 17709 <rdar://problem/6754957> Resizing Web browser window and hitting play will cause video blocks and artifacting 17710 17711 When in a media document, MediaPlayerPrivateQTKit uses a QTMovieView which may get 17712 layer backing under some circumstances. However, drawing the view via 17713 displayRectIgnoringOpacity:inContext: bypasses any layer setup that AppKit normally performs. 17714 So when in the media document, we draw via displayRectIgnoringOpacity:. 17715 17716 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 17717 (WebCore::MediaPlayerPrivate::paint): 17718 17719 2009-04-22 Timothy Hatcher <timothy (a] apple.com> 17720 17721 Fix a crash in Mail when forwarding a specific HTML email. 17722 Caused by the fix for <rdar://problem/6512520> (r42096). 17723 Unable to create a test case that works outside of Mail. 17724 17725 <rdar://problem/6796069> 17726 17727 Reviewed by Ada Chan. 17728 17729 * editing/markup.cpp: 17730 (WebCore::createMarkup): Null check pastEnd before trying to 17731 call Range::compareBoundaryPoints. 17732 17733 2009-04-22 Sam Weinig <sam (a] webkit.org> 17734 17735 Rubber-stamped by Darin Adler. 17736 17737 Fix for <rdar://problem/6816957> 17738 Turn off Geolocation by default 17739 17740 * Configurations/FeatureDefines.xcconfig: 17741 17742 2009-04-22 Eric Seidel <eric (a] webkit.org> 17743 17744 Rubber-stamped by David Hyatt. 17745 17746 Change RenderSVGImage to dump as RenderSVGImage instead of RenderImage 17747 17748 * rendering/RenderSVGImage.h: 17749 (WebCore::RenderSVGImage::renderName): 17750 17751 2009-04-21 Timothy Hatcher <timothy (a] apple.com> 17752 17753 Fix a crash on Gmail when they remove a "before unload" event listener when 17754 it was never added to the pending map in the first place. 17755 17756 <rdar://problem/6814144> 17757 17758 Reviewed by Darin Adler. 17759 17760 * page/DOMWindow.cpp: 17761 (WebCore::allowsPendingBeforeUnloadListeners): Renamed from shouldAddPendingBeforeUnloadListener. 17762 (WebCore::DOMWindow::addEventListener): Call allowsPendingBeforeUnloadListeners now. 17763 (WebCore::DOMWindow::removeEventListener): Call allowsPendingBeforeUnloadListeners before 17764 removing the before unload listener. 17765 (WebCore::DOMWindow::clearAttributeEventListener): Ditto. 17766 17767 2009-04-22 Kenneth Rohde Christiansen <kenneth.christiansen (a] openbossa.org> 17768 17769 Reviewed by Ariya Hidayat. 17770 17771 Made windowed plugins move/resize synchronized with the painting, so 17772 that windowed plugins are not moved before the rest of the parent 17773 frame during scrolling. 17774 17775 * plugins/qt/PluginContainerQt.cpp: 17776 (PluginContainerQt::PluginContainerQt): 17777 (PluginContainerQt::requestGeometry): 17778 (PluginContainerQt::adjustGeometry): 17779 * plugins/qt/PluginContainerQt.h: 17780 * plugins/qt/PluginViewQt.cpp: 17781 (WebCore::PluginView::updatePluginWidget): 17782 (WebCore::PluginView::paint): 17783 17784 2009-04-22 Simon Hausmann <simon.hausmann (a] nokia.com> 17785 17786 Reviewed by Ariya Hidayat. 17787 17788 Fix various bugs in the X11 Qt plugin focus handling. 17789 17790 Notify the focus controller on activation/deactivation of the plugin and 17791 set focus on the plugin's element when it receives the window system 17792 focus. 17793 17794 * WebCore.pro: Added PluginContainerQt to the Qt build. 17795 * plugins/PluginView.cpp: 17796 (WebCore::PluginView::focusPluginElement): New helper function, moved from PluginViewWin. 17797 * plugins/PluginView.h: 17798 (WebCore::PluginView::parentFrame): Added parent frame accessor. 17799 * plugins/qt/PluginContainerQt.cpp: Added. 17800 (PluginContainerQt::PluginContainerQt): 17801 (PluginContainerQt::focusInEvent): Set the focus controller active on focus in events. 17802 (PluginContainerQt::focusOutEvent): Deactivate the focus controller when loosing the focus. 17803 * plugins/qt/PluginContainerQt.h: Added. 17804 * plugins/qt/PluginViewQt.cpp: 17805 (WebCore::PluginView::init): Allocate a PluginContainerQt instead of QX11EmbedContainer. 17806 * plugins/win/PluginViewWin.cpp: 17807 (WebCore::PluginView::handleMouseEvent): Moved the code to set focus on the plugin element 17808 to PluginView::focusPluginElement. 17809 17810 2009-04-22 Tamas Szirbucz <szirbucz.tamas (a] stud.u-szeged.hu> 17811 17812 Reviewed by Ariya Hidayat. 17813 17814 https://bugs.webkit.org/show_bug.cgi?id=25023 17815 Delete reply in QNetworkReplyHandler::abort() to avoid leak. 17816 17817 * platform/network/qt/QNetworkReplyHandler.cpp: 17818 (WebCore::QNetworkReplyHandler::abort): 17819 17820 2009-04-21 Jon Honeycutt <jhoneycutt (a] apple.com> 17821 17822 Allow the UI delegate to control cursor-setting. 17823 17824 Reviewed by Ada Chan. 17825 17826 * page/Chrome.cpp: 17827 (WebCore::Chrome::setCursor): 17828 Pass the call to the client. 17829 17830 * page/Chrome.h: 17831 17832 * page/ChromeClient.h: 17833 (WebCore::ChromeClient::setCursor): 17834 Stubbed; returns false. 17835 17836 * platform/Cursor.h: 17837 Define PlatformCursorHandle for each platform. 17838 17839 * platform/win/WidgetWin.cpp: 17840 Reordered some includes. Added an include of Page.h. 17841 (WebCore::Widget::setCursor): 17842 Fixed a typo in the comment about ignoreNextSetCursor. Get the Page, and 17843 call its Chrome's setCursor() method with the passed cursor. Fall back 17844 to SetCursor() if the Page is not available. 17845 17846 * plugins/win/PluginViewWin.cpp: 17847 (WebCore::PluginView::handleMouseEvent): 17848 Remove an unused variable. Cleaned up some whitespace. 17849 17850 2009-04-21 John Abd-El-Malek <jam (a] google.com> 17851 17852 Reviewed by Dimitri Glazkov. 17853 17854 Add a method to purge the Chromium plugin list cache. 17855 https://bugs.webkit.org/show_bug.cgi?id=25318 17856 17857 * plugins/chromium/PluginDataChromium.cpp: 17858 (WebCore::resetChromiumPluginCache): 17859 17860 2009-04-21 Mark Rowe <mrowe (a] apple.com> 17861 17862 Reviewed by Darin Adler. 17863 17864 Fix <https://bugs.webkit.org/show_bug.cgi?id=25164> / <rdar://problem/6786319>. 17865 17866 We need to ensure that XMLTokenizer sets the current DocLoader before calling in to 17867 any libxml2 methods that may trigger a load. The presence of a DocLoader indicates 17868 that the load was originated by WebCore's use of libxml2 and that we should enforce 17869 the same-origin policy on it. XMLTokenizer::initializeParserContext, 17870 XMLTokenizer::doWrite and XMLTokenizer::doEnd were three methods that were not setting 17871 the current DocLoader when they should have. 17872 17873 The XMLTokenizerScope class is introduced to simplify the pattern of saving, setting and 17874 restoring the current DocLoader and libxml2 error handlers. The DocLoader and error handlers 17875 are saved and set when the scope is allocated, and restored to their previous values when 17876 the scope is exited. 17877 17878 Test: http/tests/security/xss-DENIED-xml-external-entity.xhtml 17879 17880 * GNUmakefile.am: 17881 * WebCore.pro: 17882 * WebCore.scons: 17883 * WebCore.vcproj/WebCore.vcproj: 17884 * WebCore.xcodeproj/project.pbxproj: 17885 * dom/XMLTokenizer.cpp: 17886 * dom/XMLTokenizer.h: 17887 * dom/XMLTokenizerLibxml2.cpp: 17888 (WebCore::matchFunc): 17889 (WebCore::shouldAllowExternalLoad): 17890 (WebCore::openFunc): 17891 (WebCore::XMLTokenizer::doWrite): 17892 (WebCore::XMLTokenizer::initializeParserContext): 17893 (WebCore::XMLTokenizer::doEnd): 17894 (WebCore::xmlDocPtrForString): 17895 * dom/XMLTokenizerScope.cpp: 17896 (WebCore::XMLTokenizerScope::XMLTokenizerScope): 17897 (WebCore::XMLTokenizerScope::~XMLTokenizerScope): 17898 * dom/XMLTokenizerScope.h: 17899 * xml/XSLStyleSheet.cpp: 17900 (WebCore::XSLStyleSheet::parseString): 17901 * xml/XSLTProcessor.cpp: 17902 17903 2009-04-21 Sam Weinig <sam (a] webkit.org> 17904 17905 Reviewed by Dan Bernstein. 17906 17907 Fix for <rdar://problem/5874009> 17908 Add port 3659 (apple-sasl / PasswordServer) to the list of blocked ports. 17909 17910 * platform/network/ResourceHandle.cpp: 17911 (WebCore::portAllowed): 17912 17913 2009-04-21 Justin Garcia <justin.garcia (a] apple.com> 17914 17915 Reviewed by Dan Bernstein. 17916 17917 https://bugs.webkit.org/show_bug.cgi?id=25320 17918 Crash when changing block styles in a root that contains no visible content (but contains nodes with renderers) 17919 17920 * editing/CompositeEditCommand.cpp: 17921 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): If the enclosing block is the 17922 root editable element and it contains no visible content, create a new block but don't try and move 17923 content into it, since there's nothing for moveParagraphs to move. 17924 17925 17926 2009-04-21 Darin Adler <darin (a] apple.com> 17927 17928 Reviewed by Dan Bernstein. 17929 17930 Bug 25162: REGRESSION (r41176-r41242): Drag-selection above/below the line does not select to beginning/end 17931 https://bugs.webkit.org/show_bug.cgi?id=25162 17932 rdar://problem/6764354 17933 17934 * page/Settings.cpp: 17935 (WebCore::Settings::Settings): Initialize editing behavior to Mac-style for PLATFORM(MAC). 17936 Later we may want to change this default to encompass other versions running on Mac. 17937 17938 * page/Settings.h: Added EditingBehavior, setEditingBehavior, editingBehavior, and 17939 m_editingBehavior. Also moved m_maximumDecodedImageSize out of the middle of all 17940 the bit fields. 17941 17942 * platform/graphics/IntPoint.h: Added a constructor to turn an IntSize into an IntPoint. 17943 I'm not sure the distinction here is serving us well at the moment. When converting from 17944 global to local coordinates you want to do IntPoint - IntPoint and have the result be 17945 another IntPoint, not an IntSize. And so on. 17946 17947 * rendering/RenderBlock.cpp: 17948 (WebCore::positionForPointRespectingEditingBoundaries): Changed to use pointers more and 17949 separate coordinates less. 17950 (WebCore::RenderBlock::positionForPointWithInlineChildren): Turned into a member function. 17951 Added separate cases to support the Mac and Windows behavior. 17952 (WebCore::RenderBlock::positionForPoint): Updated for the change above. Also moved the 17953 computation of pointInContents closer to the place it's used. 17954 17955 * rendering/RenderBlock.h: Updated for the new private member function. 17956 17957 2009-04-17 Timothy Hatcher <timothy (a] apple.com> 17958 17959 Change pending unload and beforeunload counts to store the listeners 17960 in a single data structure that can be quickly iterated for dispatch. 17961 17962 <rdar://problem/6383352&6383379&6383940> 17963 17964 Reviewed by Darin Adler. 17965 17966 * WebCore.base.exp: Change what symbols are exported. 17967 * loader/FrameLoader.cpp: 17968 (WebCore::FrameLoader::stopLoading): Remove count updating code 17969 and move an if inside a block already checking m_frame->document(). 17970 * page/Chrome.cpp: Remove disableSuddenTermination/enableSuddenTermination. 17971 * page/Chrome.h: Ditto. 17972 * page/ChromeClient.h: Ditto. 17973 * page/DOMWindow.cpp: 17974 (WebCore::pendingUnloadEventListenerMap): Create a static map. 17975 (WebCore::pendingBeforeUnloadEventListenerMap): Ditto. 17976 (WebCore::addPendingEventListener): Add the event listener to the map. 17977 (WebCore::removePendingEventListener): Remove the event listener from the map. 17978 (WebCore::removePendingEventListeners): Remove all listeners for the window. 17979 (WebCore::dispatchWindowEventToListeners): Dispatch the event to the given listeners. 17980 (WebCore::DOMWindow::dispatchAllPendingBeforeUnloadEvents): Send the beforeunload event. 17981 (WebCore::DOMWindow::pendingUnloadEventListeners): Return a count of pending listeners. 17982 (WebCore::DOMWindow::dispatchAllPendingUnloadEvents): Send the unload event. 17983 (WebCore::DOMWindow::~DOMWindow): Remove the window from both event listener maps. 17984 (WebCore::DOMWindow::addEventListener): Call addPendingEventListener when needed. 17985 (WebCore::DOMWindow::removeEventListener): Call removePendingEventListener when needed. 17986 (WebCore::DOMWindow::removeAllEventListeners): Call removePendingEventListeners. 17987 (WebCore::DOMWindow::removeInlineEventListenerForType): Call removePendingEventListener when needed. 17988 * page/DOMWindow.h: 17989 (WebCore::DOMWindow::frame): Changed to be const. 17990 * page/EventHandler.cpp: 17991 (WebCore::EventHandler::EventHandler): Remove count tracking code. 17992 * page/EventHandler.h: Ditto. 17993 * page/Page.cpp: 17994 (WebCore::Page::Page): Ditto. 17995 * page/Page.h: Ditto. 17996 17997 2009-04-21 Justin Garcia <justin.garcia (a] apple.com> 17998 17999 Reviewed by Darin Adler. 18000 18001 https://bugs.webkit.org/show_bug.cgi?id=19644 18002 Text copied with Select All pastes with a indent but shouldn't 18003 <rdar://problem/6102483> 18004 Pasting the content of an HTML message in Mail causes addition nested <div> elements to be added 18005 18006 To improve selectall/copy/paste fidelity of certain pages, we began wrapping copied content with 18007 a div that held properties and attributes from the fully selected body. To fix the above issues, 18008 only do this if if the body has certain properties or attributes. We'll begin adding to this list as 18009 necessary. For now it's just background colors and images. Tested copy/paste of nytimes, wired, 18010 arstechnica, and several others. 18011 18012 Massive nesting can still happen, it will just be much less common. 18013 18014 * editing/markup.cpp: 18015 (WebCore::createMarkup): 18016 18017 2009-04-21 Peter Kasting <pkasting (a] google.com> 18018 18019 Reviewed by David Hyatt. 18020 18021 https://bugs.webkit.org/show_bug.cgi?id=25250 18022 Allow platforms to snap the scroll thumb back to the drag origin 18023 during a drag. Implement functions for Safari/Win and Chromium/Win 18024 to do this snapping at distances approximating the native ones. 18025 18026 * platform/Scrollbar.cpp: 18027 (WebCore::Scrollbar::Scrollbar): 18028 (WebCore::Scrollbar::setValue): 18029 (WebCore::Scrollbar::scroll): 18030 (WebCore::Scrollbar::moveThumb): 18031 (WebCore::Scrollbar::setCurrentPos): 18032 (WebCore::Scrollbar::mouseMoved): 18033 (WebCore::Scrollbar::mouseDown): 18034 * platform/Scrollbar.h: 18035 * platform/ScrollbarTheme.h: 18036 (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin): 18037 * platform/chromium/ScrollbarThemeChromium.h: 18038 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 18039 (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin): 18040 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 18041 (WebCore::ScrollbarThemeChromium::shouldSnapBackToDragOrigin): 18042 * platform/win/ScrollbarThemeWin.cpp: 18043 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb): 18044 (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin): 18045 * platform/win/ScrollbarThemeWin.h: 18046 18047 2009-04-21 Adam Roben <aroben (a] apple.com> 18048 18049 Windows build fix 18050 18051 * bindings/js/JSLazyEventListener.cpp: 18052 (WebCore::eventParameterName): Remove unreachable code when SVG is 18053 enabled. 18054 18055 2009-04-21 Kevin Ollivier <kevino (a] theolliviers.com> 18056 18057 !ENABLE(SVG) build fix. 18058 18059 * bindings/js/JSLazyEventListener.cpp: 18060 (WebCore::eventParameterName): 18061 18062 2009-04-21 Dave Moore <davemoore (a] google.com> 18063 18064 Reviewed by Dimitri Glazkov. 18065 18066 https://bugs.webkit.org/show_bug.cgi?id=25309 18067 Better use AtomicStrings when calling from the V8 18068 bindings into WebCore code. 18069 18070 * bindings/v8/custom/V8DOMWindowCustom.cpp: 18071 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: 18072 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: 18073 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: 18074 18075 2009-04-21 Chris Fleizach <cfleizach (a] apple.com> 18076 18077 Reviewed by Darin Adler. 18078 18079 Bug 25304: AX: Safari not identifying a secure text field 18080 https://bugs.webkit.org/show_bug.cgi?id=25304 18081 18082 Secure text fields need to be able to return AXTitleUIElements. 18083 18084 Test: accessibility/secure-textfield-title-ui.html 18085 18086 * page/mac/AccessibilityObjectWrapper.mm: 18087 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 18088 18089 2009-04-21 Dan Bernstein <mitz (a] apple.com> 18090 18091 - fix the Tiger build 18092 18093 * page/mac/EventHandlerMac.mm: 18094 (method_setImplementation): 18095 18096 2009-04-21 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 18097 18098 Reviewed by Sam Weinig. 18099 18100 https://bugs.webkit.org/show_bug.cgi?id=25271 18101 18102 Fix the build with disabled DOM storage or disabled database support. 18103 18104 * bindings/js/ScriptObjectQuarantine.cpp: 18105 * bindings/js/ScriptObjectQuarantine.h: 18106 18107 2009-04-21 Holger Hans Peter Freyther <zecke (a] selfish.org> 18108 18109 Unreviewed build fix. 18110 18111 Compile fix for r42633. const qualifier does not work 18112 on a static method. 18113 18114 * dom/Document.h: 18115 (WebCore::Document::isSVGDocument): 18116 18117 2009-04-21 Dan Bernstein <mitz (a] apple.com> 18118 18119 Reviewed by Darin Adler and John Sullivan. 18120 18121 - fix <rdar://problem/5914146> Crash at -[NSScrollView scrollWheel:] 18122 18123 -[NSScrollView scrollWheel:] runs a nested event-tracking run loop 18124 in a mode that allows WebCore timers to fire and NSURLConnection 18125 callbacks to be dispatched, which can release the NSScrollView and 18126 cause it to be deallocated (one example is a DOM timer callback that 18127 removes a subframe from the document). This leads to a crash in 18128 -scrollView:. 18129 18130 The fix is to replace the implementation of -[NSScrollView scrollWheel:] 18131 with one that optionally retains the receiver for the duration of the 18132 call. 18133 18134 * page/mac/EventHandlerMac.mm: 18135 (WebCore::nsScrollViewScrollWheelShouldRetainSelf): Added. 18136 (WebCore::setNSScrollViewScrollWheelShouldRetainSelf): Added. Replaces 18137 the implementation of -[NSScrollView scrollWheel:] with the 18138 self-retaining one, and sets a static boolean that tells it whether to 18139 retain the receiver around the call to the original implementation. 18140 (WebCore::selfRetainingNSScrollViewScrollWheel): Added. If 18141 setNSScrollViewScrollWheelShouldRetainSelf(true) was called and this 18142 function is executing on the main thread, it retains the NSScrollView, 18143 invokes the original -[NSScrollView scrollWheel:], then releases the 18144 view. Otherwise it just calls through to the original implementation. 18145 (WebCore::EventHandler::passWheelEventToWidget): Added calls to 18146 setNSScrollViewScrollWheelShouldRetainSelf() around the call to 18147 -scrollWheel:. 18148 18149 2009-04-21 Geoffrey Garen <ggaren (a] apple.com> 18150 18151 Reviewed by Mark Rowe. 18152 18153 Tiger crash fix: Put VM tags in their own header file, and fixed up the 18154 #ifdefs so they're not used on Tiger. 18155 18156 * ForwardingHeaders/wtf/VMTags.h: Copied from WebCore/ForwardingHeaders/wtf/HashTraits.h. 18157 18158 2009-04-21 Xan Lopez <xlopez (a] igalia.com> 18159 18160 Reviewed by Gustavo Noronha. 18161 18162 https://bugs.webkit.org/show_bug.cgi?id=21546 18163 [GTK] ATK accessibility enhancements 18164 18165 Based on a patch by Alp Toker. 18166 18167 Implement AtkComponent interface. 18168 18169 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 18170 (core): 18171 18172 2009-04-21 Xan Lopez <xlopez (a] igalia.com> 18173 18174 Reviewed by Gustavo Noronha. 18175 18176 https://bugs.webkit.org/show_bug.cgi?id=21546 18177 [GTK] ATK accessibility enhancements 18178 18179 Only implement AtkAction interface if we actually have an action. 18180 18181 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 18182 18183 2009-04-20 Alexey Proskuryakov <ap (a] webkit.org> 18184 18185 Reviewed by Darin Adler. 18186 18187 https://bugs.webkit.org/show_bug.cgi?id=25290 18188 REGRESSION(r41732): Crash when constructing XMLHttpRequest in a detached document 18189 18190 Test: fast/dom/xmlhttprequest-constructor-in-detached-document.html 18191 18192 * bindings/js/JSAudioConstructor.cpp: 18193 (WebCore::JSAudioConstructor::JSAudioConstructor): 18194 * bindings/js/JSAudioConstructor.h: 18195 * bindings/js/JSDOMGlobalObject.h: 18196 (WebCore::getDOMConstructor): 18197 * bindings/js/JSImageConstructor.cpp: 18198 (WebCore::JSImageConstructor::JSImageConstructor): 18199 * bindings/js/JSImageConstructor.h: 18200 * bindings/js/JSMessageChannelConstructor.cpp: 18201 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 18202 * bindings/js/JSMessageChannelConstructor.h: 18203 * bindings/js/JSOptionConstructor.cpp: 18204 (WebCore::JSOptionConstructor::JSOptionConstructor): 18205 * bindings/js/JSOptionConstructor.h: 18206 * bindings/js/JSXMLHttpRequestConstructor.cpp: 18207 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 18208 * bindings/js/JSXMLHttpRequestConstructor.h: 18209 Avoid accessing JSDOMGlobalObject via ScriptExecutionContext, since it may not 18210 work during frame teardown. 18211 18212 2009-04-20 Geoffrey Garen <ggaren (a] apple.com> 18213 18214 Rubber stamped by Darin Adler and Sam Weinig. 18215 18216 Renamed "*InlineEventListener*" => "*AttributeEventListener*", and 18217 "isInline" => "isAttribute". 18218 18219 * bindings/js/JSDOMGlobalObject.cpp: 18220 (WebCore::JSDOMGlobalObject::createJSAttributeEventListener): 18221 * bindings/js/JSEventListener.cpp: 18222 (WebCore::JSEventListener::JSEventListener): 18223 (WebCore::JSEventListener::~JSEventListener): 18224 (WebCore::JSEventListener::handleEvent): 18225 (WebCore::JSEventListener::virtualisAttribute): 18226 * bindings/js/JSEventListener.h: 18227 (WebCore::JSEventListener::create): 18228 (WebCore::JSEventListener::isAttribute): 18229 * bindings/js/JSLazyEventListener.cpp: 18230 (WebCore::createAttributeEventListener): 18231 * bindings/js/JSLazyEventListener.h: 18232 * bindings/scripts/CodeGeneratorJS.pm: 18233 * dom/Element.cpp: 18234 (WebCore::Element::setWindowAttributeEventListener): 18235 * dom/Element.h: 18236 * dom/EventListener.h: 18237 (WebCore::EventListener::isAttribute): 18238 (WebCore::EventListener::virtualisAttribute): 18239 * dom/Node.cpp: 18240 (WebCore::Node::clearAttributeEventListener): 18241 (WebCore::Node::setAttributeEventListener): 18242 (WebCore::Node::getAttributeEventListener): 18243 (WebCore::Node::onabort): 18244 (WebCore::Node::setOnabort): 18245 (WebCore::Node::onblur): 18246 (WebCore::Node::setOnblur): 18247 (WebCore::Node::onchange): 18248 (WebCore::Node::setOnchange): 18249 (WebCore::Node::onclick): 18250 (WebCore::Node::setOnclick): 18251 (WebCore::Node::oncontextmenu): 18252 (WebCore::Node::setOncontextmenu): 18253 (WebCore::Node::ondblclick): 18254 (WebCore::Node::setOndblclick): 18255 (WebCore::Node::onerror): 18256 (WebCore::Node::setOnerror): 18257 (WebCore::Node::onfocus): 18258 (WebCore::Node::setOnfocus): 18259 (WebCore::Node::oninput): 18260 (WebCore::Node::setOninput): 18261 (WebCore::Node::onkeydown): 18262 (WebCore::Node::setOnkeydown): 18263 (WebCore::Node::onkeypress): 18264 (WebCore::Node::setOnkeypress): 18265 (WebCore::Node::onkeyup): 18266 (WebCore::Node::setOnkeyup): 18267 (WebCore::Node::onload): 18268 (WebCore::Node::setOnload): 18269 (WebCore::Node::onmousedown): 18270 (WebCore::Node::setOnmousedown): 18271 (WebCore::Node::onmousemove): 18272 (WebCore::Node::setOnmousemove): 18273 (WebCore::Node::onmouseout): 18274 (WebCore::Node::setOnmouseout): 18275 (WebCore::Node::onmouseover): 18276 (WebCore::Node::setOnmouseover): 18277 (WebCore::Node::onmouseup): 18278 (WebCore::Node::setOnmouseup): 18279 (WebCore::Node::onmousewheel): 18280 (WebCore::Node::setOnmousewheel): 18281 (WebCore::Node::onbeforecut): 18282 (WebCore::Node::setOnbeforecut): 18283 (WebCore::Node::oncut): 18284 (WebCore::Node::setOncut): 18285 (WebCore::Node::onbeforecopy): 18286 (WebCore::Node::setOnbeforecopy): 18287 (WebCore::Node::oncopy): 18288 (WebCore::Node::setOncopy): 18289 (WebCore::Node::onbeforepaste): 18290 (WebCore::Node::setOnbeforepaste): 18291 (WebCore::Node::onpaste): 18292 (WebCore::Node::setOnpaste): 18293 (WebCore::Node::ondragenter): 18294 (WebCore::Node::setOndragenter): 18295 (WebCore::Node::ondragover): 18296 (WebCore::Node::setOndragover): 18297 (WebCore::Node::ondragleave): 18298 (WebCore::Node::setOndragleave): 18299 (WebCore::Node::ondrop): 18300 (WebCore::Node::setOndrop): 18301 (WebCore::Node::ondragstart): 18302 (WebCore::Node::setOndragstart): 18303 (WebCore::Node::ondrag): 18304 (WebCore::Node::setOndrag): 18305 (WebCore::Node::ondragend): 18306 (WebCore::Node::setOndragend): 18307 (WebCore::Node::onreset): 18308 (WebCore::Node::setOnreset): 18309 (WebCore::Node::onresize): 18310 (WebCore::Node::setOnresize): 18311 (WebCore::Node::onscroll): 18312 (WebCore::Node::setOnscroll): 18313 (WebCore::Node::onsearch): 18314 (WebCore::Node::setOnsearch): 18315 (WebCore::Node::onselect): 18316 (WebCore::Node::setOnselect): 18317 (WebCore::Node::onselectstart): 18318 (WebCore::Node::setOnselectstart): 18319 (WebCore::Node::onsubmit): 18320 (WebCore::Node::setOnsubmit): 18321 (WebCore::Node::onunload): 18322 (WebCore::Node::setOnunload): 18323 * dom/Node.h: 18324 * editing/ReplaceSelectionCommand.cpp: 18325 (WebCore::ReplacementFragment::ReplacementFragment): 18326 * html/HTMLBodyElement.cpp: 18327 (WebCore::HTMLBodyElement::parseMappedAttribute): 18328 * html/HTMLButtonElement.cpp: 18329 (WebCore::HTMLButtonElement::parseMappedAttribute): 18330 * html/HTMLElement.cpp: 18331 (WebCore::HTMLElement::parseMappedAttribute): 18332 * html/HTMLFormElement.cpp: 18333 (WebCore::HTMLFormElement::parseMappedAttribute): 18334 * html/HTMLFrameElementBase.cpp: 18335 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 18336 * html/HTMLFrameSetElement.cpp: 18337 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 18338 * html/HTMLImageElement.cpp: 18339 (WebCore::HTMLImageElement::parseMappedAttribute): 18340 * html/HTMLInputElement.cpp: 18341 (WebCore::HTMLInputElement::parseMappedAttribute): 18342 * html/HTMLObjectElement.cpp: 18343 (WebCore::HTMLObjectElement::parseMappedAttribute): 18344 * html/HTMLScriptElement.cpp: 18345 (WebCore::HTMLScriptElement::parseMappedAttribute): 18346 * html/HTMLSelectElement.cpp: 18347 (WebCore::HTMLSelectElement::parseMappedAttribute): 18348 * html/HTMLTextAreaElement.cpp: 18349 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 18350 * page/AccessibilityRenderObject.cpp: 18351 (WebCore::AccessibilityRenderObject::mouseButtonListener): 18352 * page/DOMWindow.cpp: 18353 (WebCore::DOMWindow::setAttributeEventListener): 18354 (WebCore::DOMWindow::clearAttributeEventListener): 18355 (WebCore::DOMWindow::getAttributeEventListener): 18356 (WebCore::DOMWindow::onabort): 18357 (WebCore::DOMWindow::setOnabort): 18358 (WebCore::DOMWindow::onblur): 18359 (WebCore::DOMWindow::setOnblur): 18360 (WebCore::DOMWindow::onchange): 18361 (WebCore::DOMWindow::setOnchange): 18362 (WebCore::DOMWindow::onclick): 18363 (WebCore::DOMWindow::setOnclick): 18364 (WebCore::DOMWindow::ondblclick): 18365 (WebCore::DOMWindow::setOndblclick): 18366 (WebCore::DOMWindow::onerror): 18367 (WebCore::DOMWindow::setOnerror): 18368 (WebCore::DOMWindow::onfocus): 18369 (WebCore::DOMWindow::setOnfocus): 18370 (WebCore::DOMWindow::onkeydown): 18371 (WebCore::DOMWindow::setOnkeydown): 18372 (WebCore::DOMWindow::onkeypress): 18373 (WebCore::DOMWindow::setOnkeypress): 18374 (WebCore::DOMWindow::onkeyup): 18375 (WebCore::DOMWindow::setOnkeyup): 18376 (WebCore::DOMWindow::onload): 18377 (WebCore::DOMWindow::setOnload): 18378 (WebCore::DOMWindow::onmousedown): 18379 (WebCore::DOMWindow::setOnmousedown): 18380 (WebCore::DOMWindow::onmousemove): 18381 (WebCore::DOMWindow::setOnmousemove): 18382 (WebCore::DOMWindow::onmouseout): 18383 (WebCore::DOMWindow::setOnmouseout): 18384 (WebCore::DOMWindow::onmouseover): 18385 (WebCore::DOMWindow::setOnmouseover): 18386 (WebCore::DOMWindow::onmouseup): 18387 (WebCore::DOMWindow::setOnmouseup): 18388 (WebCore::DOMWindow::onmousewheel): 18389 (WebCore::DOMWindow::setOnmousewheel): 18390 (WebCore::DOMWindow::onreset): 18391 (WebCore::DOMWindow::setOnreset): 18392 (WebCore::DOMWindow::onresize): 18393 (WebCore::DOMWindow::setOnresize): 18394 (WebCore::DOMWindow::onscroll): 18395 (WebCore::DOMWindow::setOnscroll): 18396 (WebCore::DOMWindow::onsearch): 18397 (WebCore::DOMWindow::setOnsearch): 18398 (WebCore::DOMWindow::onselect): 18399 (WebCore::DOMWindow::setOnselect): 18400 (WebCore::DOMWindow::onsubmit): 18401 (WebCore::DOMWindow::setOnsubmit): 18402 (WebCore::DOMWindow::onunload): 18403 (WebCore::DOMWindow::setOnunload): 18404 (WebCore::DOMWindow::onbeforeunload): 18405 (WebCore::DOMWindow::setOnbeforeunload): 18406 (WebCore::DOMWindow::onwebkitanimationstart): 18407 (WebCore::DOMWindow::setOnwebkitanimationstart): 18408 (WebCore::DOMWindow::onwebkitanimationiteration): 18409 (WebCore::DOMWindow::setOnwebkitanimationiteration): 18410 (WebCore::DOMWindow::onwebkitanimationend): 18411 (WebCore::DOMWindow::setOnwebkitanimationend): 18412 (WebCore::DOMWindow::onwebkittransitionend): 18413 (WebCore::DOMWindow::setOnwebkittransitionend): 18414 * page/DOMWindow.h: 18415 * svg/SVGElement.cpp: 18416 (WebCore::SVGElement::parseMappedAttribute): 18417 * svg/SVGElementInstance.cpp: 18418 (WebCore::SVGElementInstance::onabort): 18419 (WebCore::SVGElementInstance::setOnabort): 18420 (WebCore::SVGElementInstance::onblur): 18421 (WebCore::SVGElementInstance::setOnblur): 18422 (WebCore::SVGElementInstance::onchange): 18423 (WebCore::SVGElementInstance::setOnchange): 18424 (WebCore::SVGElementInstance::onclick): 18425 (WebCore::SVGElementInstance::setOnclick): 18426 (WebCore::SVGElementInstance::oncontextmenu): 18427 (WebCore::SVGElementInstance::setOncontextmenu): 18428 (WebCore::SVGElementInstance::ondblclick): 18429 (WebCore::SVGElementInstance::setOndblclick): 18430 (WebCore::SVGElementInstance::onerror): 18431 (WebCore::SVGElementInstance::setOnerror): 18432 (WebCore::SVGElementInstance::onfocus): 18433 (WebCore::SVGElementInstance::setOnfocus): 18434 (WebCore::SVGElementInstance::oninput): 18435 (WebCore::SVGElementInstance::setOninput): 18436 (WebCore::SVGElementInstance::onkeydown): 18437 (WebCore::SVGElementInstance::setOnkeydown): 18438 (WebCore::SVGElementInstance::onkeypress): 18439 (WebCore::SVGElementInstance::setOnkeypress): 18440 (WebCore::SVGElementInstance::onkeyup): 18441 (WebCore::SVGElementInstance::setOnkeyup): 18442 (WebCore::SVGElementInstance::onload): 18443 (WebCore::SVGElementInstance::setOnload): 18444 (WebCore::SVGElementInstance::onmousedown): 18445 (WebCore::SVGElementInstance::setOnmousedown): 18446 (WebCore::SVGElementInstance::onmousemove): 18447 (WebCore::SVGElementInstance::setOnmousemove): 18448 (WebCore::SVGElementInstance::onmouseout): 18449 (WebCore::SVGElementInstance::setOnmouseout): 18450 (WebCore::SVGElementInstance::onmouseover): 18451 (WebCore::SVGElementInstance::setOnmouseover): 18452 (WebCore::SVGElementInstance::onmouseup): 18453 (WebCore::SVGElementInstance::setOnmouseup): 18454 (WebCore::SVGElementInstance::onmousewheel): 18455 (WebCore::SVGElementInstance::setOnmousewheel): 18456 (WebCore::SVGElementInstance::onbeforecut): 18457 (WebCore::SVGElementInstance::setOnbeforecut): 18458 (WebCore::SVGElementInstance::oncut): 18459 (WebCore::SVGElementInstance::setOncut): 18460 (WebCore::SVGElementInstance::onbeforecopy): 18461 (WebCore::SVGElementInstance::setOnbeforecopy): 18462 (WebCore::SVGElementInstance::oncopy): 18463 (WebCore::SVGElementInstance::setOncopy): 18464 (WebCore::SVGElementInstance::onbeforepaste): 18465 (WebCore::SVGElementInstance::setOnbeforepaste): 18466 (WebCore::SVGElementInstance::onpaste): 18467 (WebCore::SVGElementInstance::setOnpaste): 18468 (WebCore::SVGElementInstance::ondragenter): 18469 (WebCore::SVGElementInstance::setOndragenter): 18470 (WebCore::SVGElementInstance::ondragover): 18471 (WebCore::SVGElementInstance::setOndragover): 18472 (WebCore::SVGElementInstance::ondragleave): 18473 (WebCore::SVGElementInstance::setOndragleave): 18474 (WebCore::SVGElementInstance::ondrop): 18475 (WebCore::SVGElementInstance::setOndrop): 18476 (WebCore::SVGElementInstance::ondragstart): 18477 (WebCore::SVGElementInstance::setOndragstart): 18478 (WebCore::SVGElementInstance::ondrag): 18479 (WebCore::SVGElementInstance::setOndrag): 18480 (WebCore::SVGElementInstance::ondragend): 18481 (WebCore::SVGElementInstance::setOndragend): 18482 (WebCore::SVGElementInstance::onreset): 18483 (WebCore::SVGElementInstance::setOnreset): 18484 (WebCore::SVGElementInstance::onresize): 18485 (WebCore::SVGElementInstance::setOnresize): 18486 (WebCore::SVGElementInstance::onscroll): 18487 (WebCore::SVGElementInstance::setOnscroll): 18488 (WebCore::SVGElementInstance::onsearch): 18489 (WebCore::SVGElementInstance::setOnsearch): 18490 (WebCore::SVGElementInstance::onselect): 18491 (WebCore::SVGElementInstance::setOnselect): 18492 (WebCore::SVGElementInstance::onselectstart): 18493 (WebCore::SVGElementInstance::setOnselectstart): 18494 (WebCore::SVGElementInstance::onsubmit): 18495 (WebCore::SVGElementInstance::setOnsubmit): 18496 (WebCore::SVGElementInstance::onunload): 18497 (WebCore::SVGElementInstance::setOnunload): 18498 * svg/SVGSVGElement.cpp: 18499 (WebCore::SVGSVGElement::parseMappedAttribute): 18500 18501 2009-04-20 Geoffrey Garen <ggaren (a] apple.com> 18502 18503 Approved by Mark Rowe, Cameron Zwarich, Oliver Hunt, and Ojan Vafai. 18504 18505 Used svn merge to roll out revisions 42678, 42690, 42694, 42697 because 18506 they broke the Tiger and Windows buildbots. 18507 18508 * css/html4.css: 18509 * css/themeWin.css: 18510 * platform/graphics/SimpleFontData.cpp: 18511 * platform/graphics/SimpleFontData.h: 18512 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 18513 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 18514 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 18515 * platform/graphics/gtk/SimpleFontDataPango.cpp: 18516 * platform/graphics/mac/SimpleFontDataMac.mm: 18517 * platform/graphics/qt/SimpleFontDataQt.cpp: 18518 * platform/graphics/win/SimpleFontDataCGWin.cpp: 18519 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 18520 * platform/graphics/win/SimpleFontDataWin.cpp: 18521 * platform/graphics/wx/SimpleFontDataWx.cpp: 18522 * rendering/RenderTextControl.cpp: 18523 * rendering/RenderTextControlMultiLine.cpp: 18524 * rendering/RenderTextControlSingleLine.cpp: 18525 18526 2009-04-20 Geoffrey Garen <ggaren (a] apple.com> 18527 18528 Reviewed by Adam Roben. 18529 18530 One last loose end, discovered using COLLECT_ON_EVERY_ALLOCATION, for 18531 https://bugs.webkit.org/show_bug.cgi?id=21260 18532 Unbounded memory growth when churning elements with anonymous event handler functions 18533 18534 * bindings/js/JSSVGElementInstanceCustom.cpp: 18535 (WebCore::JSSVGElementInstance::mark): Don't ASSERT that an ElementInstance's 18536 correspondingElement has a JS wrapper. If a GC falls exactly between the 18537 allocation of the ElementInstance wrapper and the correspondingElement 18538 wrapper, the correspondingElement won't have a wrapper at the time we 18539 mark the ElementInstance's wrapper. 18540 18541 2009-04-20 Brady Eidson <beidson (a] apple.com> 18542 18543 Rubberstamped by Mark Rowe 18544 18545 Clean builds are broken on case-sensitive filesystems. Let's fix, shall we? 18546 18547 * platform/graphics/SimpleFontData.cpp: Remove "String.h" include. Ojan probably intended to include 18548 "PlatformString.h" which was unnecessary because it is pulled in through other headers. This wasn't a 18549 build failure on case-insensitive file systems because those systems would find the system <string.h>, averting 18550 the warning. 18551 18552 2009-04-20 Geoffrey Garen <ggaren (a] apple.com> 18553 18554 Reviewed by Darin Adler. 18555 18556 Last patch for https://bugs.webkit.org/show_bug.cgi?id=21260 18557 Unbounded memory growth when churning elements with anonymous event handler functions 18558 18559 Converted "lazy" event listeners to be unprotected, just like all the others. 18560 18561 * bindings/js/JSEventListener.cpp: 18562 (WebCore::JSEventListener::JSEventListener): 18563 (WebCore::JSEventListener::~JSEventListener): 18564 (WebCore::JSEventListener::jsFunction): 18565 (WebCore::JSEventListener::markJSFunction): 18566 (WebCore::JSEventListener::handleEvent): 18567 (WebCore::JSEventListener::virtualIsInline): 18568 * bindings/js/JSEventListener.h: 18569 (WebCore::JSEventListener::isInline): Merged JSAbstractEventListener 18570 into JSEventListener. Now that the only difference between JSEventListener 18571 and JSLazyEventListener is that JSLazyEventListener compiles lazily, 18572 there's no need for an abstract base class. 18573 18574 * bindings/js/JSLazyEventListener.cpp: Converted JSLazyEventListener to 18575 inherit from JSEventListener and match its un-GC-protected behavior. 18576 (WebCore::JSLazyEventListener::JSLazyEventListener): ditto 18577 (WebCore::JSLazyEventListener::parseCode): ditto 18578 (WebCore::createInlineEventListener): When creating a lazy event listener, 18579 ensure that the related node has a JS wrapper to mark the listener. Since 18580 the parser makes these listeners, it's possible that no JS reference has 18581 been made to the node yet. 18582 * bindings/js/JSLazyEventListener.h: ditto 18583 18584 * dom/EventListener.h: 18585 (WebCore::EventListener::clearJSFunction): Removed an usused function. 18586 18587 2009-04-20 Justin Garcia <justin.garcia (a] apple.com> 18588 18589 Reviewed by Dan Bernstein. 18590 18591 https://bugs.webkit.org/show_bug.cgi?id=25299 18592 Don't bound caret to root line box if it is still inside its containing block 18593 18594 Can't yet write tests for behavior of non-standard caret widths. 18595 18596 * rendering/RenderText.cpp: 18597 (WebCore::RenderText::localCaretRect): 18598 18599 2009-04-20 Steve Falkenburg <sfalken (a] apple.com> 18600 18601 Separate JavaScriptCore.dll from WebKit.dll. 18602 Slight performance improvement or no change on benchmarks. 18603 18604 Allows us to break a circular dependency between CFNetwork and WebKit on Windows, 18605 and simplifies standalone JavaScriptCore builds. 18606 18607 Reviewed by Oliver Hunt. 18608 18609 * config.h: Specify __declspec(dllexport/dllimport) appropriately when exporting data. 18610 18611 2009-04-20 Anders Carlsson <andersca (a] apple.com> 18612 18613 Reviewed by Sam Weinig. 18614 18615 <rdar://problem/6722845> In the Cocoa event model, NPWindow's window field should be null 18616 18617 * bridge/npapi.h: 18618 (_NPCocoaEvent::): 18619 Add a CGContextRef member to the draw struct. Add an NPCoordinateSpace enum. 18620 18621 * plugins/npfunctions.h: 18622 Add a prototype for NPN_ConvertPoint. 18623 18624 2009-04-10 Ojan Vafai <ojan (a] chromium.org> 18625 18626 Reviewed by Dan Bernstein. 18627 18628 Make textarea and text input metrics more closely match IEs. 18629 https://bugs.webkit.org/show_bug.cgi?id=15312 18630 18631 This involves: 18632 -set text input width to size*avgCharWidth + maxCharWidth - avgCharWidth 18633 -set textarea width to cols*avgCharWidth 18634 -Make default CSS match IEs 18635 -Correctly initializing m_avgCharWidth and m_maxCharWidth for each platform and SVG. 18636 18637 Those values for textarea and inputs were derived by doing a ton of manual 18638 testing of IE's width values for various textareas and fonts. 18639 18640 To get the average and max character width of a font, we do the following 18641 for each platform: 18642 -Win: TextMetrics expose avgCharWidth and maxCharWidth 18643 -SVG: avgCharWidth = width of an '0', fallback on width of a space glyph, then m_xHeight 18644 maxCharWidth = width of a 'W' for roman fonts, fallback on m_ascent 18645 -Linux: avgCharWidth = width of an '0', fallback on m_xHeight 18646 maxCharWidth = max of avgCharWidth and m_ascent 18647 -Mac: look in the OS/2 table for avgCharWidth and grab the maxCharWidth off the font. 18648 If either one is not there, then calculate the value using the Linux approach. 18649 18650 Linux ports could probably dig into the OS/2 table as well, but I'll leave 18651 that up to them to implement. 18652 18653 Tests: fast/forms/text-control-intrinsic-widths.html 18654 fast/forms/textarea-metrics.html 18655 svg/custom/svg-fonts-in-text-controls.html 18656 18657 * css/html4.css: 18658 * css/themeWin.css: 18659 * platform/graphics/SimpleFontData.cpp: 18660 (WebCore::SimpleFontData::SimpleFontData): 18661 (WebCore::SimpleFontData::initCharWidths): 18662 * platform/graphics/SimpleFontData.h: 18663 (WebCore::SimpleFontData::maxCharWidth): 18664 (WebCore::SimpleFontData::avgCharWidth): 18665 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: 18666 (WebCore::SimpleFontData::platformCharWidthInit): 18667 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 18668 (WebCore::SimpleFontData::platformCharWidthInit): 18669 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 18670 (WebCore::SimpleFontData::platformCharWidthInit): 18671 * platform/graphics/gtk/SimpleFontDataPango.cpp: 18672 (WebCore::SimpleFontData::platformCharWidthInit): 18673 * platform/graphics/mac/SimpleFontDataMac.mm: 18674 (WebCore::SimpleFontData::platformCharWidthInit): 18675 * platform/graphics/qt/SimpleFontDataQt.cpp: 18676 (WebCore::SimpleFontData::platformCharWidthInit): 18677 * platform/graphics/win/SimpleFontDataCGWin.cpp: 18678 (WebCore::SimpleFontData::platformCharWidthInit): 18679 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 18680 (WebCore::SimpleFontData::platformInit): 18681 (WebCore::SimpleFontData::platformCharWidthInit): 18682 * platform/graphics/win/SimpleFontDataWin.cpp: 18683 (WebCore::SimpleFontData::initGDIFont): 18684 * platform/graphics/wx/SimpleFontDataWx.cpp: 18685 (WebCore::SimpleFontData::platformCharWidthInit): 18686 * rendering/RenderTextControl.cpp: 18687 (WebCore::RenderTextControl::calcPrefWidths): 18688 * rendering/RenderTextControlMultiLine.cpp: 18689 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 18690 * rendering/RenderTextControlSingleLine.cpp: 18691 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 18692 18693 2009-04-17 Eric Seidel <eric (a] webkit.org> 18694 18695 Reviewed by Simon Fraser. 18696 18697 Remove m_absoluteBounds hack from SVG renderers and move outlineBoundsForRepaint into RenderSVGModelObject 18698 https://bugs.webkit.org/show_bug.cgi?id=25276 18699 18700 This also exposed a buggy paint check in RenderSVGContainer::layout() 18701 we should repaint if we are self painting OR if our kids changed, not AND. 18702 18703 Writing real outlineBoundsForRepaint required writing a mapLocalToContainer() function 18704 18705 No functional changes, thus no tests. 18706 18707 * rendering/RenderPath.cpp: 18708 (WebCore::RenderPath::localToParentTransform): 18709 (WebCore::RenderPath::layout): 18710 * rendering/RenderPath.h: 18711 * rendering/RenderSVGContainer.cpp: 18712 (WebCore::RenderSVGContainer::layout): 18713 * rendering/RenderSVGContainer.h: 18714 * rendering/RenderSVGModelObject.cpp: 18715 (WebCore::RenderSVGModelObject::mapLocalToContainer): 18716 (WebCore::RenderSVGModelObject::outlineBoundsForRepaint): 18717 * rendering/RenderSVGModelObject.h: 18718 * rendering/RenderSVGRoot.cpp: 18719 (WebCore::RenderSVGRoot::layout): 18720 (WebCore::RenderSVGRoot::paint): 18721 (WebCore::RenderSVGRoot::localToParentTransformWithoutCSSParentOffset): 18722 (WebCore::RenderSVGRoot::localToParentTransform): 18723 (WebCore::RenderSVGRoot::computeRectForRepaint): 18724 * rendering/RenderSVGRoot.h: 18725 * rendering/RenderSVGViewportContainer.cpp: 18726 (WebCore::RenderSVGViewportContainer::layout): 18727 18728 2009-04-20 Simon Fraser <simon.fraser (a] apple.com> 18729 18730 Reviewed by Eric Seidel 18731 18732 https://bugs.webkit.org/show_bug.cgi?id=25282 18733 18734 outlineBoundsForRepaint() should compute a quad relative to the 18735 repaintContainer. This fixes the repaint issues originally fixed in 18736 https://bugs.webkit.org/show_bug.cgi?id=12885 for elements in compositing layers. 18737 Failure was only apparent when building with ACCELERATED_COMPOSITING enabled. 18738 18739 Tests: compositing/repaint/content-into-overflow.html 18740 compositing/repaint/overflow-into-content.html 18741 18742 * rendering/RenderBox.cpp: 18743 (WebCore::RenderBox::outlineBoundsForRepaint): 18744 18745 2009-04-20 Sam Weinig <sam (a] webkit.org> 18746 18747 Rubber-stamped by Tim Hatcher. 18748 18749 Add licenses for xcconfig files. 18750 18751 * Configurations/Base.xcconfig: 18752 * Configurations/DebugRelease.xcconfig: 18753 * Configurations/FeatureDefines.xcconfig: 18754 * Configurations/Version.xcconfig: 18755 * Configurations/WebCore.xcconfig: 18756 18757 2009-04-20 Eric Roman <eroman (a] chromium.org> 18758 18759 Reviewed by Dimitri Glazkov. 18760 18761 https://bugs.webkit.org/show_bug.cgi?id=25261 18762 Implement the V8 binding for DOMWindow.event similarly to JSC, by using 18763 the custom getter boilerplate from the IDL file. 18764 Also, stub out DOMWindow.crypto which is defined by the idl. 18765 18766 * bindings/v8/V8AbstractEventListener.cpp: 18767 (WebCore::V8AbstractEventListener::invokeEventHandler): 18768 * bindings/v8/custom/V8DOMWindowCustom.cpp: 18769 (WebCore::ACCESSOR_GETTER): 18770 18771 2009-04-20 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 18772 18773 Reviewed by Xan Lopez. 18774 18775 https://bugs.webkit.org/show_bug.cgi?id=25243 18776 Crash when data:// loads are cancelled 18777 18778 Properly handle cancellation of the load for data:// loads. This 18779 fixes crashing in the followin test: 18780 18781 plugins/return-error-from-new-stream-callback-in-full-frame-plugin.html 18782 18783 * platform/network/soup/ResourceHandleSoup.cpp: 18784 (WebCore::parseDataUrl): 18785 18786 2009-04-19 Dan Bernstein <mitz (a] apple.com> 18787 18788 - maybe fix release builds 18789 18790 * dom/ScriptElement.cpp: 18791 (WebCore::ScriptElementData::notifyFinished): 18792 18793 2009-04-19 Dan Bernstein <mitz (a] apple.com> 18794 18795 - not fix release builds 18796 18797 * dom/Document.cpp: 18798 (WebCore::Document::executeScriptSoonTimerFired): 18799 18800 2009-04-19 Dan Bernstein <mitz (a] apple.com> 18801 18802 Reviewed by Mark Rowe. 18803 18804 - fix <rdar://problem/6734365> REGRESSION eBay "Save this search" link 18805 does nothing the second time search results are opened 18806 18807 Test: fast/dom/HTMLScriptElement/nested-execution.html 18808 18809 Instead of executing scripts as soon as they finish loading, which may 18810 happen synchronously during execution of another script, defer their 18811 execution until the next run loop iteration, using a queue that is 18812 similar to the HTML5 notion of the "list of scripts that will execute as 18813 soon as possible", and in my testing was consistent with how Firefox 18814 behaved. 18815 18816 * dom/Document.cpp: 18817 (WebCore::Document::Document): Initialize m_executeScriptSoonTimer. 18818 (WebCore::Document::~Document): deref() script elements in 18819 m_scriptsToExecuteSoon. 18820 (WebCore::Document::executeScriptSoonTimerFired): Added. Executes the 18821 scripts in m_scriptsToExecuteSoon and deref()s them. 18822 (WebCore::Document::executeScriptSoon): Added. Appends to 18823 m_scriptsToExecuteSoon and ref()s the script element, which keeps the 18824 ScriptElementData alive as well. 18825 * dom/Document.h: 18826 * dom/ScriptElement.cpp: 18827 (WebCore::ScriptElementData::ScriptElementData): Initialize m_requested. 18828 (WebCore::ScriptElementData::requestScript): Set m_requested to true, to 18829 prevent further load requests. 18830 (WebCore::ScriptElementData::execute): Added. Moved the code from 18831 notifyFinished() which should not execute synchronously here, to be 18832 called by the Document on a 0-interval timer. 18833 (WebCore::ScriptElementData::notifyFinished): Moved the code to 18834 dispatch events and evaluate the script, which should not execute 18835 synchronously, out of here. 18836 (WebCore::ScriptElementData::ignoresLoadRequest): Changed to test for 18837 m_requested instead of m_cachedScript, because the latter is cleared 18838 before the script is evaluated. 18839 * dom/ScriptElement.h: 18840 18841 2009-04-19 Oliver Hunt <oliver (a] apple.com> 18842 18843 Reviewed by Antti Koivisto and Darin Adler. 18844 18845 <rdar://problem/6127705> Excessive memory consumption on image load failure 18846 18847 When we fail to decode an image we clear most of the image data, but not the 18848 input data itself, which can be backed by a CFData object that itself holds onto 18849 a few hundred Kbs of memory. This patch merely ensures that this buffer gets 18850 cleared. 18851 18852 * loader/CachedImage.cpp: 18853 (WebCore::CachedImage::error): 18854 18855 2009-04-19 Darin Adler <darin (a] apple.com> 18856 18857 Reviewed by Sam Weinig. 18858 18859 Add hooks so sudden termination will not cause loss of icons or local storage. 18860 rdar://problem/5951701 18861 18862 * loader/icon/IconDatabase.cpp: Marked various constants static to give them 18863 internal linkage. 18864 (WebCore::IconDatabase::IconDatabase): Added initial value for m_syncTimer. 18865 Removed unneeded initial value for m_defaultIconRecord. Changed assertion to 18866 work cross-platform. 18867 (WebCore::IconDatabase::wakeSyncThread): Added disableSuddenTermination, so 18868 we won't terminate until the sync thread has done its thing. 18869 (WebCore::IconDatabase::scheduleOrDeferSyncTimer): Added disableSuddenTermination, 18870 so we won't terminate if we have an outstanding sync timer. 18871 (WebCore::IconDatabase::syncTimerFired): Added enableSuddenTermination, to 18872 balance the one in scheduleOrDeferSyncTimer. 18873 (WebCore::IconDatabase::syncThreadMainLoop): Added enableSuddenTermination, to 18874 balance the one in wakeSyncThread. 18875 (WebCore::IconDatabase::deleteAllPreparedStatements): Use clear() instead of set(0). 18876 18877 * loader/icon/IconDatabase.h: Use a Timer instead of an OwnPtr<Timer>. 18878 18879 * storage/LocalStorageArea.cpp: 18880 (WebCore::LocalStorageArea::scheduleFinalSync): Added disableSuddenTermination. 18881 (WebCore::LocalStorageArea::scheduleItemForSync): Ditto. 18882 (WebCore::LocalStorageArea::scheduleClear): Ditto. 18883 (WebCore::LocalStorageArea::syncTimerFired): Added a disableSuddenTermination if 18884 we schedule a performSync callback for later and an unconditional 18885 enableSuddenTermination to balance the ones in the schedule calls above. 18886 (WebCore::LocalStorageArea::sync): Factored out the work of the sync function so it 18887 can continue to use early return idiom. 18888 (WebCore::LocalStorageArea::performSync): Added a call to enableSuddenTermination. 18889 18890 * storage/LocalStorageArea.h: Added declaration of the sync function. 18891 18892 2009-04-19 David Kilzer <ddkilzer (a] apple.com> 18893 18894 Make FEATURE_DEFINES completely dynamic 18895 18896 Reviewed by Darin Adler. 18897 18898 Make FEATURE_DEFINES depend on individual ENABLE_FEATURE_NAME 18899 variables for each feature, making it possible to remove all 18900 knowledge of FEATURE_DEFINES from build-webkit. 18901 18902 * Configurations/FeatureDefines.xcconfig: Extract a variable 18903 from FEATURE_DEFINES for each feature setting. 18904 18905 2009-04-18 Geoffrey Garen <ggaren (a] apple.com> 18906 18907 Reviewed by Alexey Proskuryakov. 18908 18909 More fix for https://bugs.webkit.org/show_bug.cgi?id=21260 18910 Unbounded memory growth when churning elements with anonymous event handler functions 18911 18912 Removed a little more complexity from event handler creation and destruction. 18913 18914 Removed the jsProtectedEventListeners, jsProtectedInlineEventListeners, 18915 and jsInlineEventListeners maps, and all the code for managing them. 18916 18917 ProtectedEventListeners don't exist anymore, so they're easy to nix. 18918 18919 Inline EventListeners do still exist, but there's no reason to track 18920 them in a map. The map exists to enable 'removeEventListener' to associate 18921 a unique JSEventListener with a given JavaScript function. But the 18922 'removeEventListener' API only works with non-inline event listeners! 18923 18924 * bindings/js/JSDOMGlobalObject.cpp: 18925 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): 18926 (WebCore::JSDOMGlobalObject::findJSEventListener): 18927 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 18928 (WebCore::JSDOMGlobalObject::createJSInlineEventListener): 18929 * bindings/js/JSDOMGlobalObject.h: 18930 * bindings/js/JSEventListener.cpp: 18931 (WebCore::JSEventListener::JSEventListener): 18932 (WebCore::JSEventListener::clearJSFunctionInline): 18933 * bindings/js/JSLazyEventListener.cpp: 18934 (WebCore::JSLazyEventListener::~JSLazyEventListener): 18935 (WebCore::JSLazyEventListener::parseCode): 18936 * bindings/scripts/CodeGeneratorJS.pm: 18937 18938 2009-04-18 Dan Bernstein <mitz (a] apple.com> 18939 18940 - try to fix the Windows build 18941 18942 * editing/VisiblePosition.cpp: 18943 (WebCore::VisiblePosition::characterAfter): 18944 18945 2009-04-18 Dan Bernstein <mitz (a] apple.com> 18946 18947 - revert the previous change, which was to a file that the Windows 18948 port does not even use 18949 18950 * icu/unicode/utf16.h: 18951 18952 2009-04-18 Dan Bernstein <mitz (a] apple.com> 18953 18954 Reviewed by Geoffrey Garen. 18955 18956 - try to fix the Windows build 18957 18958 * icu/unicode/utf16.h: 18959 18960 2009-04-18 Simon Fraser <simon.fraser (a] apple.com> 18961 18962 Reviewed by Antti Koivisto. 18963 18964 https://bugs.webkit.org/show_bug.cgi?id=25066 18965 18966 When a <video> element gained a RenderLayer via opacity, reflection etc., the 18967 layer hierarchy was not correctly updated because RenderMedia skipped a level 18968 when asked for its children; it skipped m_controlsShadowRoot's renderer, which 18969 actually has a layer. 18970 18971 Test: fast/layers/video-layer.html 18972 18973 * rendering/MediaControlElements.cpp: 18974 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 18975 Don't manually call setParent() on the renderer. It will happen later 18976 as a result of addChild(). 18977 18978 * rendering/RenderMedia.cpp: 18979 (WebCore::RenderMedia::createControlsShadowRoot): 18980 Add m_controlsShadowRoot's renderer as a child. 18981 18982 * rendering/RenderMedia.h: 18983 (WebCore::RenderMedia::children): 18984 Now maintain a RenderObjectChildList, m_children, and remove the unneeded 18985 removeChild() method. Make the two children() methods inline. 18986 18987 * rendering/RenderObject.cpp: 18988 (WebCore::RenderObject::moveLayers): 18989 Assert if moveLayers() is called with an oldParent that is not the 18990 layer's actual parent (which would have revealed this bug). 18991 18992 2009-04-18 Geoffrey Garen <ggaren (a] apple.com> 18993 18994 Reviewed by Cameron Zwarich. 18995 18996 Fixed a layout test failure, caused by my last check-in 18997 (fast/dom/script-element-gc.html). 18998 18999 * bindings/js/JSDOMBinding.cpp: 19000 (WebCore::isObservableThroughDOM): 19001 * html/HTMLScriptElement.h: 19002 (WebCore::HTMLScriptElement::haveFiredLoadEvent): Treat script elements 19003 just like image elements: if a script element is loading, mark its JS 19004 wrapper, even if the element is not in the document. 19005 19006 2009-04-18 Jian Li <jianli (a] chromium.org> 19007 19008 Reviewed by Dimitri Glazkov. 19009 19010 https://bugs.webkit.org/show_bug.cgi?id=25170 19011 Upstream V8WorkerCustom.cpp and V8WorkerContextCustom.cpp for V8 bindings. 19012 19013 * bindings/v8/WorkerContextExecutionProxy.cpp: 19014 (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): 19015 * bindings/v8/WorkerContextExecutionProxy.h: 19016 * bindings/v8/custom/V8WorkerContextCustom.cpp: Added. 19017 * bindings/v8/custom/V8WorkerCustom.cpp: Added. 19018 19019 2009-04-18 Jian Li <jianli (a] chromium.org> 19020 19021 Reviewed by Dimitri Glazkov. 19022 19023 https://bugs.webkit.org/post_bug.cg://bugs.webkit.org/show_bug.cgi?id=25167 19024 Change createHiddenXHRDependency and removeHiddenXHRDependency so that they can be used by other custom code in V8 bindings. 19025 19026 * bindings/v8/V8Utilities.cpp: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.cpp. 19027 (WebCore::createHiddenDependency): 19028 (WebCore::removeHiddenDependency): 19029 * bindings/v8/V8Utilities.h: Renamed from WebCore/bindings/v8/V8XMLHttpRequestUtilities.h. 19030 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 19031 (WebCore::ACCESSOR_SETTER): 19032 (WebCore::CALLBACK_FUNC_DECL): 19033 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: 19034 (WebCore::ACCESSOR_SETTER): 19035 (WebCore::CALLBACK_FUNC_DECL): 19036 19037 2009-04-18 Drew Wilson <amw (a] apple.com> 19038 19039 <rdar://problem/6781407> VisiblePosition.characterAfter should return UChar32 19040 19041 Reviewed by Dan Bernstein. 19042 19043 No test case since there is no change in behavior. 19044 19045 * editing/VisiblePosition.cpp: 19046 (WebCore::VisiblePosition::characterAfter): Now handles surrogate 19047 pairs correctly and returns a UChar32. 19048 * editing/VisiblePosition.h: 19049 (WebCore::VisiblePosition::characterBefore): Now returns a UChar32. 19050 * editing/visible_units.cpp: 19051 (WebCore::endOfFirstWordBoundaryContext): Renamed 19052 firstNonComplexContextLineBreak() to this. Changed it to use the 19053 generic requiresContextForWordBoundary() instead of 19054 hasLineBreakingPropertyComplexContext(). 19055 (WebCore::startOfLastWordBoundaryContext): Replaces 19056 lastNonComplexContextLineBreak(), but returns the offset of 19057 the character after the last character that does not require 19058 context for word breaking. Also changed to use 19059 requiresContextForWordBoundary(). 19060 (WebCore::previousBoundary): Updated for the above changes in 19061 names and semantics, and changed to use 19062 requiresContextForWordBoundary(). 19063 (WebCore::nextBoundary): Ditto. 19064 (WebCore::startWordBoundary): Ditto. 19065 (WebCore::endWordBoundary): Ditto. 19066 (WebCore::previousWordPositionBoundary): Ditto. 19067 (WebCore::nextWordPositionBoundary): Ditto. 19068 * platform/text/TextBoundaries.h: 19069 (WebCore::requiresContextForWordBoundary): Added. 19070 * platform/text/mac/TextBoundaries.mm: 19071 19072 2009-04-18 Geoffrey Garen <ggaren (a] apple.com> 19073 19074 Reviewed by Cameron Zwarich. 19075 19076 Fixed <rdar://problem/6797442> | https://bugs.webkit.org/show_bug.cgi?id=25285 19077 REGRESSION (r42569): Profiles cannot be selected in inspector profiler 19078 19079 EventListeners are shared; RegisteredEventListeners are not. Therefore, 19080 when a node wrapper needs to invalidate the node's JS event listeners, 19081 it should invalidate its RegisteredEventListeners, not its EventListeners. 19082 Otherwise, it might invalidate an EventListener shared by another node. 19083 19084 * dom/RegisteredEventListener.h: 19085 (WebCore::invalidateEventListeners): ditto 19086 19087 2009-04-18 Pierre d'Herbemont <pdherbemont (a] apple.com> 19088 19089 Reviewed by Mark Rowe. 19090 19091 <rdar://problem/6781295> video.buffered and video.seekable are not 19092 the same. video.buffered should return only what is buffered and 19093 not what is seekable 19094 19095 * WebCore.base.exp: Added wkQTMovieMaxTimeSeekable. 19096 19097 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 19098 (WebCore::MediaPlayerPrivate::maxTimeSeekable): Return wkQTMovieMaxTimeSeekable. 19099 19100 * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeSeekable. 19101 * platform/mac/WebCoreSystemInterface.mm: Ditto. 19102 19103 2009-04-18 Pierre d'Herbemont <pdherbemont (a] apple.com> 19104 19105 Reviewed by Adele Peterson. 19106 19107 <rdar://problem/6747241> work around QTKit no longer reaching 19108 QTMovieLoadStateComplete 19109 19110 * WebCore.base.exp: Export wkQTMovieMaxTimeLoadedChangeNotification. 19111 19112 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 19113 (WebCore::MediaPlayerPrivate::createQTMovie): observe QTMovieMaxTimeLoadedChangeNotification. 19114 (WebCore::MediaPlayerPrivate::updateStates): compare duuration() with maxTimeLoaded() instead of 19115 using QTMovieLoadStateComplete to determine if a movie are fully loaded. 19116 19117 * platform/mac/WebCoreSystemInterface.h: Add wkQTMovieMaxTimeLoadedChangeNotification. 19118 * platform/mac/WebCoreSystemInterface.mm: Ditto. 19119 19120 2009-04-18 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 19121 19122 Reviewed by George Staikos. 19123 19124 Make WML work again, most regressions test were failing. 19125 19126 * dom/Document.cpp: Be sure to create WML elements in WML namespace. Otherwhise hasTagName() comparisions fail. 19127 (WebCore::Document::createElement): 19128 * wml/WMLCardElement.cpp: Add ASSERT(hasTagName(cardTag)) to catch errors like this in future. 19129 (WebCore::WMLCardElement::WMLCardElement): 19130 * wml/WMLTagNames.in: Wrap comment in #if 0/#endif blocks, to silence the generation script. 19131 19132 2009-04-17 Justin Garcia <justin.garcia (a] apple.com> 19133 19134 Reviewed by Dan Bernstein. 19135 19136 https://bugs.webkit.org/show_bug.cgi?id=25277 19137 If there is no line wrapping, a caret can leave its containing block but it shouldn't leave its root line box 19138 19139 Also added code to handle a caret wider than one pixel. 19140 19141 Added fast/inline/25277.html and fast/inline/25277-2.html 19142 19143 * rendering/RenderText.cpp: 19144 (WebCore::RenderText::localCaretRect): Distribute a caret's width to either side of the offset, 19145 so that a caret between two characters doesn't hang over one character more than the other. 19146 If there is no wrapping, the caret can leave its containing block, but not its root line box. 19147 19148 2009-04-17 Geoffrey Garen <ggaren (a] apple.com> 19149 19150 Reviewed by Oliver Hunt. 19151 19152 More fix for https://bugs.webkit.org/show_bug.cgi?id=21260 19153 Unbounded memory growth when churning elements with anonymous event handler functions 19154 19155 Some refactoring of "inline" event listeners. 19156 19157 Renames: 19158 dispatchEventForType => dispatchEvent 19159 setWindowInlineEventListenerForTypeAndAttribute => setWindowInlineEventListener 19160 removeInlineEventListenerForType => clearInlineEventListener 19161 setInlineEventListenerForType => setInlineEventListener 19162 inlineEventListenerForType => getInlineEventListener 19163 19164 * bindings/js/JSLazyEventListener.cpp: 19165 (WebCore::eventParameterName): 19166 (WebCore::JSLazyEventListener::JSLazyEventListener): 19167 (WebCore::createInlineEventListener): 19168 * bindings/js/JSLazyEventListener.h: Added two helper functions for 19169 creating "inline" event listeners. These replace Document::createEventListener, 19170 and abstract the creation of JS event listeners for DOM attributes out 19171 of the DOM. Removed legacy JSProtectedEventListener constructor code for 19172 adding the event listener's function to a map, since lazy event listeners 19173 don't have functions at construction time. 19174 19175 * dom/Document.cpp: 19176 (WebCore::Document::setFocusedNode): 19177 * dom/Document.h: 19178 (WebCore::Document::isSVGDocument): 19179 * dom/Element.cpp: 19180 (WebCore::Element::setWindowInlineEventListener): 19181 * dom/Element.h: Updated for renames. Nixed Document::createEventListener, 19182 mentioned above. Moved setWindowInlineEventListenerForTypeAndAttribute 19183 to Element, for simplicity. 19184 19185 * dom/InputElement.cpp: 19186 (WebCore::InputElement::setValueFromRenderer): 19187 * dom/Node.cpp: 19188 (WebCore::Node::dispatchFocusEvent): 19189 (WebCore::Node::dispatchBlurEvent): 19190 (WebCore::Node::dispatchEvent): 19191 (WebCore::Node::clearInlineEventListener): 19192 (WebCore::Node::setInlineEventListener): 19193 (WebCore::Node::getInlineEventListener): 19194 (WebCore::Node::onabort): 19195 (WebCore::Node::setOnabort): 19196 (WebCore::Node::etc.): 19197 * dom/Node.h: Updated for renames. 19198 19199 * editing/ReplaceSelectionCommand.cpp: 19200 (WebCore::ReplacementFragment::ReplacementFragment): Updated for renames. 19201 19202 Updated these files for renames, and to use the new createInlineEventListener 19203 helper function: 19204 19205 * html/HTMLBodyElement.cpp: 19206 (WebCore::HTMLBodyElement::parseMappedAttribute): 19207 * html/HTMLButtonElement.cpp: 19208 (WebCore::HTMLButtonElement::parseMappedAttribute): 19209 * html/HTMLElement.cpp: 19210 (WebCore::HTMLElement::parseMappedAttribute): 19211 * html/HTMLFormControlElement.cpp: 19212 (WebCore::HTMLFormControlElement::onChange): 19213 * html/HTMLFormElement.cpp: 19214 (WebCore::HTMLFormElement::prepareSubmit): 19215 (WebCore::HTMLFormElement::reset): 19216 (WebCore::HTMLFormElement::parseMappedAttribute): 19217 * html/HTMLFrameElementBase.cpp: 19218 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 19219 * html/HTMLFrameSetElement.cpp: 19220 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 19221 * html/HTMLImageElement.cpp: 19222 (WebCore::HTMLImageElement::parseMappedAttribute): 19223 * html/HTMLImageLoader.cpp: 19224 (WebCore::HTMLImageLoader::dispatchLoadEvent): 19225 * html/HTMLInputElement.cpp: 19226 (WebCore::HTMLInputElement::parseMappedAttribute): 19227 (WebCore::HTMLInputElement::onSearch): 19228 * html/HTMLMediaElement.cpp: 19229 (WebCore::HTMLMediaElement::loadInternal): 19230 * html/HTMLObjectElement.cpp: 19231 (WebCore::HTMLObjectElement::parseMappedAttribute): 19232 * html/HTMLScriptElement.cpp: 19233 (WebCore::HTMLScriptElement::parseMappedAttribute): 19234 (WebCore::HTMLScriptElement::dispatchLoadEvent): 19235 (WebCore::HTMLScriptElement::dispatchErrorEvent): 19236 * html/HTMLSelectElement.cpp: 19237 (WebCore::HTMLSelectElement::parseMappedAttribute): 19238 * html/HTMLTextAreaElement.cpp: 19239 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 19240 * html/HTMLTokenizer.cpp: 19241 (WebCore::HTMLTokenizer::notifyFinished): 19242 * page/AccessibilityRenderObject.cpp: 19243 (WebCore::AccessibilityRenderObject::mouseButtonListener): 19244 * page/DOMWindow.cpp: 19245 * page/DOMWindow.h: 19246 (WebCore::DOMWindow::eventListeners): 19247 * page/EventHandler.cpp: 19248 (WebCore::EventHandler::canMouseDownStartSelect): 19249 (WebCore::EventHandler::canMouseDragExtendSelect): 19250 (WebCore::EventHandler::sendScrollEvent): 19251 * page/Page.cpp: 19252 (WebCore::networkStateChanged): 19253 * rendering/RenderListBox.cpp: 19254 (WebCore::RenderListBox::valueChanged): 19255 * rendering/RenderTextControl.cpp: 19256 (WebCore::RenderTextControl::selectionChanged): 19257 * svg/SVGElement.cpp: 19258 (WebCore::SVGElement::parseMappedAttribute): 19259 * svg/SVGElementInstance.cpp: 19260 * svg/SVGImageLoader.cpp: 19261 (WebCore::SVGImageLoader::dispatchLoadEvent): 19262 * svg/SVGSVGElement.cpp: 19263 (WebCore::SVGSVGElement::parseMappedAttribute): 19264 * svg/SVGScriptElement.cpp: 19265 (WebCore::SVGScriptElement::dispatchErrorEvent): 19266 * wml/WMLInputElement.cpp: 19267 (WebCore::WMLInputElement::defaultEventHandler): 19268 19269 2009-04-17 David Kilzer <ddkilzer (a] apple.com> 19270 19271 Simplify FEATURE_DEFINES definition 19272 19273 Reviewed by Darin Adler. 19274 19275 This moves FEATURE_DEFINES and its related ENABLE_FEATURE_NAME 19276 variables to their own FeatureDefines.xcconfig file. It also 19277 extracts a new ENABLE_GEOLOCATION variable so that 19278 FEATURE_DEFINES only needs to be defined once. 19279 19280 * Configurations/FeatureDefines.xcconfig: Added. 19281 * Configurations/WebCore.xcconfig: Removed definition of 19282 ENABLE_SVG_DOM_OBJC_BINDINGS and FEATURE_DEFINES. Added include 19283 of FeatureDefines.xcconfig. 19284 * WebCore.xcodeproj/project.pbxproj: Added 19285 FeatureDefines.xcconfig file. 19286 * bindings/scripts/CodeGeneratorObjC.pm: When creating a list of 19287 command-line macro definitions, split on one-or-more spaces 19288 instead of a single space since the FEATURE_DEFINES macro may 19289 now contain more than one space between macros if some macros 19290 aren't defined. 19291 19292 2009-04-17 Brady Eidson <beidson (a] apple.com> 19293 19294 Reviewed by Mark Rowe 19295 19296 <rdar://problem/6786999> Tiger WebKit shouldn't try to POST on back/forward without nagging. 19297 19298 * platform/network/mac/ResourceHandleMac.mm: 19299 (WebCore::ResourceHandle::willLoadFromCache): 19300 19301 2009-04-17 Darin Adler <darin (a] apple.com> 19302 19303 Reviewed by Timothy Hatcher. 19304 19305 Added sudden termination functions that can be called without involving 19306 the page or client. 19307 19308 * GNUmakefile.am: Added SuddenTermination.h. 19309 * WebCore.vcproj/WebCore.vcproj: Ditto. 19310 * WebCore.xcodeproj/project.pbxproj: Ditto. Also added SuddenTermination.mm. 19311 19312 * platform/SuddenTermination.h: Added. 19313 * platform/mac/SuddenTermination.mm: Added. 19314 19315 2009-04-17 Eric Seidel <eric (a] webkit.org> 19316 19317 Reviewed by Simon Fraser. 19318 19319 Move more code into RenderSVGModelObject 19320 19321 needsLayer() already returns false from RenderSVGModelObject 19322 lineHeight and baselinePosition are from days of RenderPath having RenderBox parents. 19323 19324 I also added comments to explain how focus rings work (now that I understand) 19325 I got rid of two more uses of m_absoluteBounds (nearly dead!) 19326 19327 * rendering/RenderPath.cpp: 19328 * rendering/RenderPath.h: 19329 * rendering/RenderSVGContainer.cpp: 19330 (WebCore::RenderSVGContainer::paint): 19331 (WebCore::RenderSVGContainer::addFocusRingRects): 19332 * rendering/RenderSVGContainer.h: 19333 * rendering/RenderSVGModelObject.cpp: 19334 (WebCore::RenderSVGModelObject::absoluteRects): 19335 (WebCore::RenderSVGModelObject::absoluteQuads): 19336 * rendering/RenderSVGModelObject.h: 19337 19338 2009-04-16 Peter Kasting <pkasting (a] google.com> 19339 19340 Reviewed by Adele Peterson. 19341 19342 https://bugs.webkit.org/show_bug.cgi?id=25238 19343 Invalidate the hovered scrollbar part when resetting the pressed part, 19344 since once there is no pressed part we can draw a hovered state. 19345 19346 * platform/Scrollbar.cpp: 19347 (WebCore::Scrollbar::setHoveredPart): 19348 (WebCore::Scrollbar::setPressedPart): 19349 19350 2009-04-16 Darin Fisher <darin (a] chromium.org> 19351 19352 Reviewed by Darin Adler. 19353 19354 https://bugs.webkit.org/show_bug.cgi?id=25223 19355 REGRESSION: Back button after form submission to the same URL fails to navigate. 19356 19357 Test: http/tests/navigation/post-goback-same-url.html 19358 19359 * loader/FrameLoader.cpp: 19360 (WebCore::FrameLoader::loadItem): Check if the page we are leaving has 19361 FormData. 19362 19363 2009-04-17 Nikolas Zimmermann <nikolas.zimmerman (a] torchmobile.com> 19364 19365 Not reviewed. Fix WML enabled builds. 19366 19367 * rendering/RenderTableRow.cpp: Remove dead code, which is no longer necessary. 19368 (WebCore::RenderTableRow::addChild): 19369 * wml/WMLInputElement.cpp: Apply same fix HTMLInputElement received. Covert RenderObject's to RenderTextControl where needed. 19370 (WebCore::WMLInputElement::defaultEventHandler): 19371 19372 2009-04-17 Pierre d'Herbemont <pdherbemont (a] apple.com> 19373 19374 Reviewed by Simon Fraser. 19375 19376 https://bugs.webkit.org/show_bug.cgi?id=24849 19377 19378 Add support for the media element 'played' attribute. 19379 This involves support of "normalized TimeRanges" as described by 19380 the spec. 19381 19382 Test: media/video-played.html 19383 19384 * html/HTMLMediaElement.cpp: 19385 (WebCore::HTMLMediaElement::HTMLMediaElement): Renamed 19386 m_currentTimeDuringSeek->m_lastSeekTime. Added m_playing and m_playedTimeRanges. 19387 (WebCore::HTMLMediaElement::loadInternal): Reset m_playing, m_lastSeekTime, and 19388 m_playedTimeRanges 19389 (WebCore::HTMLMediaElement::seek): Set current time to m_playedTimeRanges 19390 (WebCore::HTMLMediaElement::currentTime): m_currentTimeDuringSeek -> m_lastSeekTime 19391 (WebCore::HTMLMediaElement::played): Returns m_playedTimeRanges. 19392 (WebCore::HTMLMediaElement::updatePlayState): Add the new played time ranges when pausing. 19393 Set the m_playing flag. 19394 * html/HTMLMediaElement.h: 19395 19396 * html/TimeRanges.cpp: 19397 (TimeRanges::add): Merge range(s) if overlap. 19398 * html/TimeRanges.h: Add various helpers (below). 19399 (WebCore::TimeRanges::Range::isPointInRange): Added. 19400 (WebCore::TimeRanges::Range::isOverlappingRange): Ditto. 19401 (WebCore::TimeRanges::Range::unionWithOverlappingRange): Ditto. 19402 (WebCore::TimeRanges::Range::isBeforeRange): Ditto. 19403 19404 2009-04-17 Darin Adler <darin (a] apple.com> 19405 19406 Reviewed by Antti Koivisto. 19407 19408 Bug 25210: don't use ObjC methods to wrap/unwrap DOM objects with ObjC 19409 https://bugs.webkit.org/show_bug.cgi?id=25210 19410 19411 * WebCore.base.exp: Export the core and kit function overloads that are used 19412 in WebKit. Also resorted this file. 19413 19414 * WebCore.xcodeproj/project.pbxproj: Re-added DOMHTMLCanvasElement.h to fix 19415 a strange problem with the file type. 19416 19417 * bindings/objc/DOM.mm: Removed the many extraneous includes. Added new includes 19418 so we can use and implement the new core and kit functions. Import DOMInternal.h 19419 first so it can do its public/private magic. 19420 (-[DOMNode _rootObject]): Changed to use early-return style. 19421 (kitClass): Added. Tells the wrapper generator what kind of node class to create 19422 to wrap DOM nodes. This has the code that used to be in the _wrapNode method. 19423 (kit): Added. Takes an EventTarget and makes the appropriate type of wrapper, 19424 dpending on whether it's a Node or an SVGElementInstance. This replace methods 19425 that used to be on both of those classes. 19426 (-[DOMNode boundingBox]): Changed to use early return, and the core function. 19427 (-[DOMNode lineBoxRects]): Ditto. 19428 (-[DOMNode renderedImage]): Ditto. 19429 (-[DOMRange boundingBox]): Ditto. 19430 (-[DOMRange lineBoxRects]): Ditto. 19431 (-[DOMElement image]): Ditto. 19432 (-[DOMElement _font]): Ditto. 19433 (-[DOMElement _imageTIFFRepresentation]): Ditto. 19434 (-[DOMElement _getURLAttribute:]): Ditto. 19435 (-[DOMElement isFocused]): Ditto. 19436 (kit): Hand-wrote the version of this for NodeFilter, since it's a protocol, 19437 not a class in the binding. 19438 (core): Ditto. 19439 (-[DOMNodeFilter acceptNode:]): Use core. 19440 19441 * bindings/objc/DOMAbstractView.mm: 19442 (-[DOMAbstractView document]): Use kit. 19443 (-[DOMAbstractView _disconnectFrame]): Call removeDOMWrapper, which is no longer 19444 in the WebCore namespace, since it's headed for WebKit in the future. 19445 (core): Hand-wrote the version of this for DOMAbstractView.mm, since we store 19446 a pointer to the Frame, not the DMWindow. 19447 (kit): Ditto. 19448 19449 * bindings/objc/DOMCSS.mm: 19450 (kitClass): Added. Tells the wrapper generator what kind of node class to create 19451 to wrap CSS objects. This has the code that used to be in the _wrapStyleSheet, 19452 _wrapCSSRule, and _wrapCSSValue methods. 19453 19454 * bindings/objc/DOMEvents.mm: 19455 (kitClass): Added. Tells the wrapper generator what kind of node class to create 19456 to wrap event objects. This has the code that used to be in the _wrapEvent methods. 19457 19458 * bindings/objc/DOMHTML.mm: 19459 (-[DOMHTMLDocument createDocumentFragmentWithMarkupString:baseURL:]): Use kit and core. 19460 (-[DOMHTMLDocument createDocumentFragmentWithText:]): Ditto. 19461 (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Ditto. 19462 (-[DOMHTMLInputElement _rectOnScreen]): Ditto. 19463 (-[DOMHTMLInputElement _replaceCharactersInRange:withString:selectingFromIndex:]): Ditto. 19464 (-[DOMHTMLInputElement _selectedRange]): Ditto. 19465 (-[DOMHTMLInputElement _setAutofilled:]): Ditto. 19466 (-[DOMHTMLSelectElement _activateItemAtIndex:]): Ditto. 19467 (-[DOMHTMLInputElement _isEdited]): Ditto. 19468 (-[DOMHTMLTextAreaElement _isEdited]): Ditto. 19469 (kitClass): Added. Gives HTMLOptionCollection objects an appropriate wrapper. 19470 19471 * bindings/objc/DOMInternal.h: Removed most of the imports. There's no reason 19472 to have this header include all the other internal DOM headers. Removed unneeded 19473 interfaces, including the redeclaration of _init in DOMObject, since it's already 19474 inherited from WebScriptObject. Moved all the functions out of the WebCore 19475 namespace since this code is destined for WebKit, which doesn't use a namespace. 19476 Added kit and core functions for the two classes that live in this header. 19477 19478 * bindings/objc/DOMInternal.mm: 19479 (-[WebScriptObject _initializeScriptDOMNodeImp]): Use core. 19480 19481 * bindings/objc/DOMObject.h: Made the _internal field be private instead of 19482 protected. This also allows the "#define private public" trick to be used to 19483 make the field accessible inside the bindings code. 19484 19485 * bindings/objc/DOMObject.mm: 19486 (-[DOMObject dealloc]): Updated for namespace change. 19487 (-[DOMObject sheet]): Use core and kit functions. 19488 19489 * bindings/objc/DOMRGBColor.mm: 19490 (-[DOMRGBColor dealloc]): Updated for namespace change. 19491 (-[DOMRGBColor red]): Use kit function. 19492 (-[DOMRGBColor green]): Ditto. 19493 (-[DOMRGBColor blue]): Ditto. 19494 (-[DOMRGBColor alpha]): Ditto. 19495 (core): Added. Replaces the _RGBColor method. 19496 (kit): Added. Replaces the _wrapRGBColor method. 19497 19498 * bindings/objc/DOMSVGPathSegInternal.mm: 19499 (kitClass): Added. Replaces the _wrapSVGPathSeg method. 19500 19501 * bindings/objc/DOMUtility.mm: 19502 (JSC::createDOMWrapper): Use kit function. 19503 (createDOMWrapper): Ditto. 19504 19505 * bindings/objc/DOMXPath.mm: 19506 (core): Added. Replaces the _xpathNSResolver method. 19507 (kit): Added. Replaces the _wrapXPathNSResolver method. 19508 19509 * bindings/objc/ObjCEventListener.mm: 19510 (WebCore::ObjCEventListener::find): Changed to use early return. 19511 (WebCore::ObjCEventListener::handleEvent): Use kit function. 19512 19513 * bindings/objc/ObjCNodeFilterCondition.mm: 19514 (WebCore::ObjCNodeFilterCondition::acceptNode): Use kit function. 19515 19516 * bindings/objc/WebScriptObject.mm: 19517 (+[WebScriptObject scriptObjectForJSObject:originRootObject:rootObject:]): 19518 Updated for namespace change. 19519 19520 * bindings/scripts/CodeGeneratorObjC.pm: Changed spelling of "license" 19521 to U.S. spelling. Removed GetObjCTypeMaker, GetObjCTypeGetterName, 19522 GetInternalTypeGetterSignature, and GetInternalTypeMakerSignature. 19523 Changed includes to conform to new scheme. Generate core and kit 19524 functions instead of methods and calls to those functions. Added a new 19525 attribute, Polymorphic, to indicate classes that have derived subclasses. 19526 Removed the old ObjCCustomInternalImpl attribute. 19527 19528 * css/CSSRule.idl: Use Polymorphic attribute, so core and kit functions 19529 will be generated, with kit calling kitClass. This requires less hand- 19530 written code than the old ObjCCustomInternalImpl. 19531 * css/CSSValue.idl: Ditto. 19532 * css/StyleSheet.idl: Ditto. 19533 * dom/Event.idl: Ditto. 19534 * dom/Node.idl: Ditto. 19535 * html/HTMLCollection.idl: Ditto. 19536 * svg/SVGPathSeg.idl: Ditto. 19537 19538 * editing/TextAffinity.h: Moved kit and core functions out of the 19539 WebCore namespace since this code is destined for WebKit, which 19540 doesn't use a namespace 19541 19542 * platform/mac/ClipboardMac.mm: 19543 (WebCore::ClipboardMac::declareAndWriteDragImage): Use kit function. 19544 19545 * platform/mac/DragDataMac.mm: 19546 (WebCore::DragData::asFragment): Use core function. 19547 19548 * platform/mac/PasteboardMac.mm: 19549 (WebCore::Pasteboard::writeSelection): Use kit function. 19550 19551 * svg/SVGElementInstance.idl: Removed now-unneeded ObjCCustomInternalImpl 19552 function. This can be generated in a standard way now. 19553 * svg/SVGViewSpec.idl: Ditto. 19554 19555 2009-04-17 Brady Eidson <beidson (a] apple.com> 19556 19557 Reviewed by Maciej Stachowiak 19558 19559 <rdar://problem/5753299> "Private Browsing" doesn't affect HTML 5 Database storage 19560 19561 If the Page is in private browsing mode when a statement is queued up, flag that 19562 statement as read-only. 19563 19564 It would be better to set the read-only flag on the database thread when it actually 19565 executes, but that would either require making Settings access a lock-protected operation 19566 or involve a synchronous callback to the WebCore thread, neither of which seem worth it. 19567 If it becomes an issue in practice, we can revisit this later. 19568 19569 Test: storage/private-browsing-readonly.html 19570 19571 * storage/Database.cpp: 19572 (WebCore::Database::setAuthorizerReadOnly): 19573 * storage/Database.h: 19574 19575 * storage/DatabaseAuthorizer.cpp: For all action types that would alter the database, 19576 deny when in read-only mode. 19577 (WebCore::DatabaseAuthorizer::reset): 19578 (WebCore::DatabaseAuthorizer::createTable): 19579 (WebCore::DatabaseAuthorizer::dropTable): 19580 (WebCore::DatabaseAuthorizer::allowAlterTable): 19581 (WebCore::DatabaseAuthorizer::createIndex): 19582 (WebCore::DatabaseAuthorizer::dropIndex): 19583 (WebCore::DatabaseAuthorizer::createTrigger): 19584 (WebCore::DatabaseAuthorizer::dropTrigger): 19585 (WebCore::DatabaseAuthorizer::createVTable): 19586 (WebCore::DatabaseAuthorizer::dropVTable): 19587 (WebCore::DatabaseAuthorizer::allowDelete): 19588 (WebCore::DatabaseAuthorizer::allowInsert): 19589 (WebCore::DatabaseAuthorizer::allowUpdate): 19590 (WebCore::DatabaseAuthorizer::setReadOnly): 19591 * storage/DatabaseAuthorizer.h: 19592 19593 * storage/SQLStatement.cpp: 19594 (WebCore::SQLStatement::create): Add a m_readOnly flag. 19595 (WebCore::SQLStatement::SQLStatement): Ditto. 19596 (WebCore::SQLStatement::execute): If m_readOnly is set, tell the authorizer to change 19597 to read-only mode. 19598 * storage/SQLStatement.h: 19599 19600 * storage/SQLTransaction.cpp: 19601 (WebCore::SQLTransaction::executeSQL): Flag the statement as read-only if the Page is 19602 currently in private browsing mode. 19603 19604 2009-04-17 Eric Seidel <eric (a] webkit.org> 19605 19606 Reviewed by Antti Koivisto. 19607 19608 Move RenderPath and RenderSVGContainer onto a unified clippedOverflowRectForRepaint 19609 https://bugs.webkit.org/show_bug.cgi?id=25268 19610 19611 Lots of minus lines. Now we're sharing more sane code 19612 (which will respect -webkit-transforms! and scroll offsets correctly) 19613 19614 Which means this fixes: 19615 https://bugs.webkit.org/show_bug.cgi?id=20769 and 19616 https://bugs.webkit.org/show_bug.cgi?id=21968 too! 19617 19618 We're no longer expanding the paint rect "for anti-aliasing", since 19619 I can't find a case where that's required. If it is, repaintRectInLocalCoordinates() 19620 should be fixed to handle those cases instead of here. 19621 19622 This fixes svg/custom/scroll-hit-test (now that we respect scroll offsets when repainting) 19623 as well as improves our focus ring drawing seen in svg/custom/focus-ring 19624 focus rings are now closer to transformed content by a couple pixels (they were needlessly outset by the antialiasing hack) 19625 Also, it fixes the dumped rects for markers, causing a progression in svg/custom/marker-overflow-clip 19626 19627 * rendering/RenderPath.cpp: 19628 (WebCore::RenderPath::repaintRectInLocalCoordinates): 19629 (WebCore::RenderPath::setPath): 19630 * rendering/RenderPath.h: 19631 * rendering/RenderSVGContainer.cpp: 19632 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): 19633 * rendering/RenderSVGContainer.h: 19634 * rendering/RenderSVGModelObject.cpp: 19635 (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint): 19636 (WebCore::RenderSVGModelObject::computeRectForRepaint): 19637 * rendering/RenderSVGModelObject.h: 19638 * rendering/RenderSVGRoot.cpp: 19639 (WebCore::RenderSVGRoot::computeRectForRepaint): 19640 * rendering/RenderSVGRoot.h: 19641 19642 2009-04-17 Chris Fleizach <cfleizach (a] apple.com> 19643 19644 Reviewed by Darin Adler. 19645 19646 Bug 25259: AX: VoiceOver cmd-cntl-space does not follow the google.com->more link 19647 https://bugs.webkit.org/show_bug.cgi?id=25259 19648 19649 When a node becomes visible or hidden, accessibility needs to be told to update. 19650 19651 Test: accessibility/visible-elements.html 19652 19653 * rendering/RenderObject.cpp: 19654 (WebCore::RenderObject::styleWillChange): 19655 19656 2009-04-17 Kevin Ollivier <kevino (a] theolliviers.com> 19657 19658 wx build fix, added missing header. 19659 19660 * platform/graphics/wx/TransformationMatrixWx.cpp: 19661 19662 2009-04-17 Simon Hausmann <simon.hausmann (a] nokia.com> 19663 19664 Unreviewed build fix. 19665 19666 Fix the build with enabled SVG filters 19667 19668 * rendering/RenderSVGModelObject.cpp: Include SVGResourceFilter.h. 19669 19670 2009-04-16 Eric Roman <eroman (a] chromium.org> 19671 19672 Reviewed by Dimitri Glazkov. 19673 19674 https://bugs.webkit.org/show_bug.cgi?id=25196 19675 Add a missing V8DOMMap include. 19676 19677 * bindings/v8/WorkerScriptController.cpp: Included V8DOMMap.h. 19678 19679 2009-04-16 Dimitri Glazkov <dglazkov (a] chromium.org> 19680 19681 Reviewed by Darin Fisher. 19682 19683 https://bugs.webkit.org/show_bug.cgi?id=25260 19684 Finish V8 custom bindings for InspectorController. 19685 19686 * bindings/v8/custom/V8InspectorControllerCustom.cpp: 19687 (WebCore::CALLBACK_FUNC_DECL): Added. 19688 19689 2009-04-16 Kevin Watters <kevinwatters (a] gmail.com> 19690 19691 Reviewed by Kevin Ollivier. 19692 19693 Switch to wxGraphicsBitmap when using wxGraphicsContext so that we're not doing 19694 unnecessary conversions internally when drawing bitmaps. 19695 19696 https://bugs.webkit.org/show_bug.cgi?id=25248 19697 19698 * platform/graphics/ImageSource.h: 19699 * platform/graphics/wx/ImageSourceWx.cpp: 19700 (WebCore::ImageSource::createFrameAtIndex): 19701 * platform/graphics/wx/ImageWx.cpp: 19702 (WebCore::BitmapImage::draw): 19703 (WebCore::BitmapImage::drawPattern): 19704 19705 2009-04-16 Justin Garcia <justin.garcia (a] apple.com> 19706 19707 Reviewed by Dan Bernstein. 19708 19709 Performing a block style change in an editable root that contains only a br adds a newline 19710 https://bugs.webkit.org/show_bug.cgi?id=25256 19711 19712 * editing/CompositeEditCommand.cpp: 19713 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Fix a bad check for an root 19714 block that didn't handle a root that contained a placeholder. 19715 19716 2009-04-16 Eric Seidel <eric (a] webkit.org> 19717 19718 Reviewed by Simon Fraser. 19719 19720 Fix computeContainerBoundingBox to respect viewport translations 19721 https://bugs.webkit.org/show_bug.cgi?id=25254 19722 19723 Previously computeContainerBoundingBox was just adding the viewportTranslation. 19724 Which, although it has a confusing name, only contains the scale and translation 19725 for the viewBox/preserveAspectRatio adjustment. It does not contain the 19726 translation for the x/y offset of the viewport. 19727 localToParentTransform() does contain this offset, so we use that instead 19728 of the previous hacky code. 19729 19730 * rendering/RenderSVGContainer.h: 19731 * rendering/RenderSVGViewportContainer.h: 19732 * rendering/SVGRenderSupport.cpp: 19733 (WebCore::computeContainerBoundingBox): 19734 19735 2009-04-16 Eric Seidel <eric (a] webkit.org> 19736 19737 Reviewed by Simon Fraser. 19738 19739 Add a localToParentTransform() method which includes the 19740 full transform between local and parent local coordinates. 19741 https://bugs.webkit.org/show_bug.cgi?id=25226 19742 19743 Moved m_localTransform up into RenderSVGTransformableContainer 19744 and added a comment to RenderSVGViewportContainer to make it more 19745 clear that it does not have a localTransform(). 19746 19747 This patch reveals two more failed design decisions: 19748 1. Use of RenderBox::absoluteTransform() to mean "absoluteTransform() 19749 including only my localTransform()" callers are probably using it 19750 incorrectly anyway and are just masking bugs in the confused code. 19751 2. computeContainerBoundingBox does not include viewport translations in 19752 its computed bounding box, so bounding boxes will be off for parents of 19753 inner <svg> elements. I'll fix this an updated the results in a separate change. 19754 19755 No functional changes, thus no tests. 19756 19757 * rendering/RenderObject.cpp: 19758 (WebCore::RenderObject::localToParentTransform): 19759 (WebCore::RenderObject::absoluteTransform): 19760 * rendering/RenderObject.h: 19761 * rendering/RenderSVGContainer.cpp: 19762 (WebCore::RenderSVGContainer::layout): 19763 * rendering/RenderSVGContainer.h: 19764 (WebCore::RenderSVGContainer::viewportTransform): 19765 * rendering/RenderSVGHiddenContainer.cpp: 19766 * rendering/RenderSVGHiddenContainer.h: 19767 (WebCore::RenderSVGHiddenContainer::absoluteTransform): 19768 * rendering/RenderSVGRoot.cpp: 19769 (WebCore::RenderSVGRoot::localToParentTransform): 19770 (WebCore::RenderSVGRoot::absoluteTransform): 19771 * rendering/RenderSVGRoot.h: 19772 * rendering/RenderSVGTransformableContainer.cpp: 19773 (WebCore::RenderSVGTransformableContainer::localToParentTransform): 19774 (WebCore::RenderSVGTransformableContainer::localTransform): 19775 * rendering/RenderSVGTransformableContainer.h: 19776 * rendering/RenderSVGViewportContainer.cpp: 19777 (WebCore::RenderSVGViewportContainer::localToParentTransform): 19778 (WebCore::RenderSVGViewportContainer::absoluteTransform): 19779 * rendering/RenderSVGViewportContainer.h: 19780 * rendering/SVGRenderSupport.cpp: 19781 (WebCore::computeContainerBoundingBox): 19782 19783 2009-04-16 Adam Langley <agl (a] google.com> 19784 19785 Reviewed by Darin Fisher. 19786 19787 Fix Chromium's rendering of <option> elements inside of <optgroups>. 19788 19789 https://bugs.webkit.org/show_bug.cgi?id=25244 19790 19791 Test (will included as a manual test by https://bugs.webkit.org/show_bug.cgi?id=24900): 19792 19793 <select> 19794 <optgroup label="Should be bold"> 19795 <option>Should not be bold</option> 19796 </optgroup> 19797 </select> 19798 19799 * css/themeWin.css: adding comments 19800 * platform/chromium/PopupMenuChromium.cpp: 19801 (WebCore::PopupListBox::getRowFont): use menuStyle() rather than the item's style 19802 19803 2009-04-16 Eric Roman <eroman (a] chromium.org> 19804 19805 Reviewed by Alexey Proskuryakov. 19806 19807 https://bugs.webkit.org/show_bug.cgi?id=25218 19808 19809 Make DOMWindow::inlineEventListenerForType not have the "inline" 19810 keyword. As this method gets used outside of DOMWindow. 19811 19812 * page/DOMWindow.cpp: 19813 (WebCore::DOMWindow::inlineEventListenerForType): 19814 19815 2009-04-16 Greg Bolsinga <bolsinga (a] apple.com> 19816 19817 Reviewed by Antti Koivisto. 19818 19819 Fix <rdar://problem/6766969> 19820 19821 When deferred repaints are enabled and being reset and there is a active 19822 timer, stop the timer and do the deferred repaints immediately. 19823 19824 * page/FrameView.cpp: 19825 (WebCore::FrameView::resetDeferredRepaintDelay): 19826 19827 2009-04-16 Xan Lopez <xlopez (a] igalia.com> 19828 19829 Reviewed by Sam Weinig. 19830 19831 https://bugs.webkit.org/show_bug.cgi?id=25241 19832 Remove superfluous NotImplemented.h includes. 19833 19834 * html/CanvasRenderingContext2D.cpp: 19835 * html/CanvasStyle.cpp: 19836 * page/AccessibilityRenderObject.cpp: 19837 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 19838 * platform/graphics/GraphicsContext.cpp: 19839 * platform/graphics/cairo/ImageBufferCairo.cpp: 19840 * platform/graphics/cairo/PathCairo.cpp: 19841 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 19842 * platform/graphics/gtk/FontGtk.cpp: 19843 * platform/graphics/gtk/IconGtk.cpp: 19844 * platform/graphics/qt/IconQt.cpp: 19845 * platform/graphics/qt/ImageQt.cpp: 19846 * platform/graphics/qt/ImageSourceQt.cpp: 19847 * platform/graphics/skia/ImageBufferSkia.cpp: 19848 * platform/graphics/skia/ImageSkia.cpp: 19849 * platform/graphics/win/ColorSafari.cpp: 19850 * platform/graphics/win/FontWin.cpp: 19851 * platform/graphics/win/GraphicsContextCGWin.cpp: 19852 * platform/graphics/win/GraphicsContextCairoWin.cpp: 19853 * platform/graphics/win/SimpleFontDataCairoWin.cpp: 19854 * platform/graphics/wx/ImageWx.cpp: 19855 * platform/graphics/wx/TransformationMatrixWx.cpp: 19856 * platform/gtk/PlatformScreenGtk.cpp: 19857 * platform/gtk/PopupMenuGtk.cpp: 19858 * platform/gtk/ScrollViewGtk.cpp: 19859 * platform/gtk/ScrollbarGtk.cpp: 19860 * platform/network/cf/ResourceHandleCFNet.cpp: 19861 * platform/posix/FileSystemPOSIX.cpp: 19862 * platform/qt/DragDataQt.cpp: 19863 * platform/qt/FileSystemQt.cpp: 19864 * platform/qt/Localizations.cpp: 19865 * platform/qt/PopupMenuQt.cpp: 19866 * platform/win/EditorWin.cpp: 19867 * platform/win/PasteboardWin.cpp: 19868 * platform/wx/KeyboardEventWx.cpp: 19869 * platform/wx/PopupMenuWx.cpp: 19870 * platform/wx/SharedTimerWx.cpp: 19871 * plugins/gtk/PluginViewGtk.cpp: 19872 * plugins/mac/PluginPackageMac.cpp: 19873 * plugins/qt/PluginPackageQt.cpp: 19874 * plugins/win/PluginViewWin.cpp: 19875 * rendering/RenderThemeChromiumLinux.cpp: 19876 * svg/graphics/SVGImage.cpp: 19877 19878 2009-04-16 Geoffrey Garen <ggaren (a] apple.com> 19879 19880 Reviewed by Sam Weinig. 19881 19882 More fix for https://bugs.webkit.org/show_bug.cgi?id=21260 19883 Unbounded memory growth when churning elements with anonymous event handler functions 19884 19885 Some cleanup in event handling code. 19886 19887 * bindings/js/JSDOMGlobalObject.cpp: 19888 * bindings/js/JSDOMGlobalObject.h: Removed findJSProtectedEventListener 19889 and findJSProtectedEventListener because they are now unused. 19890 19891 * bindings/js/JSEventListener.cpp: 19892 * bindings/js/JSEventListener.h: 19893 (WebCore::JSEventListener::clearGlobalObject): 19894 * bindings/js/JSLazyEventListener.cpp: 19895 (WebCore::JSLazyEventListener::JSLazyEventListener): 19896 (WebCore::JSLazyEventListener::~JSLazyEventListener): 19897 (WebCore::JSLazyEventListener::globalObject): 19898 * bindings/js/JSLazyEventListener.h: 19899 (WebCore::JSLazyEventListener::clearGlobalObject): Nixed JSProtectedEventListener, 19900 and merged it with JSLazyEventListener, the only remaining event listener 19901 that still GC-protects its function and global object. 19902 19903 * bindings/js/ScriptController.cpp: 19904 (WebCore::ScriptController::ScriptController): 19905 * bindings/js/ScriptController.h: 19906 (WebCore::ScriptController::setEventHandlerLineNumber): 19907 (WebCore::ScriptController::eventHandlerLineNumber): Renamed handlerLineno => 19908 handlerLineNumber, because anything less would be uncivilized. Removed 19909 createInlineEventListener because it mostly did irrelevent work, so it 19910 just got in the way of understanding how event handler creation works. 19911 19912 * dom/Document.cpp: 19913 (WebCore::Document::createEventListener): 19914 * dom/XMLTokenizerLibxml2.cpp: 19915 (WebCore::XMLTokenizer::startElementNs): 19916 * html/HTMLTokenizer.cpp: 19917 (WebCore::HTMLTokenizer::processToken): Ditto. 19918 19919 2009-04-16 Beth Dakin <bdakin (a] apple.com> 19920 19921 Reviewed by Dave Hyatt. 19922 19923 Fix for https://bugs.webkit.org/show_bug.cgi?id=20765 Website 19924 crashes on load due to messy HTML in search form 19925 -and corresponding- 19926 <rdar://problem/6210633> 19927 19928 Before this patch, <form>s were allowed to sit inside tables 19929 without being wrapped by anonymous table parts. There was also a 19930 concept that such a form could be "demoted" and would not be 19931 allowed to have any children. This patch has the HTML parser mark 19932 form elements that have been demoted as such, and then the demoted 19933 forms are not given renderers. I also removed the code that allowed 19934 forms to sit in tables without anonymous table sections. So now any 19935 forms that do manage to get a renderer inside a table will also be 19936 wrapped with appropriate table parts. 19937 19938 * html/HTMLFormElement.cpp: 19939 (WebCore::HTMLFormElement::HTMLFormElement): 19940 (WebCore::HTMLFormElement::rendererIsNeeded): 19941 * html/HTMLFormElement.h: 19942 (WebCore::HTMLFormElement::setDemoted): 19943 (WebCore::HTMLFormElement::isDemoted): 19944 * html/HTMLParser.cpp: 19945 (WebCore::HTMLParser::insertNode): 19946 * rendering/RenderTable.cpp: 19947 (WebCore::RenderTable::addChild): 19948 * rendering/RenderTableRow.cpp: 19949 (WebCore::RenderTableRow::addChild): 19950 * rendering/RenderTableSection.cpp: 19951 (WebCore::RenderTableSection::addChild): 19952 19953 2009-04-16 Xiaomei Ji <xji (a] chromium.org> 19954 19955 Reviewed by Simon Fraser. 19956 19957 Fix https://bugs.webkit.org/show_bug.cgi?id=24527 19958 caret does not paint the first time you focus on a 0px right padding RTL div 19959 19960 Test: fast/forms/caret-rtl.html 19961 19962 * rendering/RenderBlock.cpp: 19963 (WebCore::RenderBlock::localCaretRect): When calculating x-axis if 19964 alignment is alignRight, we need to subtract the caretWidth so that the 19965 caret at IntRect(x, y, caretWidth, height) is inside the block. 19966 19967 2009-04-16 Justin Garcia <justin.garcia (a] apple.com> 19968 19969 Reviewed by Simon Fraser. 19970 19971 https://bugs.webkit.org/show_bug.cgi?id=25228 19972 SelectionController::absoluteCaretBounds returns an inflated caret (the caret repaint rect) 19973 19974 Return the bounds of the transformed caret, not the transformed repaint rect for the caret (which is inflated). 19975 19976 * editing/SelectionController.cpp: 19977 (WebCore::SelectionController::localCaretRect): 19978 (WebCore::SelectionController::absoluteBoundsForLocalRect): 19979 (WebCore::SelectionController::caretRepaintRect): 19980 (WebCore::SelectionController::recomputeCaretRect): 19981 * editing/SelectionController.h: 19982 19983 2009-04-16 Pierre d'Herbemont <pdherbemont (a] apple.com> 19984 19985 Reviewed by Simon Fraser. 19986 19987 https://bugs.webkit.org/show_bug.cgi?id=25187 19988 Bug 25187: <video> may not be rendered upon certain racy conditions 19989 19990 Always create the video renderer when the load state reaches QTMovieLoadStateLoaded and 19991 the element is visible, not just when the movie has just been opened. 19992 19993 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 19994 (WebCore::MediaPlayerPrivate::updateStates): Make sure we do not make false 19995 assumption on the state changes order. Create the renderer if none is present, 19996 when movie is loaded instead. 19997 19998 2009-04-16 Eric Seidel <eric (a] webkit.org> 19999 20000 Reviewed by Geoffrey Garen. 20001 20002 Add filterBoundingBox() to RenderSVGModelObject to share a tiny bit of code 20003 20004 RenderSVGModelObject has much more interesting code it can share, 20005 but I'm just trying to get the commits out of my local branch and into 20006 the repository in any order I can. :) This one was small. 20007 20008 This will be used by the unified RenderSVGModelObject 20009 clippedOverflowRectForRepaint patch coming soon. 20010 20011 * rendering/RenderPath.cpp: 20012 (WebCore::RenderPath::clippedOverflowRectForRepaint): 20013 * rendering/RenderSVGContainer.cpp: 20014 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint): 20015 * rendering/RenderSVGModelObject.cpp: 20016 (WebCore::RenderSVGModelObject::filterBoundingBox): 20017 * rendering/RenderSVGModelObject.h: 20018 20019 2009-04-16 Geoffrey Garen <ggaren (a] apple.com> 20020 20021 Reviewed by Eric Seidel and Adam Roben. 20022 20023 More fix for https://bugs.webkit.org/show_bug.cgi?id=21260 20024 Unbounded memory growth when churning elements with anonymous event handler functions 20025 20026 Simplified some EventHandler creation code. 20027 20028 Removed a pile of code whose sole purpose was to allow SVG event handlers 20029 to supply a parameter named "evt" instead of the normal "event", and 20030 replaced it with a single parameter to JSLazyEventListener's constructor 20031 specifying the parameter name to use. 20032 20033 * bindings/js/JSDOMWindowBase.h: 20034 * bindings/js/JSLazyEventListener.cpp: 20035 (WebCore::JSLazyEventListener::JSLazyEventListener): 20036 (WebCore::JSLazyEventListener::parseCode): 20037 * bindings/js/JSLazyEventListener.h: 20038 (WebCore::JSLazyEventListener::create): 20039 * bindings/js/ScriptController.cpp: 20040 (WebCore::ScriptController::createInlineEventListener): 20041 * bindings/js/ScriptController.h: 20042 * dom/Document.cpp: 20043 (WebCore::Document::createEventListener): 20044 20045 2009-04-15 Eric Seidel <eric (a] webkit.org> 20046 20047 Reviewed by David Hyatt. 20048 20049 Split out objectBoundingBox and repaintRectInLocalCoordinates from relativeBBox 20050 in preparation for simplifying (and fixing) repaint logic in the SVG rendering tree. 20051 https://bugs.webkit.org/show_bug.cgi?id=25224 20052 20053 objectBoundingBox() matches the SVG 1.1 concept of a "bounding box" 20054 20055 repaintRectInLocalCoordinates() should return the a rect covering all painted content. 20056 However, repaintRectInLocalCoordinates() still only returns the "stroke bounding box" 20057 in this patch. In a future patch, repaintRectInLocalCoordinates will be fixed to return 20058 a rect covering all painted content. In order to avoid changing several hundred layout test results, I've left 20059 the behavior as-is for now. The returned rect is used by various repaintRectInLocalCoordinates 20060 implementations and sometimes adjusted to include all painted content, but not always, and 20061 the places where the adjustments are made are sometimes wrong. Again, will be fixed in 20062 an upcoming patch. 20063 20064 This patch discovered a bug in Font::drawTextUsingSVGFont, which is probably causing 20065 bounding-box relative gradients on SVGFont glyphs to not paint correctly. 20066 I chose not to try and fix the bug in this patch and instead left a FIXME. 20067 20068 This patch also discovered that at least tspan.getBBox() is broken. This 20069 along with the foreignObject.getBBox() change will be tested (and fixed) in a 20070 later patch. https://bugs.webkit.org/show_bug.cgi?id=25225 20071 20072 No change in behavior (besides the above mentioned foreignObject.getBBox()), thus no tests. 20073 20074 * rendering/RenderForeignObject.cpp: 20075 (WebCore::RenderForeignObject::objectBoundingBox): this is a behavior improvement for getBBox() test case coming in a later patch 20076 (WebCore::RenderForeignObject::repaintRectInLocalCoordinates): only really used for layout test results, might some day be used for repaint. 20077 * rendering/RenderForeignObject.h: 20078 * rendering/RenderObject.cpp: 20079 (WebCore::RenderObject::objectBoundingBox): new methods, ASSERT if used but not implemented. 20080 (WebCore::RenderObject::repaintRectInLocalCoordinates): 20081 * rendering/RenderObject.h: 20082 * rendering/RenderPath.cpp: 20083 (WebCore::RenderPath::objectBoundingBox): 20084 (WebCore::RenderPath::repaintRectInLocalCoordinates): 20085 (WebCore::RenderPath::clippedOverflowRectForRepaint): 20086 (WebCore::RenderPath::lineHeight): 20087 (WebCore::RenderPath::baselinePosition): 20088 (WebCore::RenderPath::paint): 20089 (WebCore::RenderPath::addFocusRingRects): 20090 * rendering/RenderPath.h: 20091 * rendering/RenderSVGContainer.cpp: 20092 (WebCore::RenderSVGContainer::paint): 20093 (WebCore::RenderSVGContainer::objectBoundingBox): 20094 (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates): 20095 * rendering/RenderSVGContainer.h: 20096 * rendering/RenderSVGGradientStop.h: 20097 (WebCore::RenderSVGGradientStop::objectBoundingBox): 20098 (WebCore::RenderSVGGradientStop::repaintRectInLocalCoordinates): 20099 * rendering/RenderSVGHiddenContainer.cpp: 20100 (WebCore::RenderSVGHiddenContainer::objectBoundingBox): 20101 (WebCore::RenderSVGHiddenContainer::repaintRectInLocalCoordinates): 20102 * rendering/RenderSVGHiddenContainer.h: 20103 * rendering/RenderSVGImage.cpp: 20104 (WebCore::RenderSVGImage::objectBoundingBox): 20105 (WebCore::RenderSVGImage::repaintRectInLocalCoordinates): 20106 (WebCore::RenderSVGImage::calculateAbsoluteBounds): 20107 (WebCore::RenderSVGImage::addFocusRingRects): 20108 * rendering/RenderSVGImage.h: 20109 * rendering/RenderSVGRoot.cpp: 20110 (WebCore::RenderSVGRoot::paint): 20111 (WebCore::RenderSVGRoot::objectBoundingBox): 20112 (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates): 20113 * rendering/RenderSVGRoot.h: 20114 * rendering/RenderSVGTSpan.h: 20115 (WebCore::RenderSVGTSpan::objectBoundingBox): 20116 (WebCore::RenderSVGTSpan::repaintRectInLocalCoordinates): 20117 * rendering/RenderSVGText.cpp: 20118 (WebCore::RenderSVGText::clippedOverflowRectForRepaint): 20119 (WebCore::RenderSVGText::absoluteRects): 20120 (WebCore::RenderSVGText::absoluteQuads): 20121 (WebCore::RenderSVGText::objectBoundingBox): 20122 (WebCore::RenderSVGText::repaintRectInLocalCoordinates): 20123 * rendering/RenderSVGText.h: 20124 * rendering/RenderSVGViewportContainer.cpp: 20125 (WebCore::RenderSVGViewportContainer::viewportTransform): 20126 * rendering/SVGRenderSupport.cpp: 20127 (WebCore::computeContainerBoundingBox): 20128 * rendering/SVGRenderSupport.h: 20129 * rendering/SVGRenderTreeAsText.cpp: 20130 (WebCore::operator<<): 20131 * svg/SVGFont.cpp: 20132 (WebCore::Font::drawTextUsingSVGFont): 20133 * svg/SVGLocatable.cpp: 20134 (WebCore::SVGLocatable::getBBox): 20135 * svg/SVGPatternElement.cpp: 20136 (WebCore::SVGPatternElement::buildPattern): 20137 * svg/graphics/SVGPaintServerGradient.cpp: 20138 (WebCore::createMaskAndSwapContextForTextGradient): 20139 (WebCore::clipToTextMask): 20140 (WebCore::SVGPaintServerGradient::setup): 20141 * svg/graphics/SVGPaintServerPattern.cpp: 20142 (WebCore::SVGPaintServerPattern::setup): 20143 20144 2009-04-16 Dan Bernstein <mitz (a] apple.com> 20145 20146 Reviewed by Darin Adler. 20147 20148 - fix <rdar://problem/6032139> Table cell widths calculated 20149 incorrectly on table that uses table-layout:fixed, colspans, and a mix 20150 of percentage and pixel widths 20151 20152 Test: fast/table/fixed-granular-cols.html 20153 20154 The incorrect widths resulted from incorrect handling of the case where 20155 the <col> elements are more granular than the table cells. 20156 20157 * rendering/FixedTableLayout.cpp: 20158 (WebCore::FixedTableLayout::calcWidthArray): When processing <col> 20159 elements, append effective columns or split existing effective columns 20160 as needed. 20161 20162 2009-04-16 Alexey Proskuryakov <ap (a] webkit.org> 20163 20164 <rdar://problem/6795285> Infinite recursion in ResourceHandle::receivedRequestToContinueWithoutCredential 20165 20166 Rolled out <http://trac.webkit.org/projects/webkit/changeset/42536> - the two instances of 20167 authentication challenge are different, after all. Added a FIXME comment about a possible 20168 future improvement. 20169 20170 * platform/network/ResourceHandle.cpp: 20171 (WebCore::ResourceHandle::clearAuthentication): 20172 * platform/network/ResourceHandleInternal.h: 20173 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 20174 * platform/network/cf/ResourceHandleCFNet.cpp: 20175 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 20176 (WebCore::ResourceHandle::receivedCredential): 20177 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): 20178 (WebCore::ResourceHandle::receivedCancellation): 20179 * platform/network/mac/ResourceHandleMac.mm: 20180 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 20181 (WebCore::ResourceHandle::didCancelAuthenticationChallenge): 20182 (WebCore::ResourceHandle::receivedCredential): 20183 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): 20184 (WebCore::ResourceHandle::receivedCancellation): 20185 20186 2009-04-15 Geoffrey Garen <ggaren (a] apple.com> 20187 20188 Reviewed by Sam Weinig. 20189 20190 More fix for https://bugs.webkit.org/show_bug.cgi?id=21260 20191 Unbounded memory growth when churning elements with anonymous event handler functions 20192 20193 Also fixed <rdar://problem/6792909> WebInspector crashes when reloading 20194 a page with breakpoints set 20195 20196 * bindings/js/JSEventListener.cpp: 20197 (WebCore::JSEventListener::clearJSFunctionInline): 20198 (WebCore::JSEventListener::markJSFunction): 20199 * bindings/js/JSEventListener.h: Actually clear our function and global 20200 object pointers when our client instructs us to. (Oops!) Also, mark 20201 our global object while we still intend to use it. 20202 20203 * bindings/js/JSSVGElementInstanceCustom.cpp: 20204 (WebCore::JSSVGElementInstance::mark): 20205 (WebCore::toJS): 20206 * bindings/scripts/CodeGeneratorJS.pm: 20207 * svg/SVGElementInstance.idl: For every SVGElementInstance wrapper, ensure 20208 that the corresponding element also has a wrapper, to keep its event 20209 listeners alive. 20210 20211 2009-04-15 Dimitri Glazkov <dglazkov (a] chromium.org> 20212 20213 Reviewed by Darin Fisher. 20214 20215 https://bugs.webkit.org/show_bug.cgi?id=25201 20216 Add ScriptFunctionCall/ScriptObject for V8. 20217 20218 * bindings/v8/ScriptFunctionCall.cpp: Added. 20219 * bindings/v8/ScriptFunctionCall.h: Added. 20220 * bindings/v8/ScriptObject.cpp: Added. 20221 * bindings/v8/ScriptObject.h: Added. 20222 * bindings/v8/ScriptObjectQuarantine.cpp: Added. 20223 * bindings/v8/ScriptObjectQuarantine.h: Added. 20224 * bindings/v8/ScriptScope.cpp: Added. 20225 * bindings/v8/ScriptScope.h: Added. 20226 * bindings/v8/ScriptState.h: 20227 (WebCore::ScriptState::ScriptState): Added new constructors. 20228 (WebCore::ScriptState::frame): Added Frame ptr accessor. 20229 * bindings/v8/ScriptString.h: 20230 (WebCore::ScriptString::ScriptString): Added default constructor. 20231 * bindings/v8/ScriptValue.h: 20232 (WebCore::ScriptValue::isEqual): Added. 20233 20234 2009-04-15 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 20235 20236 Unreviewed build fix. Add RenderSVGModelObject.* to GTK+'s build. 20237 20238 * GNUmakefile.am: 20239 20240 2009-04-15 Steve Falkenburg <sfalken (a] apple.com> 20241 20242 <rdar://problem/6785760> WebCore should use a maximum of 6 connections per host, not 4 20243 20244 Reviewed by Adam Roben. 20245 20246 * platform/network/ResourceRequestBase.cpp: 20247 * platform/network/cf/ResourceRequestCFNet.cpp: 20248 (WebCore::initializeMaximumHTTPConnectionCountPerHost): 20249 20250 2009-04-15 Sam Weinig <sam (a] webkit.org> 20251 20252 Reviewed by Mark Rowe. 20253 20254 Add special casing to bindings generator so that custom functions 20255 starting with xml or xslt conform to WebKit style guidelines. 20256 20257 * bindings/js/JSDOMWindowCustom.cpp: 20258 (WebCore::JSDOMWindow::xmlHttpRequest): 20259 (WebCore::JSDOMWindow::xsltProcessor): 20260 * bindings/scripts/CodeGenerator.pm: 20261 20262 2009-04-15 Eric Seidel <eric (a] webkit.org> 20263 20264 Reviewed by Simon Fraser. 20265 20266 Add minimal RenderSVGModelObject and make RenderPath and RenderSVGContainer use it. 20267 https://bugs.webkit.org/show_bug.cgi?id=25221 20268 20269 RenderSVGModelObject is the base rendering class for things which live 20270 in the SVG rendering tree. Not all SVG renders are RenderSVGModelObjects yet. 20271 20272 More patches coming. This is just adding the class, future patches 20273 will pull more logic out of RenderPath and RenderSVGContainer into RenderSVGModelObject. 20274 20275 * WebCore.pro: 20276 * WebCore.scons: 20277 * WebCore.vcproj/WebCore.vcproj: 20278 * WebCore.xcodeproj/project.pbxproj: 20279 * rendering/RenderPath.cpp: 20280 (WebCore::RenderPath::RenderPath): 20281 * rendering/RenderPath.h: 20282 * rendering/RenderSVGContainer.cpp: 20283 (WebCore::RenderSVGContainer::RenderSVGContainer): 20284 * rendering/RenderSVGContainer.h: 20285 * rendering/RenderSVGModelObject.cpp: Added. 20286 (WebCore::RenderSVGModelObject::RenderSVGModelObject): 20287 * rendering/RenderSVGModelObject.h: Added. 20288 (WebCore::RenderSVGModelObject::requiresLayer): 20289 * rendering/RenderTreeAsText.cpp: 20290 * rendering/SVGRenderTreeAsText.cpp: 20291 20292 2009-04-15 Eric Seidel <eric (a] webkit.org> 20293 20294 Reviewed by Simon Fraser. 20295 20296 Remove more dead code from RenderSVGHiddenContainer. 20297 20298 lineHeight and baselinePosition used to be on RenderSVGContainer 20299 (of which this is a subclass) because RenderSVGContainer used 20300 to be a RenderBox and always the renderer for <svg> 20301 Now <svg> uses RenderSVGRoot when needing a RenderBox (inside HTML) 20302 and RenderSVGViewportContainer (when inside SVG content) 20303 so there is no need for RenderSVGHiddenContainer to have these HTML-specific methods. 20304 20305 * rendering/RenderSVGHiddenContainer.cpp: 20306 * rendering/RenderSVGHiddenContainer.h: 20307 20308 2009-04-15 Eric Seidel <eric (a] webkit.org> 20309 20310 Reviewed by Simon Fraser. 20311 20312 Remove unneeded (broken) code from SVG renderers 20313 https://bugs.webkit.org/show_bug.cgi?id=25214 20314 20315 Mostly due to my historical confusions about the render tree 20316 and some methods not being removed after classes were split. 20317 20318 RenderSVGRoot is an RenderBox and should just use all the 20319 standard RenderBox methods for inspector and repaint rects. 20320 20321 RenderSVGContainer is *not* a RenderBox (any more) and thus 20322 doesn't need lineHeight or width/height or calcBounds. 20323 20324 RenderSVGViewportContainer had some broken code which tried 20325 to see if the click was inside the container at all, but it 20326 was using width/height metrics based off of the containing 20327 block (from calcWidth) which is wrong (since its real 20328 width/height are from its containing viewport not containing block). 20329 20330 * rendering/RenderSVGContainer.cpp: 20331 (WebCore::RenderSVGContainer::RenderSVGContainer): 20332 (WebCore::RenderSVGContainer::layout): 20333 * rendering/RenderSVGContainer.h: 20334 * rendering/RenderSVGRoot.cpp: 20335 * rendering/RenderSVGRoot.h: 20336 * rendering/RenderSVGViewportContainer.cpp: 20337 (WebCore::RenderSVGViewportContainer::layout): 20338 (WebCore::RenderSVGViewportContainer::nodeAtPoint): 20339 20340 2009-04-15 Eric Seidel <eric (a] webkit.org> 20341 20342 Reviewed by Simon Fraser and Sam Weinig. 20343 20344 https://bugs.webkit.org/show_bug.cgi?id=25217 20345 Simplify nearestViewportElement and farthestViewportElement using isViewportElement and a for loop 20346 Add ASSERT(element) to all these functions since they should never be passed a null element. 20347 20348 * svg/SVGLocatable.cpp: 20349 (WebCore::isViewportElement): 20350 (WebCore::SVGLocatable::nearestViewportElement): 20351 (WebCore::SVGLocatable::farthestViewportElement): 20352 (WebCore::SVGLocatable::getBBox): 20353 (WebCore::SVGLocatable::getCTM): 20354 (WebCore::SVGLocatable::getScreenCTM): 20355 20356 2009-04-15 Sam Weinig <sam (a] webkit.org> 20357 20358 Reviewed by Anders Carlsson. 20359 20360 Remove support for the ObjCIvar extended attribute from the Objective-C 20361 bindings generator. It is not used anymore. 20362 20363 * bindings/scripts/CodeGeneratorObjC.pm: 20364 20365 2009-04-15 Justin Garcia <justin.garcia (a] apple.com> 20366 20367 Reviewed by Dan Bernstein. 20368 20369 https://bugs.webkit.org/show_bug.cgi?id=25204 20370 Create a fast path for ReplaceSelectionCommand that merges text nodes 20371 20372 During simple pastes, where we're just pasting a text node into a run of text, we would split the current 20373 text and insert the new node in between. This is slow and we hit this bug: 20374 20375 https://bugs.webkit.org/show_bug.cgi?id=6148 20376 20377 in the layout and rendering code where adjacent text nodes don't shape correctly in Arabic. 20378 20379 This change creates a fast path for ReplaceSelectionCommand that inserts text directly into the 20380 text node that holds the selection (very similar to the fast path we wrote for InsertTextCommand). 20381 20382 * editing/ReplaceSelectionCommand.cpp: 20383 (WebCore::ReplaceSelectionCommand::doApply): 20384 (WebCore::ReplaceSelectionCommand::performTrivialReplace): 20385 * editing/ReplaceSelectionCommand.h: 20386 * editing/TextIterator.cpp: 20387 20388 2009-04-15 Adam Langley <agl (a] google.com> 20389 20390 Reviewed by Darin Fisher. 20391 20392 Move VDMX parsing into the Chromium Linux port. 20393 20394 https://bugs.webkit.org/show_bug.cgi?id=25116 20395 20396 VDMX tables are optional tables in TrueType fonts which contain the 20397 exact pixel height of a given font at a given pel size. In order to 20398 match Windows font metrics we have to use these numbers. 20399 20400 Previously, the parsing was performed in Skia. As part of the merge 20401 with upstream Skia, an interface for getting table data from a font 20402 has been added to Skia and we're moving the parsing into WebKit. 20403 20404 This does not change any layout tests. 20405 20406 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 20407 (WebCore::FontPlatformData::uniqueID): 20408 * platform/graphics/chromium/FontPlatformDataLinux.h: 20409 * platform/graphics/chromium/FontTrueTypeLinux.cpp: Added. 20410 * platform/graphics/chromium/FontTrueTypeLinux.h: Added. 20411 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 20412 (WebCore::SimpleFontData::platformInit): 20413 (WebCore::SimpleFontData::platformWidthForGlyph): 20414 20415 2009-04-15 Stephen White <senorblanco (a] chromium.org> 20416 20417 Reviewed by Dimitri Glazkov. 20418 20419 https://bugs.webkit.org/show_bug.cgi?id=25180 20420 20421 Restore stroked outlines to PlatformContextSkia::drawRect(). 20422 These were removed inadvertently in r41805, aka 20423 https://bugs.webkit.org/show_bug.cgi?id=24662. 20424 SkRect is { left, top, right, bottom }, not { left, top, width, height }. 20425 20426 * platform/graphics/skia/PlatformContextSkia.cpp: 20427 (PlatformContextSkia::drawRect): 20428 20429 2009-04-15 Dan Bernstein <mitz (a] apple.com> 20430 20431 Reviewed by Dave Hyatt. 20432 20433 - fix <rdar://problem/6777374> Generated content with display: run-in 20434 causes a crash 20435 20436 Test: fast/runin/generated.html 20437 20438 * rendering/RenderBlock.cpp: 20439 (WebCore::RenderBlock::handleRunInChild): Check if the run-in block is 20440 generated, and if so, make the RenderInline anonymous instead of passing 20441 a 0 node to the RenderInline constructor. If the run-in itself is 20442 generated, do move :before and :after children from the block into the 20443 inline, as they will not be regenerated. Changed nested ifs into early 20444 returns. 20445 20446 2009-04-15 Eric Roman <eroman (a] chromium.org> 20447 20448 Reviewed by Geoffrey Garen. 20449 20450 https://bugs.webkit.org/show_bug.cgi?id=25192 20451 20452 Expose DOMWindow::removeInlineEventListenerForType and 20453 DOMWindow::inlineEventListenerForType as public. 20454 20455 * page/DOMWindow.h: 20456 20457 2009-04-14 Eric Roman <eroman (a] chromium.org> 20458 20459 Reviewed by Darin Adler. 20460 20461 https://bugs.webkit.org/show_bug.cgi?id=25198 20462 20463 Wrap RegisteredEventListener's markEventListeners and invalidateEventListeners 20464 in a USE(JSC), since it doesn't compile with V8 bindings. 20465 20466 * dom/RegisteredEventListener.h: 20467 20468 2009-04-15 Eric Roman <eroman (a] chromium.org> 20469 20470 Reviewed by Darin Adler. 20471 20472 https://bugs.webkit.org/show_bug.cgi?id=25194 20473 20474 Fix a caller of Settings::javaScriptCanOpenWindowsAutomatically() to 20475 use the new name. 20476 20477 * bindings/v8/custom/V8DOMWindowCustom.cpp: 20478 20479 2009-04-14 Alexey Proskuryakov <ap (a] webkit.org> 20480 20481 Rubber-stamped by Darin Adler. 20482 20483 Don't keep platform objects for authentication challenge in ResourceHandleInternal. 20484 We already have a copy in AuthenticationChallenge object. 20485 20486 * platform/network/ResourceHandle.cpp: 20487 (WebCore::ResourceHandle::clearAuthentication): 20488 * platform/network/ResourceHandleInternal.h: 20489 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 20490 * platform/network/cf/ResourceHandleCFNet.cpp: 20491 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 20492 (WebCore::ResourceHandle::receivedCredential): 20493 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): 20494 (WebCore::ResourceHandle::receivedCancellation): 20495 * platform/network/mac/ResourceHandleMac.mm: 20496 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 20497 (WebCore::ResourceHandle::didCancelAuthenticationChallenge): 20498 (WebCore::ResourceHandle::receivedCredential): 20499 (WebCore::ResourceHandle::receivedRequestToContinueWithoutCredential): 20500 (WebCore::ResourceHandle::receivedCancellation): 20501 20502 2009-04-14 Geoffrey Garen <ggaren (a] apple.com> 20503 20504 Reviewed by Sam Weinig. 20505 20506 Nixed some now-defunct autogeneration code. 20507 20508 * bindings/scripts/CodeGeneratorJS.pm: 20509 20510 2009-04-14 Eric Carlson <eric.carlson (a] apple.com> 20511 20512 Reviewed by Alexey Proskuryakov. 20513 20514 Fix <rdar://problem/6755724> <audio> and <video> elements can reference local 20515 file:/// URLs from remote in Safari 20516 20517 Tests: http/tests/security/local-video-poster-from-remote.html 20518 http/tests/security/local-video-source-from-remote.html 20519 http/tests/security/local-video-src-from-remote.html 20520 20521 * html/HTMLMediaElement.cpp: 20522 (WebCore::HTMLMediaElement::loadResource): Don't pass url to media engine unless loader->canLoad() 20523 says it is OK. 20524 20525 2009-04-14 Sam Weinig <sam (a] webkit.org> 20526 20527 Reviewed by Darin Adler. 20528 20529 Part of <rdar://problem/6150868> 20530 Fix incorrect handling of content that needs to go into the head element 20531 once the head element has been removed. 20532 20533 Test: fast/parser/head-content-after-head-removal.html 20534 20535 * html/HTMLParser.cpp: 20536 (WebCore::HTMLParser::HTMLParser): Remove unneeded initializer of m_head. 20537 (WebCore::HTMLParser::handleError): Update since m_head is now a RefPtr. 20538 (WebCore::HTMLParser::createHead): Ditto. 20539 * html/HTMLParser.h: Make m_head a RefPtr. 20540 20541 2009-04-14 Geoffrey Garen <ggaren (a] apple.com> 20542 20543 Used svn merge -r42529:42528 to roll out my last patch because it broke 20544 the build. 20545 20546 * bindings/js/JSDOMGlobalObject.cpp: 20547 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): 20548 (WebCore::JSDOMGlobalObject::findJSProtectedEventListener): 20549 (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): 20550 (WebCore::JSDOMGlobalObject::jsProtectedEventListeners): 20551 (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners): 20552 * bindings/js/JSDOMGlobalObject.h: 20553 20554 2009-04-14 Geoffrey Garen <ggaren (a] apple.com> 20555 20556 Reviewed by Sam Weinig. 20557 20558 Nixed some now-dead code related to protected event listeners. 20559 20560 * bindings/js/JSDOMGlobalObject.cpp: 20561 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): 20562 * bindings/js/JSDOMGlobalObject.h: 20563 20564 2009-04-14 Geoffrey Garen <ggaren (a] apple.com> 20565 20566 Reviewed by Sam Weinig. 20567 20568 More fix for https://bugs.webkit.org/show_bug.cgi?id=21260 20569 Unbounded memory growth when churning elements with anonymous event handler functions 20570 20571 Stop using protected event listeners on SVGElementInstance. 20572 20573 * bindings/js/JSSVGElementInstanceCustom.cpp: 20574 (WebCore::JSSVGElementInstance::mark): Mark our event listeners, since 20575 they're not protected anymore. 20576 20577 (WebCore::JSSVGElementInstance::addEventListener): 20578 (WebCore::JSSVGElementInstance::removeEventListener): Make unprotected 20579 event listeners, since we mark them now. 20580 20581 * bindings/scripts/CodeGeneratorJS.pm: Autogenerate event listener 20582 invalidation for SVGElementInstance. 20583 20584 * svg/SVGElementInstance.h: 20585 (WebCore::SVGElementInstance::eventListeners): Added an accessor, for 20586 the sake of autogenerated code. 20587 20588 * svg/SVGElementInstance.idl: Removed the ProtectedEventListener attribute 20589 from event listener properties. Added a CustomMarkFunction attribute, 20590 since we need to mark our event listeners. 20591 20592 2009-04-14 Steve Falkenburg <sfalken (a] apple.com> 20593 20594 Windows build fix. 20595 20596 * WebCore.vcproj/WebCore.vcproj: 20597 20598 2009-04-14 Steve Falkenburg <sfalken (a] apple.com> 20599 20600 Add header guards to WebCore forwarding headers. 20601 20602 Speeds up WebCore debug build on Windows by 12% on my system, 20603 since Visual Studio appears to not optimize for standard header 20604 guards in included files. 20605 20606 Rubber stamped by Ada Chan. 20607 20608 * ForwardingHeaders/debugger/Debugger.h: 20609 * ForwardingHeaders/debugger/DebuggerActivation.h: 20610 * ForwardingHeaders/debugger/DebuggerCallFrame.h: 20611 * ForwardingHeaders/interpreter/CallFrame.h: 20612 * ForwardingHeaders/interpreter/Interpreter.h: 20613 * ForwardingHeaders/masm/X86Assembler.h: 20614 * ForwardingHeaders/parser/Parser.h: 20615 * ForwardingHeaders/parser/SourceCode.h: 20616 * ForwardingHeaders/parser/SourceProvider.h: 20617 * ForwardingHeaders/pcre/pcre.h: 20618 * ForwardingHeaders/profiler/Profile.h: 20619 * ForwardingHeaders/profiler/ProfileNode.h: 20620 * ForwardingHeaders/profiler/Profiler.h: 20621 * ForwardingHeaders/runtime/ArgList.h: 20622 * ForwardingHeaders/runtime/ArrayPrototype.h: 20623 * ForwardingHeaders/runtime/BooleanObject.h: 20624 * ForwardingHeaders/runtime/CallData.h: 20625 * ForwardingHeaders/runtime/Collector.h: 20626 * ForwardingHeaders/runtime/CollectorHeapIterator.h: 20627 * ForwardingHeaders/runtime/Completion.h: 20628 * ForwardingHeaders/runtime/ConstructData.h: 20629 * ForwardingHeaders/runtime/DateInstance.h: 20630 * ForwardingHeaders/runtime/Error.h: 20631 * ForwardingHeaders/runtime/FunctionConstructor.h: 20632 * ForwardingHeaders/runtime/FunctionPrototype.h: 20633 * ForwardingHeaders/runtime/Identifier.h: 20634 * ForwardingHeaders/runtime/InitializeThreading.h: 20635 * ForwardingHeaders/runtime/InternalFunction.h: 20636 * ForwardingHeaders/runtime/JSArray.h: 20637 * ForwardingHeaders/runtime/JSByteArray.h: 20638 * ForwardingHeaders/runtime/JSFunction.h: 20639 * ForwardingHeaders/runtime/JSGlobalData.h: 20640 * ForwardingHeaders/runtime/JSGlobalObject.h: 20641 * ForwardingHeaders/runtime/JSLock.h: 20642 * ForwardingHeaders/runtime/JSNumberCell.h: 20643 * ForwardingHeaders/runtime/JSObject.h: 20644 * ForwardingHeaders/runtime/JSString.h: 20645 * ForwardingHeaders/runtime/JSValue.h: 20646 * ForwardingHeaders/runtime/Lookup.h: 20647 * ForwardingHeaders/runtime/ObjectPrototype.h: 20648 * ForwardingHeaders/runtime/Operations.h: 20649 * ForwardingHeaders/runtime/PropertyMap.h: 20650 * ForwardingHeaders/runtime/PropertyNameArray.h: 20651 * ForwardingHeaders/runtime/Protect.h: 20652 * ForwardingHeaders/runtime/PrototypeFunction.h: 20653 * ForwardingHeaders/runtime/StringObject.h: 20654 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: 20655 * ForwardingHeaders/runtime/StringPrototype.h: 20656 * ForwardingHeaders/runtime/Structure.h: 20657 * ForwardingHeaders/runtime/SymbolTable.h: 20658 * ForwardingHeaders/runtime/UString.h: 20659 * ForwardingHeaders/wrec/WREC.h: 20660 * ForwardingHeaders/wtf/ASCIICType.h: 20661 * ForwardingHeaders/wtf/AlwaysInline.h: 20662 * ForwardingHeaders/wtf/Assertions.h: 20663 * ForwardingHeaders/wtf/ByteArray.h: 20664 * ForwardingHeaders/wtf/CurrentTime.h: 20665 * ForwardingHeaders/wtf/Deque.h: 20666 * ForwardingHeaders/wtf/DisallowCType.h: 20667 * ForwardingHeaders/wtf/FastMalloc.h: 20668 * ForwardingHeaders/wtf/Forward.h: 20669 * ForwardingHeaders/wtf/GetPtr.h: 20670 * ForwardingHeaders/wtf/HashCountedSet.h: 20671 * ForwardingHeaders/wtf/HashFunctions.h: 20672 * ForwardingHeaders/wtf/HashMap.h: 20673 * ForwardingHeaders/wtf/HashSet.h: 20674 * ForwardingHeaders/wtf/HashTable.h: 20675 * ForwardingHeaders/wtf/HashTraits.h: 20676 * ForwardingHeaders/wtf/ListHashSet.h: 20677 * ForwardingHeaders/wtf/ListRefPtr.h: 20678 * ForwardingHeaders/wtf/Locker.h: 20679 * ForwardingHeaders/wtf/MainThread.h: 20680 * ForwardingHeaders/wtf/MathExtras.h: 20681 * ForwardingHeaders/wtf/MessageQueue.h: 20682 * ForwardingHeaders/wtf/Noncopyable.h: 20683 * ForwardingHeaders/wtf/NotFound.h: 20684 * ForwardingHeaders/wtf/OwnArrayPtr.h: 20685 * ForwardingHeaders/wtf/OwnPtr.h: 20686 * ForwardingHeaders/wtf/PassRefPtr.h: 20687 * ForwardingHeaders/wtf/Platform.h: 20688 * ForwardingHeaders/wtf/PtrAndFlags.h: 20689 * ForwardingHeaders/wtf/RandomNumber.h: 20690 * ForwardingHeaders/wtf/RefCounted.h: 20691 * ForwardingHeaders/wtf/RefCountedLeakCounter.h: 20692 * ForwardingHeaders/wtf/RefPtr.h: 20693 * ForwardingHeaders/wtf/RetainPtr.h: 20694 * ForwardingHeaders/wtf/StdLibExtras.h: 20695 * ForwardingHeaders/wtf/StringExtras.h: 20696 * ForwardingHeaders/wtf/ThreadSpecific.h: 20697 * ForwardingHeaders/wtf/Threading.h: 20698 * ForwardingHeaders/wtf/TypeTraits.h: 20699 * ForwardingHeaders/wtf/UnusedParam.h: 20700 * ForwardingHeaders/wtf/Vector.h: 20701 * ForwardingHeaders/wtf/VectorTraits.h: 20702 * ForwardingHeaders/wtf/dtoa.h: 20703 * ForwardingHeaders/wtf/unicode/Collator.h: 20704 * ForwardingHeaders/wtf/unicode/UTF8.h: 20705 * ForwardingHeaders/wtf/unicode/Unicode.h: 20706 * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: 20707 20708 2009-04-14 Sam Weinig <sam (a] webkit.org> 20709 20710 Reviewed by Adele Peterson. 20711 20712 Use a template function to generalize the way we create non-caching 20713 JS function getters. 20714 20715 * bindings/js/JSDOMWindowCustom.cpp: 20716 * bindings/js/JSDOMWindowCustom.h: 20717 (WebCore::nonCachingStaticFunctionGetter): 20718 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 20719 20720 2009-04-14 Benjamin C Meyer <benjamin.meyer (a] torchmobile.com> 20721 20722 Reviewed by George Staikos. 20723 20724 https://bugs.webkit.org/show_bug.cgi?id=25099 20725 20726 When creating a QNetworkRequest make sure to populate the 20727 CacheLoadControlAttribute with the value set by the ResourceRequest::cachePolicy() so that the cache will be used as WebKit expects. 20728 20729 * WebKit/qt/tests/qwebpage/tst_qwebpage.cpp: 20730 (tst_QWebPage::requestCache): 20731 20732 * platform/network/qt/ResourceRequestQt.cpp: 20733 (WebCore::ResourceRequest::toNetworkRequest): 20734 20735 2009-04-14 Timothy Hatcher <timothy (a] apple.com> 20736 20737 Fix a world leak caused by opening the Web Inspector. This was 20738 a regression caused by the InspectorController becoming refcounted. 20739 20740 <rdar://problem/6782944> 20741 20742 Reviewed by Darin Adler. 20743 20744 * bindings/js/ScriptObject.cpp: 20745 (WebCore::ScriptGlobalObject::get): Renamed to better match the 20746 other functions. 20747 (WebCore::ScriptGlobalObject::remove): Added. Deletes the property. 20748 * bindings/js/ScriptObject.h: 20749 * inspector/InspectorController.cpp: 20750 (WebCore::InspectorController::~InspectorController): Do less work 20751 at destruction time since the object lifetime is tied to JS GC. 20752 Assert that inspectedPageDestroyed cleared everything needed. 20753 (WebCore::InspectorController::inspectedPageDestroyed): Do most 20754 of the work that ~InspectorController was doing. 20755 (WebCore::InspectorController::scriptObjectReady): Renamed getObject. 20756 20757 2009-04-14 Antony Sargent <asargent (a] chromium.org> 20758 20759 Reviewed by Dimitri Glazkov. 20760 20761 This is some cleanup motivated by the crash in http://crbug.com/9775 , which 20762 happens because of calling window.open inside a window.onload handler. 20763 20764 These changes are just part of the fix, along with some asserts to help prevent 20765 breakage on future changes. 20766 20767 https://bugs.webkit.org/show_bug.cgi?id=25132 20768 20769 * bindings/v8/V8EventListenerList.cpp: 20770 (WebCore::V8EventListenerList::add): 20771 (WebCore::V8EventListenerList::remove): 20772 (WebCore::V8EventListenerList::clear): 20773 * bindings/v8/V8EventListenerList.h: 20774 (WebCore::V8EventListenerList::size): 20775 20776 2009-04-14 Evan Martin <evan (a] chromium.org> 20777 20778 Reviewed by Darin Adler. 20779 20780 https://bugs.webkit.org/show_bug.cgi?id=25142 20781 Fix a race that can occur between flex and the perl script that parses 20782 its output. 20783 20784 * css/maketokenizer: Consume all input. 20785 20786 2009-04-14 Rohit Rao <rohitrao (a] google.com> 20787 20788 Reviewed by Dan Bernstein. 20789 20790 https://bugs.webkit.org/show_bug.cgi?id=25184 20791 Do not change the text color for selected text in Mac Chromium. 20792 20793 * rendering/RenderThemeChromiumMac.h: 20794 (WebCore::RenderThemeChromiumMac::supportsSelectionForegroundColors): 20795 Now returns false, matching the behavior of Safari on Mac. 20796 20797 2009-04-14 Justin Garcia <justin.garcia (a] apple.com> 20798 20799 Reviewed by Eric Seidel. 20800 20801 https://bugs.webkit.org/show_bug.cgi?id=25172 20802 Extra partial layout during the first keypress in an empty block 20803 20804 Determining if a placeholder needs to be removed requires the creation of a VisiblePosition 20805 which was triggering layout before we were finished modifying the DOM for the insert operation. 20806 20807 Find out if we need to remove a placeholder near the start of the operation, and if we do remember 20808 where it's located. Then, later, remove it along with all of the other DOM operations we perform. 20809 20810 Renamed lineBreakExistsAtPosition to lineBreakExistsAtVisiblePosition and added a lineBreakExistsAtPosition 20811 that takes in a Position. In InsertTextCommand, we can use the latter, since we normalize manually. 20812 20813 removePlaceholderAt now takes in a Position that it assumes has already been checked for a placeholder. 20814 20815 No test added as this only effects performance. 20816 20817 * editing/BreakBlockquoteCommand.cpp: 20818 (WebCore::BreakBlockquoteCommand::doApply): 20819 * editing/CompositeEditCommand.cpp: 20820 (WebCore::CompositeEditCommand::removePlaceholderAt): 20821 (WebCore::CompositeEditCommand::moveParagraphs): 20822 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 20823 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 20824 * editing/CompositeEditCommand.h: 20825 * editing/DeleteSelectionCommand.cpp: 20826 (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): 20827 (WebCore::DeleteSelectionCommand::doApply): 20828 * editing/FormatBlockCommand.cpp: 20829 (WebCore::FormatBlockCommand::doApply): 20830 * editing/InsertLineBreakCommand.cpp: 20831 (WebCore::InsertLineBreakCommand::doApply): 20832 * editing/InsertParagraphSeparatorCommand.cpp: 20833 (WebCore::InsertParagraphSeparatorCommand::doApply): 20834 * editing/InsertTextCommand.cpp: 20835 (WebCore::InsertTextCommand::input): 20836 * editing/htmlediting.cpp: 20837 (WebCore::lineBreakExistsAtVisiblePosition): 20838 (WebCore::lineBreakExistsAtPosition): 20839 * editing/htmlediting.h: 20840 20841 2009-04-14 Adam Roben <aroben (a] apple.com> 20842 20843 Remove support for profile-guided optimization on Windows 20844 20845 Rubber-stamped by Steve Falkenburg. 20846 20847 * WebCore.vcproj/WebCore.vcproj: Removed the Release_PGO 20848 configuration. 20849 20850 2009-04-14 Dmitry Titov <dimich (a] chromium.org> 20851 20852 Reviewed by Dimitri Glazkov. 20853 20854 https://bugs.webkit.org/show_bug.cgi?id=25163 20855 Upstream fix for releasing v8 objects on worker thread termination in Chromium. 20856 20857 * bindings/v8/V8DOMMap.cpp: 20858 (WebCore::domDataList): Now uses Vector instead of HashMap. 20859 (WebCore::domDataListMutex): 20860 (WebCore::ThreadSpecificDOMData::ThreadSpecificDOMData): remove usage of currentThread(); 20861 (WebCore::ThreadSpecificDOMData::~ThreadSpecificDOMData): ditto. 20862 (WebCore::NonMainThreadSpecificDOMData::~NonMainThreadSpecificDOMData): moved call to removeAllDOMObjectsInCurrentThread() to ~WorkerScriptController. 20863 (WebCore::handleWeakObjectInOwningThread): 20864 (WebCore::derefDelayedObjects): 20865 (WebCore::removeAllDOMObjectsInCurrentThread): not static anymore. 20866 * bindings/v8/V8DOMMap.h: 20867 * bindings/v8/WorkerContextExecutionProxy.cpp: 20868 (WebCore::WorkerContextExecutionProxy::dispose): removed code that avoided dual-dereference of WorkerContext. 20869 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): this ref() is countered in removeAllDOMObjectsInCurrentThread(), when the WorkerContext is removed from the v8 map. 20870 * bindings/v8/WorkerScriptController.cpp: 20871 (WebCore::WorkerScriptController::~WorkerScriptController): 20872 20873 2009-04-14 Adam Roben <aroben (a] apple.com> 20874 20875 Fix Bug 25183: Split up WebCore.vcproj's settings into vsprops files 20876 20877 <https://bugs.webkit.org/show_bug.cgi?id=25183> 20878 20879 WebCore.vcproj now uses a set of .vsprops files to store most of its 20880 settings. 20881 20882 Reviewed by Darin Adler. 20883 20884 * WebCore.vcproj/WebCore.vcproj: Moved settings from here into the new 20885 .vsprops files. 20886 20887 * WebCore.vcproj/WebCoreCFNetwork.vsprops: Added. Contains settings 20888 for ports that build against CFNetwork. 20889 * WebCore.vcproj/WebCoreCG.vsprops: Added. Contains settings for ports 20890 that build against CoreGraphics. 20891 * WebCore.vcproj/WebCoreCURL.vsprops: Added. Contains settings for 20892 ports that build against libcurl. 20893 * WebCore.vcproj/WebCoreCairo.vsprops: Added. Contains settings for 20894 ports that build against Cairo. 20895 * WebCore.vcproj/WebCoreCommon.vsprops: Added. Contains settings 20896 shared by all ports. 20897 * WebCore.vcproj/WebCoreMediaQT.vsprops: Added. Contains settings for 20898 ports that use QTMovieWin to implement the MediaPlayerPrivate 20899 interface. 20900 * WebCore.vcproj/WebCorePthreads.vsprops: Added. Contains settings for 20901 ports that build against pthreads. 20902 20903 2009-04-14 Alexey Proskuryakov <ap (a] webkit.org> 20904 20905 Reviewed by Darin Adler. 20906 20907 http/tests/xmlhttprequest/basic-auth.html fails on Tiger. 20908 20909 Turns out that NSURLCredentialPersistenceNone doesn't work on Tiger, so we have to use 20910 session persistence. 20911 20912 * platform/network/mac/ResourceHandleMac.mm: 20913 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Route the credential through 20914 receivedCredential(), ensuring that the Tiger-specific need to use session credentials 20915 is honored. 20916 (WebCore::ResourceHandle::receivedCredential): On Tiger, change PersistenceNone to 20917 PersistenceForSession, because the former doesn't work. 20918 20919 2009-04-14 Adele Peterson <adele (a] apple.com> 20920 20921 Reviewed by Darin Adler. 20922 20923 Fix for <rdar://problem/6703873> Triple-click quoted line and type Return creates an extra quoted blank line 20924 20925 Test: editing/inserting/6703873.html 20926 20927 * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): 20928 If the startNode's original parent is now empty, we can remove it. Its already been cloned and copied with the startNode, 20929 so we only need to keep it around if it actually holds some original content, otherwise it will look like an extra empty 20930 container in the document. 20931 20932 2009-04-14 Xan Lopez <xlopez (a] igalia.com> 20933 20934 Reviewed by Holger Freyther. 20935 20936 https://bugs.webkit.org/show_bug.cgi?id=21546 20937 [GTK] ATK accessibility enhancements 20938 20939 Add a proper implementation of AtkText::get_text and 20940 AtkText::get_character_count, which takes into account non 20941 TextControl text. With this the 'Text' field in Accerciser's 20942 Interface Viewer is filled correctly. 20943 20944 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 20945 20946 2009-04-14 Xan Lopez <xlopez (a] igalia.com> 20947 20948 Reviewed by Holger Freyther. 20949 20950 https://bugs.webkit.org/show_bug.cgi?id=21546 20951 [GTK] ATK accessibility enhancements 20952 20953 Remove some dead code and g_return_if_fail from static functions. 20954 20955 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 20956 20957 2009-04-14 Xan Lopez <xlopez (a] igalia.com> 20958 20959 Reviewed by Holger Freyther. 20960 20961 https://bugs.webkit.org/show_bug.cgi?id=21546 20962 [GTK] ATK accessibility enhancements 20963 20964 Also implement text interface for StaticTextRole, which covers 20965 most of the text in web pages. 20966 20967 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 20968 20969 2009-04-14 Alexey Proskuryakov <ap (a] webkit.org> 20970 20971 Another Windows build fix. 20972 20973 * platform/network/cf/ResourceHandleCFNet.cpp: 20974 (WebCore::WebCoreSynchronousLoader::load): 20975 20976 2009-04-14 Alexey Proskuryakov <ap (a] webkit.org> 20977 20978 Windows build fix. 20979 20980 * platform/network/cf/ResourceHandleCFNet.cpp: 20981 (WebCore::WebCoreSynchronousLoader::willSendRequest): 20982 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): 20983 20984 2009-04-13 Alexey Proskuryakov <ap (a] webkit.org> 20985 20986 Reviewed by Sam Weinig. 20987 20988 <rdar://problem/6698851> Implement XMLHttpRequest withCredentials attribute 20989 20990 * WebCore.xcodeproj/project.pbxproj: Made ThreadableLoader.h private, as enum definitions 20991 from it are now used in otehr private headers. 20992 20993 * xml/XMLHttpRequest.h: 20994 * xml/XMLHttpRequest.idl: 20995 Added withCredentials attribute. When it is false (default), neither credentials nor cookies 20996 are sent with cross origin requests, When it is true, those are sent, but the server needs 20997 to allow handling results via Access-Control-Allow-Credentials header. It was always possible 20998 to send a cross-site request with credentials via IFRAME or IMG, so this just adds a way to 20999 read results, as long as the server reports that it's allowed. 21000 Having the default set to false ensures that requests won't fail unexpectedly because of 21001 stored credentials and cookies for other resources in the target protection space. 21002 21003 * xml/XMLHttpRequest.cpp: 21004 (WebCore::XMLHttpRequest::loadRequestSynchronously): Allow stored credentials for same origin 21005 requests, and for cross origin ones that have withCredentials attribute set. Such code already 21006 existed for cookies (but it's simpler, because we could just set a ResourceRequest flag). 21007 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto. 21008 21009 * platform/network/ResourceHandle.h: Added willSendRequest() - just like for other callbacks, 21010 is is easier to have code in the class. Also, loadResourceSynchronously() now takes a 21011 StoredCredentials option, matching async case. 21012 21013 * platform/network/ResourceHandleClient.h: 21014 (WebCore::ResourceHandleClient::receivedCredential): Removed. This method could never be 21015 called, and no client used it. 21016 (WebCore::ResourceHandleClient::receivedRequestToContinueWithoutCredential): Ditto. 21017 21018 * platform/network/ResourceHandleInternal.h: 21019 (WebCore::ResourceHandleInternal::ResourceHandleInternal): Split username and password out 21020 of request URL. We want to always get a callback for credentials to manage them in WebCore, 21021 so network back-end shouldn't see them too early. 21022 21023 * platform/network/ResourceRequestBase.cpp: 21024 (WebCore::ResourceRequestBase::removeCredentials): 21025 * platform/network/ResourceRequestBase.h: 21026 Added a removeCredentials() method that removes login and password parts from request URL. 21027 21028 * platform/network/mac/ResourceHandleMac.mm: 21029 (WebCoreCredentialStorage): Added a simple storage class for per-session credentials. 21030 (WebCore::ResourceHandle::loadResourceSynchronously): Pass allowStoredCredentials through. 21031 (WebCore::ResourceHandle::willSendRequest): On a redirect, credentials should be replaced. 21032 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Try credentials from the URL 21033 and per-session credentials. Code was partially moved from Obj-C callback. 21034 (WebCore::ResourceHandle::receivedCredential): Intercept per-session credentials and store 21035 them in WebCore storage. 21036 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Don't 21037 store the redirected URL - we only needed credentials, which are now stored separately. 21038 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Removed 21039 code that was setting credentials from URL. First, the code is now in ResourceHandle, and 21040 also, it wasn't actually needed in Leopard release before this patch, see <rdar://problem/5298142>. 21041 (-[WebCoreSynchronousLoader dealloc]): Release credentials. Note that unlike ResourceHandle, 21042 this class still needs to track URL for checking whether a redirect is allowed. This is 21043 not a great solution, and we should unify client code to use the same checks in sync and 21044 async cases. 21045 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Just like in 21046 async case, put credentials aside to ensure that network back-end asks for them. 21047 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Use credentials 21048 from URL, or from WebCore storage. 21049 (-[WebCoreSynchronousLoader connectionShouldUseCredentialStorage:]): Don't use stored 21050 credentials when not allowed to. 21051 (+[WebCoreSynchronousLoader loadRequest:allowStoredCredentials:returningResponse:error:]): 21052 Put credentials aside to ensure that network back-end asks for them. 21053 21054 * platform/network/cf/ResourceHandleCFNet.cpp: 21055 (WebCore::WebCoreCredentialStorage::set): 21056 (WebCore::WebCoreCredentialStorage::get): 21057 (WebCore::willSendRequest): 21058 (WebCore::ResourceHandle::start): 21059 (WebCore::ResourceHandle::willSendRequest): 21060 (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 21061 (WebCore::ResourceHandle::receivedCredential): 21062 (WebCore::ResourceHandle::loadResourceSynchronously): 21063 (WebCore::WebCoreSynchronousLoader::willSendRequest): 21064 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): 21065 (WebCore::WebCoreSynchronousLoader::shouldUseCredentialStorage): 21066 (WebCore::WebCoreSynchronousLoader::load): 21067 Same changes as in Mac case. 21068 21069 * platform/network/curl/ResourceHandleCurl.cpp: 21070 (WebCore::ResourceHandle::loadResourceSynchronously): 21071 * platform/network/qt/ResourceHandleQt.cpp: 21072 (WebCore::ResourceHandle::loadResourceSynchronously): 21073 * platform/network/soup/ResourceHandleSoup.cpp: 21074 (WebCore::ResourceHandle::loadResourceSynchronously): 21075 Trying not to break the build. 21076 21077 * dom/XMLTokenizerLibxml2.cpp: (WebCore::openFunc): 21078 * xml/XSLTProcessor.cpp: (WebCore::docLoaderFunc): 21079 Unconditionally allow stored credentials for these, as they only support same origin loads. 21080 21081 * workers/WorkerContext.cpp: (WebCore::WorkerContext::importScripts): 21082 WorkerContext.importScripts() can be cross-origin, but sending credentials with it is no worse 21083 than sending them with <script src=...>, so this is also unconditionally allowed. 21084 21085 * loader/DocumentThreadableLoader.cpp: 21086 (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Pass through storedCredentials. 21087 (WebCore::DocumentThreadableLoader::create): Ditto. 21088 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Save storedCredentials and 21089 sameOrigin flags foruse in callbacks. 21090 (WebCore::DocumentThreadableLoader::willSendRequest): Assert that loaders aren't all confused. 21091 (WebCore::DocumentThreadableLoader::didSendData): Ditto. 21092 (WebCore::DocumentThreadableLoader::didReceiveResponse): Ditto. 21093 (WebCore::DocumentThreadableLoader::didReceiveData): Ditto. 21094 (WebCore::DocumentThreadableLoader::didFinishLoading): Ditto. 21095 (WebCore::DocumentThreadableLoader::didFail): Ditto. 21096 (WebCore::DocumentThreadableLoader::getShouldUseCredentialStorage): Don't use credential 21097 storage if that's not allowed by the code that invoked DocumentThreadableLoader. 21098 (WebCore::DocumentThreadableLoader::didReceiveAuthenticationChallenge): Simulate a failure 21099 and cancel the request if we are about to ask the user for credentials for a cross-origin 21100 request, which is forbidden by CORS (and would have been very confusing if allowed). 21101 (WebCore::DocumentThreadableLoader::receivedCancellation): Assert that loaders aren't all confused. 21102 21103 * loader/DocumentThreadableLoader.h: Updated for the new flags (storedCredentials and 21104 sameOrigin) that affect the loader. Eventually, we need to move all CORS logic from XHR here. 21105 21106 * loader/ThreadableLoader.h: (StoredCredentials): Added another flag that affects loader 21107 behavior. We should combine all of these into a structure, and use it for sync requests, too. 21108 21109 * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously): 21110 * loader/FrameLoader.h: 21111 * loader/ThreadableLoader.cpp: 21112 (WebCore::ThreadableLoader::create): 21113 (WebCore::ThreadableLoader::loadResourceSynchronously): 21114 * loader/WorkerThreadableLoader.cpp: 21115 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 21116 (WebCore::WorkerThreadableLoader::loadResourceSynchronously): 21117 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 21118 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 21119 * loader/WorkerThreadableLoader.h: 21120 (WebCore::WorkerThreadableLoader::create): 21121 Pass through storedCredentials. 21122 21123 2009-04-13 David Hyatt <hyatt (a] apple.com> 21124 21125 Reviewed by Cameron Zwarich. 21126 21127 Remove an outdated comment in ScrollView.h 21128 21129 * platform/ScrollView.h: 21130 21131 2009-04-13 Eric Carlson <eric.carlson (a] apple.com> 21132 21133 Reviewed by Mark Rowe. 21134 21135 https://bugs.webkit.org/show_bug.cgi?id=25177 21136 21137 QTTrack's -media method always return NULL in 64-bit QTKit, so 21138 MediaPlayerPrivate::disableUnsupportedTracks should use 21139 QTTrackMediaTypeAttribute to get a track's type. 21140 21141 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 21142 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 21143 21144 2009-04-13 Geoffrey Garen <ggaren (a] apple.com> 21145 21146 Reviewed by Cameron Zwarich. 21147 21148 More fix for https://bugs.webkit.org/show_bug.cgi?id=21260 21149 Unbounded memory growth when churning elements with anonymous event handler functions 21150 21151 Stop using protected event listeners on the window object. 21152 21153 * bindings/js/JSDOMWindowCustom.cpp: 21154 (WebCore::JSDOMWindow::mark): Mark our event listeners, since they're 21155 no longer protected. 21156 21157 (WebCore::JSDOMWindow::addEventListener): 21158 (WebCore::JSDOMWindow::removeEventListener): Create unprotected event 21159 listeners, since we mark them now. 21160 21161 * bindings/js/JSEventListener.h: Made some functions public so 21162 DOMWindow could call them. 21163 21164 * bindings/js/JSNodeCustom.cpp: Moved markEventListeners to a header, 21165 so it could be shared. 21166 21167 * bindings/scripts/CodeGeneratorJS.pm: Generate event listener marking 21168 and invalidating code for the DOMWindow. 21169 21170 * dom/RegisteredEventListener.h: 21171 (WebCore::markEventListeners): 21172 (WebCore::invalidateEventListeners): Added helper functions. 21173 21174 * page/DOMWindow.idl: Make the window's event listener attributes not 21175 protected. 21176 21177 2009-04-13 Eric Carlson <eric.carlson (a] apple.com> 21178 21179 Reviewed by Mark Rowe. 21180 21181 https://bugs.webkit.org/show_bug.cgi?id=25155 21182 21183 OS X standalone media documents should not switch from <video> to <embed> when 21184 QTKit load state is QTMovieLoadStateLoading as that happens frequently when a loading 21185 with a slow network connection or when a movie is not saved fast-start. 21186 21187 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 21188 (WebCore::MediaPlayerPrivate::updateStates): Don't open movie with plug-in when QTKit's 21189 loadstate is QTMovieLoadStateLoading, wait until it drops below QTMovieLoadStateError. 21190 21191 2009-04-13 Dmitry Titov <dimich (a] chromium.org> 21192 21193 Reviewed by Darin Adler. 21194 21195 https://bugs.webkit.org/show_bug.cgi?id=24453 21196 REGRESSION: If setTimeout is called on a iframe's window, the DOM changes to 21197 the main document that timer callback makes are not flushed. 21198 21199 * bindings/js/ScheduledAction.cpp: 21200 (WebCore::ScheduledAction::execute): 21201 Use Document::updateStyleForAllDocuments() instead of document->updateStyleIfNeeded() 21202 since timers may affect documents other then their own. 21203 21204 2009-04-13 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 21205 21206 Reviewed by David Hyatt. 21207 21208 Check document for nullity to avoid crashing on GTK+, when 21209 creating the WebView. 21210 21211 * page/FrameView.cpp: 21212 (WebCore::FrameView::needsLayout): 21213 21214 2009-04-13 Ada Chan <adachan (a] apple.com> 21215 21216 Forgot to capitalize the "US". 21217 21218 * platform/text/win/TextBreakIteratorInternalICUWin.cpp: 21219 (WebCore::currentTextBreakLocaleID): 21220 21221 2009-04-13 Ada Chan <adachan (a] apple.com> 21222 21223 <rdar://problem/6564956> URL field double-click selects entire domain, rather than single word or entire URL 21224 Revert back to the old word breaking behavior by using en_US_POSIX locale. 21225 21226 Reviewed by Steve Falkenburg. 21227 21228 * platform/text/win/TextBreakIteratorInternalICUWin.cpp: 21229 (WebCore::currentTextBreakLocaleID): 21230 21231 2009-04-13 Darin Adler <darin (a] apple.com> 21232 21233 Reviewed by Dan Bernstein. 21234 21235 * platform/cf/BinaryPropertyList.cpp: Added comment. 21236 * platform/cf/BinaryPropertyList.h: Fixed mistakes in comments. 21237 21238 2009-04-13 Darin Adler <darin (a] apple.com> 21239 21240 Reviewed by Dan Bernstein. 21241 21242 Bug 25158: hit testing doesn't work right in some cases involving anonymous blocks 21243 https://bugs.webkit.org/show_bug.cgi?id=25158 21244 rdar://problem/6769693 21245 21246 Test: editing/selection/click-after-nested-block.html 21247 21248 * rendering/RenderBlock.cpp: 21249 (WebCore::isChildHitTestCandidate): Added. Helper so the two loops in positionForPoint 21250 can share code. 21251 (WebCore::RenderBlock::positionForPoint): Removed unneeded special case for first 21252 child box. Changed special case for last child box to propertly handle the various 21253 types of child box that are not hit test candidates (the same ones already handled 21254 by the hit test loop below), adding in a loop so we find the last candidate. 21255 21256 2009-04-13 David Hyatt <hyatt (a] apple.com> 21257 21258 Reviewed by Sam Weinig. 21259 21260 Fix for https://bugs.webkit.org/show_bug.cgi?id=25125. Rework scrolling so that a layout happens first when 21261 it's already needed so that the code doesn't end up making bad decisions based off invalid document sizes. 21262 21263 * WebCore.base.exp: 21264 * page/FrameView.h: 21265 (WebCore::FrameView::visibleContentsResized): 21266 * platform/ScrollView.cpp: 21267 (WebCore::ScrollView::ScrollView): 21268 (WebCore::ScrollView::updateScrollbars): 21269 * platform/ScrollView.h: 21270 21271 2009-04-13 Adam Roben <aroben (a] apple.com> 21272 21273 Add SharedBuffer::wrapCFData 21274 21275 This is the CF-equivalent of wrapNSData. 21276 21277 Reviewed by Brady Eidson. 21278 21279 * platform/SharedBuffer.h: 21280 * platform/cf/SharedBufferCF.cpp: 21281 (WebCore::SharedBuffer::wrapCFData): 21282 21283 2009-04-13 Dan Bernstein <mitz (a] apple.com> 21284 21285 - build fix 21286 21287 * page/EventHandler.cpp: 21288 (WebCore::documentPointForWindowPoint): 21289 21290 2009-04-13 Antti Koivisto <antti (a] apple.com> 21291 21292 Reviewed by Darin Adler. 21293 21294 <rdar://problem/6740294> Increase the connection count per host 21295 21296 Try to use six connections per host if possible. 21297 21298 * WebCore.base.exp: 21299 * loader/loader.cpp: 21300 (WebCore::Loader::Loader): 21301 * platform/mac/WebCoreSystemInterface.h: 21302 * platform/mac/WebCoreSystemInterface.mm: 21303 * platform/network/ResourceRequestBase.cpp: 21304 (WebCore::initMaximumHTTPConnectionCountPerHost): 21305 * platform/network/ResourceRequestBase.h: 21306 * platform/network/mac/ResourceRequestMac.mm: 21307 (WebCore::initMaximumHTTPConnectionCountPerHost): 21308 21309 2009-04-13 Justin Garcia <justin.garcia (a] apple.com> 21310 21311 Reviewed by Adele Peterson. 21312 21313 https://bugs.webkit.org/show_bug.cgi?id=25153 21314 Can't place the caret into text field that scrolls the window on focus 21315 21316 We refetch the target node in the shadow node case, and when we do so the window coordinate for the mouse event may 21317 be invalid because of scrolling that the focus handler did. Cache the document point (that we derived from the window 21318 coordinate) and use that any time we refetch. 21319 21320 * page/EventHandler.cpp: 21321 (WebCore::documentPointForWindowPoint): 21322 (WebCore::EventHandler::handleMousePressEvent): 21323 (WebCore::EventHandler::prepareMouseEvent): 21324 21325 2009-04-13 Sam Weinig <sam (a] webkit.org> 21326 21327 Reviewed by Geoffrey Garen. 21328 21329 Rename JavaScriptCanOpenWindowsAutomatically to javaScriptCanOpenWindowsAutomatically 21330 to conform to our style guidelines. 21331 21332 * page/DOMWindow.cpp: 21333 (WebCore::DOMWindow::allowPopUp): 21334 * page/Settings.h: 21335 (WebCore::Settings::javaScriptCanOpenWindowsAutomatically): 21336 21337 2009-04-13 Geoffrey Garen <ggaren (a] apple.com> 21338 21339 Mac build fix: Made another header private. 21340 21341 * WebCore.xcodeproj/project.pbxproj: 21342 21343 2009-04-13 Jian Li <jianli (a] chromium.org> 21344 21345 Reviewed by Darin Fisher. 21346 21347 https://bugs.webkit.org/show_bug.cgi?id=25121 21348 Upstream changes to handle error messages from V8 when running worker script. 21349 21350 * bindings/v8/WorkerContextExecutionProxy.cpp: 21351 (WebCore::reportFatalErrorInV8): 21352 (WebCore::handleConsoleMessage): 21353 (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): 21354 (WebCore::WorkerContextExecutionProxy::dispose): 21355 (WebCore::WorkerContextExecutionProxy::initV8IfNeeded): 21356 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 21357 (WebCore::WorkerContextExecutionProxy::evaluate): 21358 * bindings/v8/WorkerContextExecutionProxy.h: 21359 21360 2009-04-13 Geoffrey Garen <ggaren (a] apple.com> 21361 21362 Build fix: Made setInlineEventListenerForType not inline, since Document 21363 calls it now. Made RegisteredEventListener.h a private header on Mac, 21364 so WebKit can use it. 21365 21366 * page/DOMWindow.cpp: 21367 (WebCore::DOMWindow::setInlineEventListenerForType): 21368 21369 2009-04-13 Dan Bernstein <mitz (a] apple.com> 21370 21371 Reviewed by Sam Weinig. 21372 21373 - fix <rdar://problem/6404439> REGRESSION: Overlapping text and other 21374 layout issues in View Sample feature of MYOB FIrstEdge v3 21375 21376 * page/Navigator.cpp: 21377 (WebCore::shouldHideFourDot): Added "tdqm_loader.js" to the list of 21378 JavaScript files this quirk applies to. 21379 21380 2009-04-13 Sam Weinig <sam (a] webkit.org> 21381 21382 Reviewed by Oliver Hunt. 21383 21384 Move open and showModalDialog functions out of JSDOMWindowBase 21385 and into JSDOMWindow by partially generating them. 21386 21387 This slightly changes the behavior of getting window.showModalDialog 21388 when the embedding app does not support it to return undefined regardless 21389 of shadowing. This should not be an issue in a practice, but will be addressed 21390 when we add a generic way to handle runtime specialization of property 21391 access. 21392 21393 * DerivedSources.make: Remove JSDOMWindowBase.lut.h 21394 * WebCore.xcodeproj/project.pbxproj: Ditto. 21395 * bindings/js/JSDOMWindowBase.cpp: 21396 (WebCore::): 21397 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Move canShowModalDialog check from 21398 here to JSDOMWindow::customGetOwnPropertySlot. 21399 (WebCore::JSDOMWindowBase::put): Remove dead code. 21400 * bindings/js/JSDOMWindowCustom.cpp: 21401 (WebCore::createWindow): 21402 (WebCore::JSDOMWindow::open): 21403 (WebCore::JSDOMWindow::showModalDialog): 21404 * bindings/js/JSDOMWindowCustom.h: 21405 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 21406 * page/DOMWindow.cpp: 21407 (WebCore::DOMWindow::parseModalDialogFeatures): Move from JSDOMWindowBase. 21408 (WebCore::DOMWindow::allowPopUp): Ditto. 21409 (WebCore::DOMWindow::canShowModalDialog): Ditto. 21410 (WebCore::DOMWindow::canShowModalDialogNow): Ditto. 21411 * page/DOMWindow.h: 21412 * page/DOMWindow.idl: 21413 21414 2009-04-13 Geoffrey Garen <ggaren (a] apple.com> 21415 21416 Reviewed by Sam Weinig. 21417 21418 Moved storage for window event listeners into the window object. 21419 21420 * bindings/js/JSDOMWindowCustom.cpp: 21421 (WebCore::JSDOMWindow::addEventListener): 21422 (WebCore::JSDOMWindow::removeEventListener): Add / remove window event 21423 listeners to / from the window object. 21424 21425 * dom/Document.cpp: 21426 (WebCore::Document::removeAllEventListeners): 21427 (WebCore::Document::clear): 21428 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): Moved 21429 a bunch of code to the DOMWindow class, and left behind a few calls through 21430 to DOMWindow, to support legacy clients. (Eventually, these will go away, too.) 21431 21432 * dom/Document.h: ditto. 21433 21434 * dom/Node.cpp: 21435 (WebCore::Node::dispatchGenericEvent): 21436 (WebCore::Node::dispatchWindowEvent): Dipatch window events on the window 21437 object, not the document. 21438 21439 * dom/Node.h: 21440 * dom/RegisteredEventListener.h: Moved RegisteredEventListenerVector 21441 declaration, since it's required in more places now. 21442 21443 * history/CachedFrame.cpp: 21444 (WebCore::CachedFrame::clear): Updated for rename. Also, remove event 21445 listeners before detaching and clearing the document's window pointer, 21446 since the the document needs its window pointer in order to tell the window 21447 to clear its event listeners. 21448 21449 * loader/FrameLoader.cpp: 21450 (WebCore::FrameLoader::stopLoading): 21451 (WebCore::FrameLoader::canCachePageContainingThisFrame): 21452 (WebCore::FrameLoader::logCanCacheFrameDecision): Updated for rename, and 21453 movement of window event listeners into the window. 21454 21455 * loader/ImageDocument.cpp: 21456 (WebCore::ImageDocument::createDocumentStructure): Updated for movement 21457 of window event listeners into the window. 21458 21459 * page/DOMWindow.cpp: 21460 (WebCore::DOMWindow::handleEvent): 21461 (WebCore::DOMWindow::addEventListener): 21462 (WebCore::DOMWindow::removeEventListener): 21463 (WebCore::DOMWindow::removeAllEventListeners): 21464 (WebCore::DOMWindow::hasEventListener): 21465 (WebCore::DOMWindow::setInlineEventListenerForType): 21466 (WebCore::DOMWindow::removeInlineEventListenerForType): 21467 (WebCore::DOMWindow::inlineEventListenerForType): 21468 (WebCore::DOMWindow::addPendingFrameUnloadEventCount): 21469 (WebCore::DOMWindow::removePendingFrameUnloadEventCount): 21470 (WebCore::DOMWindow::addPendingFrameBeforeUnloadEventCount): 21471 (WebCore::DOMWindow::removePendingFrameBeforeUnloadEventCount): 21472 * page/DOMWindow.h: Moved a bunch of code to the DOMWindow class, from the Document. 21473 21474 * page/Frame.cpp: 21475 (WebCore::Frame::shouldClose): Updated for movement of window event listeners into the window. 21476 21477 2009-04-13 Greg Bolsinga <bolsinga (a] apple.com> 21478 21479 Reviewed by Sam Weinig. 21480 21481 https://bugs.webkit.org/show_bug.cgi?id=25149 21482 21483 The Geolocation timer needs to start after the UA has granted permission. 21484 21485 * bindings/js/JSGeolocationCustom.cpp: Use PassRefPtr<PositionOptions> 21486 (WebCore::JSGeolocation::getCurrentPosition): 21487 (WebCore::JSGeolocation::watchPosition): 21488 * page/Geolocation.cpp: Add a RefPtr<PositionOptions> so it can be used 21489 later when the timer is started. Change PositionOptions* to PassRefPtr<PositionOptions> 21490 where needed. 21491 (WebCore::Geolocation::GeoNotifier::GeoNotifier): 21492 (WebCore::Geolocation::GeoNotifier::startTimer): 21493 (WebCore::Geolocation::getCurrentPosition): 21494 (WebCore::Geolocation::watchPosition): 21495 (WebCore::Geolocation::setIsAllowed): Start the timer is the UA allows 21496 (WebCore::Geolocation::startTimer): 21497 (WebCore::Geolocation::startTimersForOneShots): 21498 (WebCore::Geolocation::startTimersForWatchers): 21499 (WebCore::Geolocation::startTimers): 21500 * page/Geolocation.h: 21501 (WebCore::Geolocation::GeoNotifier::create): 21502 21503 2009-04-13 Pamela Greene <pam (a] chromium.org> 21504 21505 Reviewed by Darin Fisher. 21506 21507 Fix Chromium (V8) build by renaming methods to match changes 21508 in http://trac.webkit.org/changeset/42377. 21509 21510 https://bugs.webkit.org/show_bug.cgi?id=25141 21511 21512 * bindings/v8/ScheduledAction.cpp: 21513 (WebCore::ScheduledAction::execute): updateRendering() -> updateStyleIfNeeded() 21514 * bindings/v8/V8AbstractEventListener.cpp: 21515 (WebCore::V8AbstractEventListener::handleEvent): updateDocumentsRendering() -> updateStyleForAllDocuments() 21516 21517 2009-04-13 Darin Fisher <darin (a] chromium.org> 21518 21519 Reviewed by Darin Adler. 21520 21521 https://bugs.webkit.org/show_bug.cgi?id=25136 21522 CRASH in DocumentLoader::removeSubresourceLoader due to null m_frame 21523 21524 Test: fast/frames/frame-unload-crash.html 21525 21526 * loader/DocumentLoader.cpp: 21527 (WebCore::DocumentLoader::updateLoading): Added null check of m_frame. 21528 21529 2009-04-13 Sam Weinig <sam (a] webkit.org> 21530 21531 Reviewed by Tim Hatcher. 21532 21533 Put the MessagePort constructor back in ENABLE_CHANNEL_MESSAGING. 21534 21535 * page/DOMWindow.idl: 21536 21537 2009-04-13 Greg Bolsinga <bolsinga (a] apple.com> 21538 21539 Fix GTK build break. 21540 21541 * platform/gtk/GeolocationServiceGtk.cpp: 21542 (WebCore::GeolocationServiceGtk::updatePosition): 21543 21544 2009-04-13 David Hyatt <hyatt (a] apple.com> 21545 21546 Reviewed by Darin Adler and Dan Bernstein. 21547 21548 Assertion in updateStyleForAllDocuments. Make sure to unscheduleStyleRecalc when an object goes into 21549 the page cache. Disallow scheduling of style recalcs on a document that is already in the page cache. 21550 Schedule a style recalc if needed when an object comes out of the page cache. 21551 21552 * dom/Document.cpp: 21553 (WebCore::Document::scheduleStyleRecalc): 21554 (WebCore::Document::setInPageCache): 21555 21556 2009-04-13 Timothy Hatcher <timothy (a] apple.com> 21557 21558 Correctly sort (program) scripts in the Scripts panel popup menu. 21559 21560 Reviewed by Ada Chan. 21561 21562 * inspector/front-end/ScriptsPanel.js: 21563 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): Refactor the code 21564 and sort "(program)" options by the sourceID to maintain some order. 21565 * inspector/front-end/utilities.js: 21566 (indexOfObjectInListSortedByFunction): Fix a bug where identical objects would cause 21567 an incorrect return value that confuses insertionIndexForObjectInListSortedByFunction. 21568 Just set 'first' and break so the correct result will be returned. 21569 21570 2009-04-13 Greg Bolsinga <bolsinga (a] apple.com> 21571 21572 Reviewed by Darin Adler. 21573 21574 https://bugs.webkit.org/show_bug.cgi?id=24770 21575 21576 Add custom code for Coordinates that returns null when required by the 21577 Geolocation spec. 21578 21579 http://dev.w3.org/geo/api/spec-source.html#coordinates 21580 21581 * WebCore.xcodeproj/project.pbxproj: 21582 * bindings/js/JSCoordinatesCustom.cpp: Added. 21583 (WebCore::JSCoordinates::altitude): returns null if the value cannot be provided. 21584 (WebCore::JSCoordinates::altitudeAccuracy): Ditto 21585 (WebCore::JSCoordinates::heading): Ditto 21586 (WebCore::JSCoordinates::speed): Ditto 21587 * page/Coordinates.h: 21588 (WebCore::Coordinates::create): Add 'canProvide' parameters and values 21589 (WebCore::Coordinates::canProvideAltitude): 21590 (WebCore::Coordinates::canProvideAltitudeAccuracy): 21591 (WebCore::Coordinates::canProvideHeading): 21592 (WebCore::Coordinates::canProvideSpeed): 21593 (WebCore::Coordinates::Coordinates): 21594 * page/Coordinates.idl: specify custom getters 21595 * platform/mac/GeolocationServiceMac.mm: Set the values correctly if they cannot be provided. 21596 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): 21597 21598 2009-04-13 Adele Peterson <adele (a] apple.com> 21599 21600 Reviewed by Darin Adler. 21601 21602 Fix for <rdar://problem/5510537> Typing return at start of block quote yields empty quoted line 21603 21604 Test: editing/inserting/5510537.html 21605 21606 * editing/BreakBlockquoteCommand.cpp: (WebCore::BreakBlockquoteCommand::doApply): If the break insertion position 21607 is at the beginning of the topmost quote, then just insert the <br> before the blockquote. Otherwise, if the break 21608 insertion position is at the beginning of any quote, adjust the position so the break comes before the current quote level 21609 so we don't end up with an empty line in that quote in addition to the new line we're adding with the <br>. 21610 21611 2009-04-11 Darin Adler <darin (a] apple.com> 21612 21613 Reviewed by Dan Bernstein. 21614 21615 Fix problem when encoding history files with duplicate integer arrays near the end of the file. 21616 This results in an assertion failure, and if assertions are turned off, corrupted output. 21617 21618 When writing an integer array it's important not to add an object reference to the 21619 aggregate buffer. The writing of the array does not depend on the aggregate buffer. But, 21620 more importantly, it's possible this instance integer array is a duplicate and won't be 21621 written out. If so, there's no guarantee there's enough space in the aggregate buffer to 21622 store the object references (the references will be ignored). In some cases the aggregate 21623 buffer can then overrun the data being written; normally this is prevented by the fact that 21624 the data being written will include a copy of the aggregate buffer. 21625 21626 Also removed a bit of unneeded dead code to handle the integer -1. 21627 21628 * platform/cf/BinaryPropertyList.cpp: 21629 (WebCore::BinaryPropertyListPlan::BinaryPropertyListPlan): Removed unneeded 21630 m_integerNegativeOneObjectReference, since property lists support only non-negative integers. 21631 (WebCore::BinaryPropertyListPlan::writeInteger): Removed support for 21632 m_integerNegativeOneObjectReference. 21633 (WebCore::BinaryPropertyListPlan::integerObjectReference): Ditto. 21634 (WebCore::BinaryPropertyListSerializer::writeIntegerWithoutAddingAggregateObjectReference): 21635 Added. Factored out most of writeInteger, for use in writeIntegerArray, without calling 21636 addAggregateObjectReference. 21637 (WebCore::BinaryPropertyListSerializer::writeInteger): Changed to call the new 21638 writeIntegerWithoutAddingAggregateObjectReference function. 21639 (WebCore::BinaryPropertyListSerializer::writeIntegerArray): Call the new 21640 writeIntegerWithoutAddingAggregateObjectReference function and therefore remove the 21641 code to save and restore m_currentAggregateBufferByte, which is no longer needed. 21642 21643 2009-04-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 21644 21645 Unreviewed Qt build fix. 21646 21647 * platform/graphics/qt/FontQt.cpp: 21648 (WebCore::Font::floatWidthForComplexText): 21649 21650 2009-04-12 Sam Weinig <sam (a] webkit.org> 21651 21652 Reviewed by Mark Rowe. 21653 21654 Move the event and crypto attributes and the captureEvents and releaseEvents 21655 functions out of JSDOMWindowBase by partially generating them. 21656 21657 * bindings/js/JSDOMGlobalObject.cpp: 21658 (WebCore::JSDOMGlobalObject::currentEvent): Make const. 21659 * bindings/js/JSDOMGlobalObject.h: 21660 * bindings/js/JSDOMWindowBase.cpp: 21661 * bindings/js/JSDOMWindowCustom.cpp: 21662 (WebCore::JSDOMWindow::crypto): Not implemented. 21663 (WebCore::JSDOMWindow::event): 21664 (WebCore::JSDOMWindow::captureEvents): Not implemented. 21665 (WebCore::JSDOMWindow::releaseEvents): Ditto. 21666 * page/DOMWindow.idl: 21667 21668 2009-04-12 Sam Weinig <sam (a] webkit.org> 21669 21670 Reviewed by Mark Rowe. 21671 21672 Move more attributes out of JSDOMWindowBase by 21673 partially generating them. 21674 21675 - Expose the MessagePort constructor. 21676 21677 * bindings/js/JSDOMGlobalObject.h: 21678 (WebCore::getDOMConstructor): 21679 * bindings/js/JSDOMWindowBase.cpp: 21680 (setJSDOMWindowBaseEvent): 21681 * bindings/js/JSDOMWindowCustom.cpp: 21682 (WebCore::JSDOMWindow::image): 21683 (WebCore::JSDOMWindow::option): 21684 (WebCore::JSDOMWindow::audio): 21685 (WebCore::JSDOMWindow::webKitPoint): 21686 (WebCore::JSDOMWindow::webKitCSSMatrix): 21687 (WebCore::JSDOMWindow::xMLHttpRequest): 21688 (WebCore::JSDOMWindow::xSLTProcessor): 21689 (WebCore::JSDOMWindow::messageChannel): 21690 (WebCore::JSDOMWindow::worker): 21691 * page/DOMWindow.idl: 21692 21693 2009-04-12 Timothy Hatcher <timothy (a] apple.com> 21694 21695 A resource's filename is not correct after a redirect in the Inspector. 21696 21697 Reviewed by Dan Bernstein. 21698 21699 * inspector/InspectorResource.cpp: 21700 (WebCore::InspectorResource::updateScriptObject): Fix a typo in the 21701 lastPathComponent property name. 21702 21703 2009-04-12 Adele Peterson <adele (a] apple.com> 21704 21705 Reviewed by Darin Adler. 21706 21707 Test: editing/inserting/6609479-1.html 21708 21709 Follow-up to <rdar://problem/6609479>. 21710 21711 Before my last change, a Mail blockquote would've been broken up earlier, and you would've been guaranteed that the inserted content 21712 was at the start of a paragraph. Now we need to check for that explicitly, and only merge the start of the inserted content if it is 21713 at the start of a paragraph. 21714 21715 * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::shouldMergeStart): 21716 21717 2009-04-11 Adele Peterson <adele (a] apple.com> 21718 21719 Reviewed by Dan Bernstein. 21720 21721 Fix for <rdar://problem/6609479> Pressing return inside a table cell that's inside quoted content will split the table 21722 21723 Test: editing/inserting/6609479.html 21724 21725 Don't break a blockquote if pasting or inserting into a table. 21726 21727 * editing/ReplaceSelectionCommand.cpp: (WebCore::ReplaceSelectionCommand::doApply): 21728 * editing/TypingCommand.cpp: (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): 21729 21730 2009-04-11 Dan Bernstein <mitz (a] apple.com> 21731 21732 Reviewed by Darin Adler. 21733 21734 - fix <rdar://problem/6643103> Unscaled values from body.scrollHeight 21735 21736 Test: fast/css/zoom-body-scroll.html 21737 21738 Adjust scroll{Left,Top,Width,Height} values for zoom in getters and 21739 setters. 21740 21741 * html/HTMLBodyElement.cpp: 21742 (WebCore::adjustForZoom): 21743 (WebCore::HTMLBodyElement::scrollLeft): 21744 (WebCore::HTMLBodyElement::setScrollLeft): 21745 (WebCore::HTMLBodyElement::scrollTop): 21746 (WebCore::HTMLBodyElement::setScrollTop): 21747 (WebCore::HTMLBodyElement::scrollHeight): 21748 (WebCore::HTMLBodyElement::scrollWidth): 21749 21750 2009-04-10 Timothy Hatcher <timothy (a] apple.com> 21751 21752 Allow page navigation and reload while stopped at a breakpoint. 21753 21754 <rdar://problem/6781108> Having a breakpoint active prevents page reload 21755 21756 Reviewed by Darin Adler. 21757 21758 * inspector/InspectorController.cpp: 21759 (WebCore::InspectorController::didContinue): Call the resumedScript function. 21760 * inspector/InspectorController.h: Added didContinue. 21761 * inspector/JavaScriptDebugListener.h: Ditto. 21762 * inspector/JavaScriptDebugServer.cpp: 21763 (WebCore::JavaScriptDebugServer::pauseIfNeeded): Call didContinue on the listeners. 21764 * inspector/front-end/ScriptsPanel.js: 21765 (WebInspector.ScriptsPanel.prototype.debuggerResumed): Update the interface and state. 21766 * inspector/front-end/inspector.js: 21767 (WebInspector.resumedScript): Call ScriptsPanel.debuggerResumed. 21768 * loader/FrameLoader.cpp: 21769 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Call resumeDebugger. 21770 21771 2009-04-10 Sam Weinig <sam (a] webkit.org> 21772 21773 Reviewed by Adele Peterson. 21774 21775 Remove unused include for JSLock. 21776 21777 * page/mac/FrameMac.mm: 21778 21779 2009-04-10 Sam Weinig <sam (a] webkit.org> 21780 21781 Reviewed by Darin Adler. 21782 21783 Add back the keepAlive timer for after the script execution to 21784 protect the callers of evaluate, as was part of the original intent 21785 of timer. 21786 21787 * bindings/js/ScriptController.cpp: 21788 (WebCore::ScriptController::evaluate): 21789 * page/mac/FrameMac.mm: 21790 21791 2009-04-10 Chris Marrin <cmarrin (a] apple.com> 21792 21793 Reviewed by Simon Fraser. 21794 21795 Fixed https://bugs.webkit.org/show_bug.cgi?id=25137 21796 21797 If we reload, the animation controller sticks around and has 21798 a stale animation time. So the needed delay is computed wrong. 21799 I added a reset of the animation timer on load. 21800 21801 I did not do a test case because this only happens on reload so I 21802 couldn't make an automated test. I tried using an iframe and using 21803 reload() but that doesn't tickle the bug. 21804 21805 * dom/Document.cpp: 21806 (WebCore::Document::implicitOpen): 21807 21808 2009-04-10 Grace Kloba <klobag (a] gmail.com> 21809 21810 Reviewed by Darin Adler. 21811 21812 Move WORKERS header files inside ENABLE(WORKERS). 21813 So if WORKERS is not enabled and the generated files are not generated, the build is still working. 21814 21815 * bindings/js/JSDOMGlobalObject.cpp: 21816 * bindings/js/JSMessageChannelConstructor.cpp: 21817 * bindings/js/ScheduledAction.cpp: 21818 21819 2009-04-10 Darin Adler <darin (a] apple.com> 21820 21821 Reviewed by Brady Eidson. 21822 21823 <rdar://problem/6773515> crash in push_heap inside WebCore when printing 21824 21825 The crash was due to manipulating a timer on a different thread than the one it was created on. 21826 This adds some diagnostics so we'll catch that kind of mistake immediately. 21827 21828 * platform/Timer.cpp: 21829 (WebCore::TimerBase::TimerBase): Store the thread identifier in debug versions. 21830 (WebCore::TimerBase::start): Assert it's the same thread the timer was created on. 21831 (WebCore::TimerBase::stop): Ditto. 21832 (WebCore::TimerBase::isActive): Ditto. 21833 (WebCore::TimerBase::setNextFireTime): Ditto. 21834 21835 * platform/Timer.h: Added the thread identifier data member. 21836 21837 2009-04-10 Chris Marrin <cmarrin (a] apple.com> 21838 21839 Reviewed by Dan Bernstein 21840 21841 https://bugs.webkit.org/show_bug.cgi?id=25108 21842 21843 If you remove a class with a transition while that transition is running 21844 the animation timer will continue to fire after the transition is finished. 21845 This has no visual indication, but it does drain the processor. And in some 21846 cases it might even cause a glitch in future animations. Unfortunately there 21847 is no way to test this without putting in printfs. 21848 21849 This happens because the animation logic is never traversed after a transition 21850 is removed, so we never get a chance to cleanup. So I added cleanup in the logic 21851 that fires the dispatch of the last style change when the animation finishes. 21852 21853 Test: transitions/remove-transition-style.html 21854 21855 * page/animation/AnimationController.cpp: 21856 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 21857 * page/animation/CompositeAnimation.cpp: 21858 (WebCore::CompositeAnimation::updateTransitions): 21859 (WebCore::CompositeAnimation::animate): 21860 (WebCore::CompositeAnimation::cleanupFinishedAnimations): 21861 * page/animation/CompositeAnimation.h: 21862 21863 2009-04-10 Sam Weinig <sam (a] webkit.org> 21864 21865 Reviewed by Geoffrey Garen. 21866 21867 Fix for <rdar://problem/6648858> 21868 CrashTracer: [REGRESSION(Safari 4)] 60 crashes in Safari at com.apple.WebCore WebCore::ScriptController::evaluate + 241 21869 21870 The Frame (and therefore ScriptController) were being destroyed 21871 during JavaScript execution causing the JSDOMWindowShell to become 21872 null. 21873 21874 * bindings/js/ScriptController.cpp: 21875 (WebCore::ScriptController::evaluate): Use a RefPtr to protect the Frame 21876 instead of the keep-alive timer, since a nested event loop used from with-in 21877 JavaScript execution could cause the timer to fire before returning. 21878 21879 2009-04-10 Dimitri Glazkov <dglazkov (a] chromium.org> 21880 21881 Reviewed by Timothy Hatcher. 21882 21883 https://bugs.webkit.org/show_bug.cgi?id=25133 21884 Fix an error in InspectorController's bindings, clean up a few header 21885 includes, make empty object construction in ScriptObject less ambiguous. 21886 21887 * bindings/js/JSInspectorControllerCustom.cpp: 21888 (WebCore::JSInspectorController::setSetting): Send correct argument from 21889 the bindings. 21890 * bindings/js/ScriptObject.cpp: 21891 (WebCore::ScriptObject::createNew): Added. 21892 * bindings/js/ScriptObject.h: Removed constructor, added decl for createNew. 21893 * inspector/ConsoleMessage.cpp: Remove unused header. 21894 * inspector/ConsoleMessage.h: Ditto. 21895 * inspector/InspectorResource.cpp: 21896 (WebCore::createHeadersObject): Changed to use ScriptObject::createNew. 21897 21898 2009-04-10 Chris Marrin <cmarrin (a] apple.com> 21899 21900 Reviewed by Simon Fraser. 21901 21902 Fixed https://bugs.webkit.org/show_bug.cgi?id=25134 21903 21904 This both fixes a bug where I was not sending in the right time 21905 to continue the animation and was not recomputing current time 21906 when coming out of suspend. 21907 21908 * page/animation/AnimationBase.cpp: 21909 (WebCore::AnimationBase::updateStateMachine): 21910 * page/animation/AnimationController.cpp: 21911 (WebCore::AnimationControllerPrivate::suspendAnimations): 21912 (WebCore::AnimationControllerPrivate::resumeAnimations): 21913 21914 2009-04-10 Adam Roben <aroben (a] apple.com> 21915 21916 Give Windows's <select> popup menus drop shadows 21917 21918 Rubber-stamped by Steve Falkenburg. 21919 21920 No test possible. 21921 21922 * platform/win/PopupMenuWin.cpp: 21923 (WebCore::registerPopup): Use the CS_DROPSHADOW window class style. 21924 21925 2009-04-10 Timothy Hatcher <timothy (a] apple.com> 21926 21927 Fix a bug in the Web Inspector where it would show scripts 21928 from previous pages when toggling the debugger off and back on. 21929 21930 https://bugs.webkit.org/show_bug.cgi?id=25095 21931 rdar://problem/6769970 21932 21933 Reviewed by John Sullivan. 21934 21935 * bindings/js/ScriptCachedFrameData.cpp: 21936 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): Null out the 21937 debugger for the scriptController. This balances the attachDebugger 21938 that was already in ScriptCachedFrameData::restore. 21939 (WebCore::ScriptCachedFrameData::restore): Clean up an if statement. 21940 * bindings/js/ScriptController.cpp: 21941 (WebCore::ScriptController::clearWindowShell): Clear the debugger from 21942 the current window before setting the new window. 21943 * inspector/JavaScriptDebugServer.cpp: 21944 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): Only accumulate 21945 source providers for code associated this as the debugger. 21946 21947 2009-04-10 Pierre d'Herbemont <pdherbemont (a] apple.com> 21948 21949 Reviewed by Adele Peterson. 21950 21951 <rdar://problem/6646998> Avoid starting QTKitServer if possible 21952 When possible avoid asking QTKit for the MIME types that require QTKitServer 21953 when running 64-bit. 21954 21955 * WebCore.base.exp: Added new entry point. 21956 21957 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 21958 (WebCore::addFileTypesToCache): Add an NSArray of types to the cache. 21959 (WebCore::mimeCommonTypesCache): Add all "common" QTKit types to the cache. 21960 (WebCore::mimeModernTypesCache): Add only "modern" QTKit types to the cache (this list does 21961 not start QTKitServer if it is not already running). 21962 (WebCore::MediaPlayerPrivate::getSupportedTypes): Refactored. 21963 (WebCore::MediaPlayerPrivate::supportsType): Look in list of "modern" types first to avoid 21964 starting QTKitServer if possible. 21965 21966 * platform/mac/WebCoreSystemInterface.h: Add wkQTIncludeOnlyModernMediaFileTypes. 21967 * platform/mac/WebCoreSystemInterface.mm: Ditto. 21968 21969 2009-04-10 Adam Roben <aroben (a] apple.com> 21970 21971 Turn on window animations for <select> popup menus 21972 21973 We turned these off back when <select> popup menus were partially 21974 transparent. Now that they're opaque, there's no reason not to 21975 animate them. 21976 21977 Reviewed by Steve Falkenburg. 21978 21979 No test possible. 21980 21981 * platform/win/PopupMenuWin.cpp: 21982 (WebCore::PopupMenu::show): Remove the #ifdef that was disabling the 21983 window animation. 21984 21985 2009-04-10 Dan Bernstein <mitz (a] apple.com> 21986 21987 Reviewed by Sam Weinig. 21988 21989 - fix a regression from r42379 which made zero-width characters affect 21990 line height 21991 21992 Test: fixes fast/text/wide-zero-width-space.html 21993 21994 * platform/graphics/mac/FontMacATSUI.mm: 21995 (WebCore::overrideLayoutOperation): Add to the fallback font list set 21996 here, and only if the glyph is not zero-width... 21997 (WebCore::ATSULayoutParameters::initialize): ...instead of doing it 21998 here. This matches WidthIterator's behavior. 21999 22000 2009-04-10 Darin Fisher <darin (a] chromium.org> 22001 22002 Fixing build bustage caused by warnings being treated as errors. 22003 1- A local variable was only be used inside a debug assertion, which 22004 caused grief for the release build. 22005 2- Missing initializer for member 'DocumentMarker::activeMatch' 22006 22007 * dom/Document.cpp: 22008 (WebCore::Document::addMarker): 22009 (WebCore::Document::setMarkersActive): 22010 22011 2009-04-10 Finnur Thorarinsson <finnur.webkit (a] gmail.com> 22012 22013 Reviewed by John Sullivan. 22014 22015 Fixing: https://bugs.webkit.org/show_bug.cgi?id=25117 22016 (TextMatches don't have a concept of active match) 22017 22018 For the ports that use the DocumentMarker as highlighting for FindInPage it is 22019 useful to have a flag that specifies which marker is active, so it can be drawn 22020 in a different color. 22021 22022 This allows me to remove the hack to use the SelectionController to highlight 22023 the active match (in the ChromiumWin port). 22024 22025 * dom/Document.cpp: 22026 (WebCore::Document::setMarkersActive): 22027 * dom/Document.h: 22028 * dom/DocumentMarker.h: 22029 * rendering/InlineTextBox.cpp: 22030 (WebCore::InlineTextBox::paintTextMatchMarker): 22031 * rendering/RenderTheme.cpp: 22032 (WebCore::RenderTheme::platformActiveTextSearchHighlightColor): 22033 (WebCore::RenderTheme::platformInactiveTextSearchHighlightColor): 22034 * rendering/RenderTheme.h: 22035 * rendering/RenderThemeChromiumWin.cpp: 22036 (WebCore::RenderThemeChromiumWin::platformActiveSelectionBackgroundColor): 22037 (WebCore::RenderThemeChromiumWin::platformInactiveSelectionBackgroundColor): 22038 (WebCore::RenderThemeChromiumWin::platformActiveTextSearchHighlightColor): 22039 (WebCore::RenderThemeChromiumWin::platformInactiveTextSearchHighlightColor): 22040 * rendering/RenderThemeChromiumWin.h: 22041 22042 2009-04-10 Pamela Greene <pam (a] chromium.org> 22043 22044 Reviewed by Dimitri Glazkov. 22045 22046 Build fix for Chromium. 22047 https://bugs.webkit.org/show_bug.cgi?id=12440 22048 22049 * page/chromium/FrameChromium.cpp: 22050 (WebCore::computePageRectsForFrame): change docWidth() to overflowWidth() 22051 22052 2009-04-09 David Hyatt <hyatt (a] apple.com> 22053 22054 Reviewed by Oliver Hunt 22055 22056 Add a timer for style recalc (similar to the one used for scheduling layouts). For now in order 22057 to reduce the risk of regressions, I have left in all the synchronous machinery for updating style 22058 following DOM events and JavaScript timeouts. Eventually these calls will be removed. 22059 22060 Where the timer will really kick in and be useful is for clients that do style changes from 22061 Objective-C DOM bindings or that execute JavaScript to manipulate style from the JavaScriptCore C API. 22062 22063 * dom/ContainerNode.cpp: 22064 (WebCore::ContainerNode::insertBefore): 22065 (WebCore::ContainerNode::replaceChild): 22066 (WebCore::ContainerNode::removeChild): 22067 (WebCore::ContainerNode::appendChild): 22068 * dom/Document.cpp: 22069 (WebCore::Document::Document): 22070 (WebCore::Document::~Document): 22071 (WebCore::Document::scheduleStyleRecalc): 22072 (WebCore::Document::unscheduleStyleRecalc): 22073 (WebCore::Document::styleRecalcTimerFired): 22074 (WebCore::Document::updateStyleForAllDocuments): 22075 (WebCore::Document::detach): 22076 * dom/Document.h: 22077 * dom/Node.cpp: 22078 (WebCore::Node::setNeedsStyleRecalc): 22079 (WebCore::Node::lazyAttach): 22080 22081 2009-04-09 Oliver Hunt <oliver (a] apple.com> 22082 22083 Reviewed by Gavin Barraclough. 22084 22085 <rdar://problem/6586787> JS debugger does not work in 64-bit 22086 22087 Don't truncate the source id in JSCallFrame 22088 22089 * inspector/JavaScriptCallFrame.h: 22090 22091 2009-04-09 Adam Roben <aroben (a] apple.com> 22092 22093 Start compiling HistoryPropertyList on Windows 22094 22095 Reviewed by Darin Adler. 22096 22097 * WebCore.vcproj/WebCore.vcproj: Added HistoryPropertyList and its 22098 dependencies to the project. Copy headers from history/cf to 22099 $WebKitOutputDir. 22100 * history/cf/HistoryPropertyList.cpp: Added StringExtras.h so that 22101 this file will compile on Windows. 22102 22103 2009-04-09 Dan Bernstein <mitz (a] apple.com> 22104 22105 Reviewed by Dave Hyatt. 22106 22107 - fix <rdar://problem/6166612> Text boxes'metrics should be based on 22108 the actual fonts used in them, not just the primary font 22109 22110 Covered by many existing layout tests 22111 22112 * platform/graphics/Font.cpp: 22113 (WebCore::Font::floatWidth): Added a fallbackFonts parameter. If the 22114 platform supports collecting fallback fonts in its complex font path 22115 and fallbackFonts is not null, all fallback fonts used for the text run 22116 will be added to it. 22117 22118 * platform/graphics/Font.h: 22119 (WebCore::Font::width): Ditto. 22120 22121 * platform/graphics/FontFastPath.cpp: 22122 (WebCore::Font::glyphDataForCharacter): Removed an unnecessary namespace 22123 qualifier. 22124 (WebCore::Font::floatWidthForSimpleText): Added a fallbackFonts 22125 parameter, which is passed down to WidthIterator. 22126 22127 * platform/graphics/WidthIterator.cpp: 22128 (WebCore::WidthIterator::WidthIterator): Added a fallbackFonts parameter 22129 and used it to initialize the m_fallbackFonts member. 22130 (WebCore::WidthIterator::advance): Track the fonts being used and add 22131 any fallback fonts to the m_fallbackFonts set. Make sure to only add 22132 non-small-caps fonts. 22133 22134 * platform/graphics/WidthIterator.h: 22135 22136 * platform/graphics/chromium/FontChromiumWin.cpp: 22137 (WebCore::Font::canReturnFallbackFontsForComplexText): Added an 22138 implementation that returns false, meaning this platform's 22139 implementation of floatWidthForComplexText() does not populate the 22140 fallbackFonts set. 22141 (WebCore::Font::floatWidthForComplexText): Updated for the new 22142 prototype. 22143 22144 * platform/graphics/chromium/FontLinux.cpp: Ditto. 22145 22146 * platform/graphics/gtk/FontGtk.cpp: Ditto. 22147 22148 * platform/graphics/mac/CoreTextController.cpp: 22149 (WebCore::CoreTextController::CoreTextController): Added a fallbackFonts 22150 parameter and used it to initialize the m_fallbackFonts member. 22151 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Add 22152 fallback fonts to m_fallbackFonts. 22153 22154 * platform/graphics/mac/CoreTextController.h: 22155 22156 * platform/graphics/mac/FontMac.mm: 22157 (WebCore::Font::canReturnFallbackFontsForComplexText): Added an 22158 implementation that returns true, indicating that the Mac 22159 implementations of floatWidthForComplexText() populate the fallbackFonts 22160 set. 22161 * platform/graphics/mac/FontMacATSUI.mm: 22162 (WebCore::ATSULayoutParameters::ATSULayoutParameters): Added a 22163 fallbackFonts parameter and used it to initialize the m_fallbackFonts 22164 member. 22165 (WebCore::ATSULayoutParameters::initialize): Add fallback fonts to 22166 m_fallbackFonts. 22167 (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts 22168 parameter, which is passed down to ATSULayoutParameters. 22169 22170 * platform/graphics/mac/FontMacCoreText.cpp: 22171 (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts 22172 parameter, which is passed down to CoreTextController. 22173 22174 * platform/graphics/win/FontWin.cpp: 22175 (WebCore::Font::canReturnFallbackFontsForComplexText): Added an 22176 implementation that returns true, indicating that the 22177 UniscribeController-based implementations of floatWidthForComplexText() 22178 populate the fallbackFonts set. 22179 (WebCore::Font::floatWidthForComplexText): Added a fallbackFonts 22180 parameter, which is passed down to UniscribeController. 22181 22182 * platform/graphics/win/UniscribeController.cpp: 22183 (WebCore::UniscribeController::UniscribeController): Added a 22184 fallbackfonts parameter and used it to initialize m_fallbackFonts. 22185 (WebCore::UniscribeController::advance): Add fallback fonts to 22186 m_fallbackFonts. 22187 22188 * platform/graphics/win/UniscribeController.h: 22189 22190 * platform/graphics/wx/FontWx.cpp: 22191 (WebCore::Font::canReturnFallbackFontsForComplexText): Added an 22192 implementation that returns false, meaning this platform's 22193 implementation of floatWidthForComplexText() does not populate the 22194 fallbackFonts set. 22195 (WebCore::Font::floatWidthForComplexText): Updated for the new 22196 prototype. 22197 22198 * rendering/InlineFlowBox.cpp: 22199 (WebCore::InlineFlowBox::computeLogicalBoxHeights): For an InlineTextBox 22200 with multiple fonts, compute a common baseline and line height by 22201 considering all fonts' ascents and descents (and line spacing, if 22202 applicable). 22203 22204 * rendering/InlineTextBox.cpp: 22205 (WebCore::InlineTextBox::setFallbackFonts): Added. Temporarily stores 22206 the set of fallback fonts in a vector. 22207 (WebCore::InlineTextBox::takeFallbackFonts): Added. Returns the fallback 22208 fonts previously stored and removes them from storage. 22209 22210 * rendering/InlineTextBox.h: 22211 22212 * rendering/RenderText.cpp: 22213 (WebCore::RenderText::RenderText): Initialized the 22214 m_knownNotToUseFallbackFonts to false. 22215 (WebCore::RenderText::styleDidChange): Reset 22216 m_knownNotToUseFallbackFonts to false if the style difference is such that 22217 affects layout. 22218 (WebCore::RenderText::widthFromCache): Added a fallbackFonts parameter, 22219 which is passed down to Font::width(). 22220 (WebCore::RenderText::trimmedPrefWidths): Updated for the change to 22221 widthFromCache(). 22222 (WebCore::RenderText::calcPrefWidths): Made this call a private version 22223 of calcPrefWidths() that takes a fallbackFonts parameter and set the 22224 m_knownNotToUseFallbackFonts to true if the set comes back empty. 22225 The private version passes the fallbackFonts set to widthFromCache(). 22226 (WebCore::RenderText::setText): Reset m_knownNotToUseFallbackFonts to 22227 false. 22228 (WebCore::RenderText::createFallbackFontMetricsBox): Added. 22229 (WebCore::RenderText::width): Added a fallbackFonts parameter, which is 22230 passed down to calcPrefWidths(), widthFromCache() and Font::width(). 22231 Set m_knownNotToUseFallbackFonts to true when appropriate. 22232 22233 * rendering/RenderText.h: 22234 22235 * rendering/bidi.cpp: 22236 (WebCore::RenderBlock::constructLine): Added an assertion and a continue 22237 statement to remove one level of indentation. 22238 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Temporarily 22239 store the set of fallback fonts in the InlineTextBox. 22240 (WebCore::RenderBlock::computeVerticalPositionsForLine): Added an 22241 assertion. 22242 22243 2009-04-09 David Hyatt <hyatt (a] apple.com> 22244 22245 Reviewed by Adam Roben 22246 22247 Rename all of the changed()/setChanged()/setDocumentChanged() methods to mention style recalc 22248 explicitly instead. 22249 22250 * bindings/js/JSCustomPositionCallback.cpp: 22251 (WebCore::JSCustomPositionCallback::handleEvent): 22252 * bindings/js/JSCustomPositionErrorCallback.cpp: 22253 (WebCore::JSCustomPositionErrorCallback::handleEvent): 22254 * bindings/js/JSCustomSQLStatementCallback.cpp: 22255 (WebCore::JSCustomSQLStatementCallback::handleEvent): 22256 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 22257 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 22258 * bindings/js/JSCustomSQLTransactionCallback.cpp: 22259 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 22260 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 22261 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 22262 * bindings/js/JSCustomVoidCallback.cpp: 22263 (WebCore::JSCustomVoidCallback::handleEvent): 22264 * bindings/js/JSCustomXPathNSResolver.cpp: 22265 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 22266 * bindings/js/JSEventListener.cpp: 22267 (WebCore::JSAbstractEventListener::handleEvent): 22268 * bindings/js/ScheduledAction.cpp: 22269 (WebCore::ScheduledAction::execute): 22270 * bindings/js/ScriptControllerMac.mm: 22271 (WebCore::updateStyleIfNeededForBindings): 22272 (WebCore::ScriptController::initJavaJSBindings): 22273 * css/CSSMutableStyleDeclaration.cpp: 22274 (WebCore::CSSMutableStyleDeclaration::removeProperty): 22275 (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc): 22276 (WebCore::CSSMutableStyleDeclaration::setProperty): 22277 (WebCore::CSSMutableStyleDeclaration::setStringProperty): 22278 (WebCore::CSSMutableStyleDeclaration::setImageProperty): 22279 (WebCore::CSSMutableStyleDeclaration::parseDeclaration): 22280 (WebCore::CSSMutableStyleDeclaration::addParsedProperties): 22281 (WebCore::CSSMutableStyleDeclaration::setCssText): 22282 (WebCore::CSSMutableStyleDeclaration::merge): 22283 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): 22284 * css/CSSMutableStyleDeclaration.h: 22285 * css/CSSStyleSelector.cpp: 22286 (WebCore::CSSStyleSelector::SelectorChecker::allVisitedStateChanged): 22287 (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged): 22288 * css/CSSVariablesDeclaration.cpp: 22289 (WebCore::CSSVariablesDeclaration::removeVariable): 22290 (WebCore::CSSVariablesDeclaration::setVariable): 22291 (WebCore::CSSVariablesDeclaration::setNeedsStyleRecalc): 22292 * css/CSSVariablesDeclaration.h: 22293 * dom/ContainerNode.cpp: 22294 (WebCore::ContainerNode::insertBefore): 22295 (WebCore::ContainerNode::replaceChild): 22296 (WebCore::ContainerNode::removeChild): 22297 (WebCore::ContainerNode::appendChild): 22298 (WebCore::ContainerNode::detach): 22299 (WebCore::ContainerNode::setFocus): 22300 (WebCore::ContainerNode::setActive): 22301 (WebCore::ContainerNode::setHovered): 22302 * dom/Document.cpp: 22303 (WebCore::Document::Document): 22304 (WebCore::Document::~Document): 22305 (WebCore::Document::scheduleStyleRecalc): 22306 (WebCore::Document::unscheduleStyleRecalc): 22307 (WebCore::Document::recalcStyle): 22308 (WebCore::Document::updateStyleIfNeeded): 22309 (WebCore::Document::updateStyleForAllDocuments): 22310 (WebCore::Document::updateLayout): 22311 (WebCore::Document::implicitClose): 22312 (WebCore::Document::prepareMouseEvent): 22313 (WebCore::Document::setFocusedNode): 22314 (WebCore::Document::setCSSTarget): 22315 * dom/Document.h: 22316 * dom/Element.cpp: 22317 (WebCore::Element::recalcStyle): 22318 (WebCore::checkForSiblingStyleChanges): 22319 * dom/InputElement.cpp: 22320 (WebCore::InputElement::parseMaxLengthAttribute): 22321 * dom/MouseRelatedEvent.cpp: 22322 (WebCore::MouseRelatedEvent::receivedTarget): 22323 * dom/Node.cpp: 22324 (WebCore::Node::Node): 22325 (WebCore::Node::setNeedsStyleRecalc): 22326 (WebCore::Node::lazyAttach): 22327 (WebCore::Node::dispatchGenericEvent): 22328 * dom/Node.h: 22329 (WebCore::Node::needsStyleRecalc): 22330 (WebCore::Node::childNeedsStyleRecalc): 22331 (WebCore::Node::setChildNeedsStyleRecalc): 22332 * dom/OptionElement.cpp: 22333 (WebCore::OptionElement::setSelectedState): 22334 * dom/ScriptElement.cpp: 22335 (WebCore::ScriptElementData::evaluateScript): 22336 * dom/StyledElement.cpp: 22337 (WebCore::StyledElement::attributeChanged): 22338 (WebCore::StyledElement::classAttributeChanged): 22339 (WebCore::StyledElement::parseMappedAttribute): 22340 * dom/Text.cpp: 22341 (WebCore::Text::recalcStyle): 22342 * dom/XMLTokenizer.cpp: 22343 (WebCore::XMLTokenizer::insertErrorMessageBlock): 22344 * editing/DeleteButtonController.cpp: 22345 (WebCore::DeleteButtonController::enable): 22346 * editing/Editor.cpp: 22347 (WebCore::Editor::setBaseWritingDirection): 22348 * editing/SelectionController.cpp: 22349 (WebCore::SelectionController::nodeWillBeRemoved): 22350 (WebCore::SelectionController::layout): 22351 (WebCore::SelectionController::focusedOrActiveStateChanged): 22352 * html/HTMLAnchorElement.cpp: 22353 (WebCore::HTMLAnchorElement::parseMappedAttribute): 22354 * html/HTMLElement.cpp: 22355 (WebCore::HTMLElement::setInnerText): 22356 (WebCore::HTMLElement::isContentEditable): 22357 (WebCore::HTMLElement::isContentRichlyEditable): 22358 (WebCore::HTMLElement::contentEditable): 22359 * html/HTMLEmbedElement.cpp: 22360 (WebCore::HTMLEmbedElement::updateWidget): 22361 * html/HTMLFormControlElement.cpp: 22362 (WebCore::HTMLFormControlElement::parseMappedAttribute): 22363 * html/HTMLFrameSetElement.cpp: 22364 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 22365 (WebCore::HTMLFrameSetElement::recalcStyle): 22366 * html/HTMLInputElement.cpp: 22367 (WebCore::HTMLInputElement::parseMappedAttribute): 22368 (WebCore::HTMLInputElement::setChecked): 22369 (WebCore::HTMLInputElement::setIndeterminate): 22370 (WebCore::HTMLInputElement::setValue): 22371 (WebCore::HTMLInputElement::setAutofilled): 22372 * html/HTMLMediaElement.cpp: 22373 (WebCore::HTMLMediaElement::finishParsingChildren): 22374 * html/HTMLObjectElement.cpp: 22375 (WebCore::HTMLObjectElement::updateWidget): 22376 (WebCore::HTMLObjectElement::finishParsingChildren): 22377 (WebCore::HTMLObjectElement::childrenChanged): 22378 * html/HTMLSelectElement.cpp: 22379 (WebCore::HTMLSelectElement::recalcStyle): 22380 (WebCore::HTMLSelectElement::restoreState): 22381 (WebCore::HTMLSelectElement::setRecalcListItems): 22382 (WebCore::HTMLSelectElement::reset): 22383 (WebCore::HTMLSelectElement::typeAheadFind): 22384 * html/HTMLTableElement.cpp: 22385 (WebCore::setTableCellsChanged): 22386 (WebCore::HTMLTableElement::parseMappedAttribute): 22387 * html/HTMLTextAreaElement.cpp: 22388 (WebCore::HTMLTextAreaElement::setValue): 22389 * loader/FrameLoader.cpp: 22390 (WebCore::FrameLoader::stopLoading): 22391 (WebCore::FrameLoader::executeScript): 22392 (WebCore::FrameLoader::gotoAnchor): 22393 * page/DOMWindow.cpp: 22394 (WebCore::DOMWindow::alert): 22395 (WebCore::DOMWindow::confirm): 22396 (WebCore::DOMWindow::prompt): 22397 * page/EventHandler.cpp: 22398 (WebCore::EventHandler::hoverTimerFired): 22399 * page/FrameView.cpp: 22400 (WebCore::FrameView::layout): 22401 (WebCore::FrameView::needsLayout): 22402 * page/animation/AnimationBase.cpp: 22403 (WebCore::AnimationBase::setNeedsStyleRecalc): 22404 (WebCore::AnimationBase::updateStateMachine): 22405 * page/animation/AnimationBase.h: 22406 * page/animation/AnimationController.cpp: 22407 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 22408 (WebCore::AnimationControllerPrivate::clear): 22409 (WebCore::AnimationControllerPrivate::updateAnimationTimer): 22410 (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired): 22411 (WebCore::AnimationControllerPrivate::startupdateStyleIfNeededDispatcher): 22412 (WebCore::AnimationControllerPrivate::addEventToDispatch): 22413 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch): 22414 (WebCore::AnimationControllerPrivate::animationTimerFired): 22415 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): 22416 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): 22417 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): 22418 (WebCore::AnimationController::cancelAnimations): 22419 * page/animation/AnimationControllerPrivate.h: 22420 * page/animation/ImplicitAnimation.cpp: 22421 (WebCore::ImplicitAnimation::sendTransitionEvent): 22422 * page/animation/KeyframeAnimation.cpp: 22423 (WebCore::KeyframeAnimation::endAnimation): 22424 (WebCore::KeyframeAnimation::sendAnimationEvent): 22425 * rendering/RenderObject.cpp: 22426 (WebCore::RenderObject::updateDragState): 22427 * rendering/RenderView.cpp: 22428 (WebCore::RenderView::selectionBounds): 22429 * svg/SVGAElement.cpp: 22430 (WebCore::SVGAElement::svgAttributeChanged): 22431 * svg/SVGAnimationElement.cpp: 22432 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 22433 * svg/SVGCursorElement.cpp: 22434 (WebCore::SVGCursorElement::svgAttributeChanged): 22435 * svg/SVGElementInstance.cpp: 22436 (WebCore::SVGElementInstance::setNeedsUpdate): 22437 * svg/SVGForeignObjectElement.cpp: 22438 (WebCore::addCSSPropertyAndNotifyAttributeMap): 22439 * svg/SVGStopElement.cpp: 22440 (WebCore::SVGStopElement::parseMappedAttribute): 22441 * svg/SVGStyledElement.cpp: 22442 (WebCore::SVGStyledElement::parseMappedAttribute): 22443 * svg/SVGUseElement.cpp: 22444 (WebCore::SVGUseElement::svgAttributeChanged): 22445 (WebCore::SVGUseElement::childrenChanged): 22446 (WebCore::SVGUseElement::recalcStyle): 22447 * svg/animation/SMILTimeContainer.cpp: 22448 (WebCore::SMILTimeContainer::updateAnimations): 22449 * wml/WMLAElement.cpp: 22450 (WebCore::WMLAElement::parseMappedAttribute): 22451 * wml/WMLInputElement.cpp: 22452 (WebCore::WMLInputElement::setValue): 22453 (WebCore::WMLInputElement::parseMappedAttribute): 22454 * wml/WMLNoopElement.cpp: 22455 (WebCore::WMLNoopElement::insertedIntoDocument): 22456 22457 2009-04-09 Brett Wilson <brettw (a] chromium.org> 22458 22459 Reviewed by Darin Fisher. 22460 22461 When there is a shadow set but it specifies "no shadow", clear the 22462 shadow shader. This will prevent Chromium from thinking there's a 22463 shadow and using the Skia codepath rather than Windows. 22464 22465 * platform/graphics/skia/GraphicsContextSkia.cpp: 22466 (WebCore::GraphicsContext::setPlatformShadow): 22467 22468 2009-04-09 Eric Seidel <eric (a] webkit.org> 22469 22470 Reviewed by Simon Fraser. 22471 22472 Crash when accessing svg.viewport on a detached SVGSVGElement 22473 https://bugs.webkit.org/show_bug.cgi?id=25105 22474 22475 * svg/SVGSVGElement.cpp: 22476 (WebCore::SVGSVGElement::isOutermostSVG): return "true" that we are the "outermost" SVG element if we have no parent. (The spec is unclear as to what behavior we should have in this case, and I doubt anyone cares for now). 22477 22478 2009-04-09 Jian Li <jianli (a] chromium.org> 22479 22480 Reviewed by Dimitri Glazkov. 22481 22482 https://bugs.webkit.org/show_bug.cgi?id=25084 22483 Upstream changes to V8 bindings for XHR so that it can work under either DOMWindow or WorkerContext. 22484 22485 * bindings/v8/WorkerContextExecutionProxy.cpp: 22486 (WebCore::WorkerContextExecutionProxy::dispose): 22487 (WebCore::WorkerContextExecutionProxy::retrieve): 22488 (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): 22489 (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper): 22490 (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener): 22491 (WebCore::WorkerContextExecutionProxy::findOrCreateObjectEventListener): 22492 * bindings/v8/WorkerContextExecutionProxy.h: 22493 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: 22494 (WebCore::CALLBACK_FUNC_DECL): 22495 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: 22496 (WebCore::getEventListener): 22497 (WebCore::ACCESSOR_SETTER): 22498 (WebCore::CALLBACK_FUNC_DECL): 22499 22500 2009-04-09 Darin Adler <darin (a] apple.com> 22501 22502 Reviewed by Anders Carlsson and Sam Weinig. 22503 22504 Part of <rdar://problem/5438063> Saving history containing 100,000 entries causes pauses of 2s while browsing 22505 22506 Longer term solution is to change the design so Safari doesn't read and write all of history. 22507 This patch is step one: Do the serializing, which is done on the main thread, much faster. 22508 22509 * WebCore.base.exp: Added new entry points. 22510 * WebCore.xcodeproj/project.pbxproj: Added new source files. 22511 22512 * history/cf: Added. 22513 22514 * history/cf/HistoryPropertyList.cpp: Added. 22515 * history/cf/HistoryPropertyList.h: Added. Code to write history files. In the future we'll also 22516 have code for reading here too. 22517 22518 * platform/cf/BinaryPropertyList.cpp: Added. 22519 * platform/cf/BinaryPropertyList.h: Added. Code to write binary property list files. 22520 22521 2009-04-09 Simon Fraser <simon.fraser (a] apple.com> 22522 22523 Reviewed by Antti Koivisto 22524 22525 https://bugs.webkit.org/show_bug.cgi?id=25122 22526 22527 If deferred repainting is active, we need to ensure that there are no repaints 22528 pending at the end of layoutIfNeededRecursive, which is called just before 22529 painting via -viewWillDraw. 22530 22531 * page/FrameView.cpp: 22532 (WebCore::FrameView::layoutIfNeededRecursive): 22533 22534 2009-04-09 John Grabowski <jrg (a] chromium.org> 22535 22536 Reviewed by Darin Fisher. 22537 22538 https://bugs.webkit.org/show_bug.cgi?id=25117 22539 Fix Mac Chromium form controls. 22540 22541 * rendering/RenderThemeChromiumMac.mm: 22542 When rendering native controls in Mac Chromium, use a clean NSGraphicsContext. 22543 Properly save and restore native graphics context. 22544 (WebCore::RenderThemeChromiumMac::paintCheckbox): 22545 (WebCore::RenderThemeChromiumMac::paintRadio): 22546 (WebCore::RenderThemeChromiumMac::paintMenuList): 22547 (WebCore::RenderThemeChromiumMac::paintSearchFieldCancelButton): 22548 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsDecoration): 22549 (WebCore::RenderThemeChromiumMac::paintSearchFieldResultsButton): 22550 22551 2009-04-09 Drew Wilson <atwilson (a] google.com> 22552 22553 Reviewed by Alexey Proskuryakov. 22554 22555 https://bugs.webkit.org/show_bug.cgi?id=25030 22556 Refactor MessagePort code to enable Chrome to use a MessagePortProxy object 22557 instead of a real MessagePort for the entangledPort, since it could 22558 theoretically live in a separate process. 22559 22560 The goal of this refactoring is to remove all assumptions that the object 22561 representing the entangled port is actually of type MessagePort. All 22562 operations that were previously directly modifying private MessagePort member 22563 variables in the entangled port (i.e. entangle(), postMessage()) have been changed 22564 to invoke functions in the MessagePortProxy interface instead which will allow 22565 the Chrome bindings to proxy these calls to another process. 22566 22567 No new layout tests, as this is just a refactoring with no bug fixes 22568 or new functionality. 22569 22570 * GNUmakefile.am: 22571 * WebCore.vcproj/WebCore.vcproj: 22572 * WebCore.xcodeproj/project.pbxproj: 22573 * bindings/js/JSMessagePortCustom.cpp: 22574 (WebCore::JSMessagePort::mark): 22575 * dom/MessagePort.cpp: 22576 (WebCore::MessagePort::clone): 22577 (WebCore::MessagePort::postMessage): 22578 (WebCore::MessagePort::deliverMessage): 22579 (WebCore::MessagePort::startConversation): 22580 (WebCore::MessagePort::close): 22581 (WebCore::MessagePort::entangle): 22582 (WebCore::MessagePort::unentangle): 22583 * dom/MessagePort.h: 22584 (WebCore::MessagePort::entangledPort): 22585 * dom/MessagePortProxy.h: Added. 22586 (WebCore::MessagePortProxy::~MessagePortProxy): 22587 22588 2009-04-08 Sam Weinig <sam (a] webkit.org> 22589 22590 Reviewed by Geoffrey "Big Boy" Garen. 22591 22592 Fix for <rdar://problem/5745677> Possible to stop load during an unload event 22593 Also fixes https://bugs.webkit.org/show_bug.cgi?id=20605 22594 22595 Tests: fast/events/stop-load-in-unload-handler-using-document-write.html 22596 fast/events/stop-load-in-unload-handler-using-window-stop.html 22597 22598 Don't allow calling methods that would stop the new load inside the unload 22599 event. 22600 22601 * loader/FrameLoader.cpp: 22602 (WebCore::FrameLoader::FrameLoader): 22603 (WebCore::FrameLoader::stopLoading): 22604 (WebCore::FrameLoader::stopAllLoaders): 22605 * loader/FrameLoader.h: 22606 22607 2009-04-09 David Kilzer <ddkilzer (a] apple.com> 22608 22609 Reinstating <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings 22610 22611 Rolled r42345 back in. The build failure was caused by an 22612 internal script which had not been updated the same way that 22613 build-webkit was updated. 22614 22615 * Configurations/WebCore.xcconfig: 22616 * DerivedSources.make: 22617 * bindings/objc/DOM.mm: 22618 (WebCore::createElementClassMap): 22619 (+[DOMNode _wrapNode:WebCore::]): 22620 * bindings/objc/DOMCSS.mm: 22621 (+[DOMCSSValue _wrapCSSValue:WebCore::]): 22622 * bindings/objc/DOMEvents.mm: 22623 (+[DOMEvent _wrapEvent:WebCore::]): 22624 * bindings/objc/DOMInternal.h: 22625 * bindings/objc/ExceptionHandlers.mm: 22626 (WebCore::raiseDOMException): 22627 * html/HTMLEmbedElement.idl: 22628 * html/HTMLFrameElement.idl: 22629 * html/HTMLIFrameElement.idl: 22630 * html/HTMLObjectElement.idl: 22631 22632 2009-04-09 Simon Fraser <simon.fraser (a] apple.com> 22633 22634 Reviewed by Darin Adler 22635 22636 https://bugs.webkit.org/show_bug.cgi?id=25109 22637 22638 Eliminate CompositeAnimationPrivate, which was a needless level 22639 of abstraction. Remove the methods like addToStyleAvailableWaitList() 22640 that simply turn around and call the animation controller. 22641 22642 Rename animationControllerPriv() to animationController(). 22643 Rename willNeedService() to timeToNextService(). 22644 22645 * page/animation/AnimationBase.cpp: 22646 (WebCore::AnimationBase::~AnimationBase): 22647 (WebCore::AnimationBase::updateStateMachine): 22648 (WebCore::AnimationBase::timeToNextService): 22649 (WebCore::AnimationBase::beginAnimationUpdateTime): 22650 * page/animation/AnimationBase.h: 22651 * page/animation/AnimationController.cpp: 22652 (WebCore::AnimationControllerPrivate::updateAnimationTimer): 22653 * page/animation/CompositeAnimation.cpp: 22654 (WebCore::CompositeAnimation::~CompositeAnimation): 22655 (WebCore::CompositeAnimation::clearRenderer): 22656 (WebCore::CompositeAnimation::updateTransitions): 22657 (WebCore::CompositeAnimation::updateKeyframeAnimations): 22658 (WebCore::CompositeAnimation::animate): 22659 (WebCore::CompositeAnimation::getAnimatedStyle): 22660 (WebCore::CompositeAnimation::setAnimating): 22661 (WebCore::CompositeAnimation::timeToNextService): 22662 (WebCore::CompositeAnimation::getAnimationForProperty): 22663 (WebCore::CompositeAnimation::cleanupFinishedAnimations): 22664 (WebCore::CompositeAnimation::suspendAnimations): 22665 (WebCore::CompositeAnimation::resumeAnimations): 22666 (WebCore::CompositeAnimation::overrideImplicitAnimations): 22667 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): 22668 (WebCore::CompositeAnimation::isAnimatingProperty): 22669 (WebCore::CompositeAnimation::pauseAnimationAtTime): 22670 (WebCore::CompositeAnimation::pauseTransitionAtTime): 22671 (WebCore::CompositeAnimation::numberOfActiveAnimations): 22672 * page/animation/CompositeAnimation.h: 22673 (WebCore::CompositeAnimation::animationController): 22674 (WebCore::CompositeAnimation::isSuspended): 22675 (WebCore::CompositeAnimation::hasAnimations): 22676 (WebCore::CompositeAnimation::CompositeAnimation): 22677 * page/animation/ImplicitAnimation.cpp: 22678 (WebCore::ImplicitAnimation::sendTransitionEvent): 22679 (WebCore::ImplicitAnimation::timeToNextService): 22680 * page/animation/ImplicitAnimation.h: 22681 * page/animation/KeyframeAnimation.cpp: 22682 (WebCore::KeyframeAnimation::sendAnimationEvent): 22683 (WebCore::KeyframeAnimation::timeToNextService): 22684 * page/animation/KeyframeAnimation.h: 22685 22686 2009-04-09 Alexey Proskuryakov <ap (a] webkit.org> 22687 22688 Reverting <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings. 22689 It broke Mac build, and I don't know how to fix it. 22690 22691 * Configurations/WebCore.xcconfig: 22692 * DerivedSources.make: 22693 * bindings/objc/DOM.mm: 22694 (WebCore::createElementClassMap): 22695 (+[DOMNode _wrapNode:WebCore::]): 22696 * bindings/objc/DOMCSS.mm: 22697 (+[DOMCSSValue _wrapCSSValue:WebCore::]): 22698 * bindings/objc/DOMEvents.mm: 22699 (+[DOMEvent _wrapEvent:WebCore::]): 22700 * bindings/objc/DOMInternal.h: 22701 * bindings/objc/ExceptionHandlers.mm: 22702 (WebCore::raiseDOMException): 22703 * html/HTMLEmbedElement.idl: 22704 * html/HTMLFrameElement.idl: 22705 * html/HTMLIFrameElement.idl: 22706 * html/HTMLObjectElement.idl: 22707 22708 2009-04-09 Xan Lopez <xlopez (a] igalia.com> 22709 22710 Unreviewed build fix. 22711 22712 RenderView::docWidth() was made private by r42334. That commit 22713 changes its usage for overflowWidth(), so do that here too. 22714 22715 * page/PrintContext.cpp: 22716 (WebCore::PrintContext::computePageRects): 22717 22718 2009-04-09 Xan Lopez <xlopez (a] igalia.com> 22719 22720 Reviewed by Holger Freyther. 22721 22722 https://bugs.webkit.org/show_bug.cgi?id=21546 22723 [GTK] ATK accessibility enhancements 22724 22725 Based on a patch by Alp Toker. 22726 22727 Implement AtkObject::ref_state_set. Still quite a few states not 22728 implemented. 22729 22730 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 22731 22732 2009-04-09 Xan Lopez <xlopez (a] igalia.com> 22733 22734 Reviewed by Holger Freyther. 22735 22736 https://bugs.webkit.org/show_bug.cgi?id=21546 22737 [GTK] ATK accessibility enhancements 22738 22739 Based on a patch by Alp Toker. 22740 22741 Move fallback object creation to its own function, as it will be 22742 used in several places. 22743 22744 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 22745 (fallbackObject): 22746 22747 2009-04-09 Xan Lopez <xlopez (a] igalia.com> 22748 22749 Reviewed by Holger Freyther. 22750 22751 https://bugs.webkit.org/show_bug.cgi?id=21546 22752 [GTK] ATK accessibility enhancements 22753 22754 Based on a patch by Alp Toker. 22755 22756 Move AccessibilityObject methods to their file. 22757 22758 * page/gtk/AccessibilityObjectAtk.cpp: 22759 (WebCore::AccessibilityObject::wrapper): 22760 (WebCore::AccessibilityObject::setWrapper): 22761 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 22762 22763 2009-04-09 Xan Lopez <xlopez (a] igalia.com> 22764 22765 Reviewed by Holger Freyther. 22766 22767 https://bugs.webkit.org/show_bug.cgi?id=21546 22768 [GTK] ATK accessibility enhancements 22769 22770 Rework accessibility type generation code, based on Mozilla a11y 22771 implementation. 22772 22773 Have one base a11y type, and generate derived types that implement 22774 only the necessary interfaces at runtime, based on the specific 22775 object we are wrapping. This allows to save a lot of code while 22776 covering all possible cases. 22777 22778 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 22779 22780 2009-04-09 Eric Seidel <eric (a] webkit.org> 22781 22782 Reviewed by Oliver Hunt. 22783 22784 Fix document.implementation.createDocument(null, "a:b") not to crash! 22785 https://bugs.webkit.org/show_bug.cgi?id=25096 22786 22787 Test: fast/dom/DOMImplementation/createDocument-namespace-err.html 22788 22789 * dom/ContainerNode.cpp: 22790 (WebCore::ContainerNode::addChild): add ASSERT() to give a better crash next time 22791 * dom/DOMImplementation.cpp: 22792 (WebCore::DOMImplementation::createDocument): check the exception code before using the result 22793 22794 2009-04-08 Adam Roben <aroben (a] apple.com> 22795 22796 Make <select>s in application chrome documents match the Vista system 22797 dialog look 22798 22799 Reviewed by Dave Hyatt. 22800 22801 * rendering/RenderThemeWin.cpp: 22802 (WebCore::documentIsInApplicationChromeMode): Added this simple helper 22803 function. 22804 (WebCore::RenderThemeWin::getThemeData): In application chrome mode, 22805 the drop down button never uses any look but the "normal" look. 22806 (WebCore::RenderThemeWin::paintMenuList): In application chrome mode, 22807 use the "readonly" style to match system dialogs. 22808 22809 2009-04-08 Adam Roben <aroben (a] apple.com> 22810 22811 Fix <rdar://6592515> Crash closing tab with Top Sites or Cover Flow 22812 showing after clicking "Go Back" in phishing alert 22813 22814 RenderButton's m_timer is not stopped when its Document enters the 22815 page cache. When the WebView was torn down, the timer would fire after 22816 the Frame's Page had been destroyed, leading to a crash. This patch 22817 just makes the timer do nothing when it fires. Making the timer not 22818 fire when in the page cache is covered by bug 25110. 22819 22820 Reviewed by Dave Hyatt. 22821 22822 No test possible. 22823 22824 * rendering/RenderButton.cpp: 22825 (WebCore::RenderButton::timerFired): Do nothing when we're in the page 22826 cache. 22827 22828 2009-04-09 David Hyatt <hyatt (a] apple.com> 22829 22830 Reviewed by Adam Roben 22831 22832 Fix bugs where we would mistakenly turn off blitting for iframes if an external paint 22833 caused the checks to be triggered too early in the loading process of the frame. 22834 22835 * rendering/RenderBoxModelObject.cpp: 22836 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 22837 22838 2009-04-08 Simon Fraser <simon.fraser (a] apple.com> 22839 22840 Reviewed by Cameron Zwarich 22841 22842 https://bugs.webkit.org/show_bug.cgi?id=25106 22843 22844 Fix signature of virtual function on AnimationBase so that it matches 22845 those in the derived classes, by removing unused parameter. 22846 22847 * page/animation/AnimationBase.h: 22848 (WebCore::AnimationBase::endAnimation): 22849 22850 2009-04-08 David Kilzer <ddkilzer (a] apple.com> 22851 22852 <rdar://problem/6718589> Option to turn off SVG DOM Objective-C bindings 22853 22854 Reviewed by Darin Adler and Maciej Stachowiak. 22855 22856 Introduce the ENABLE_SVG_DOM_OBJC_BINDINGS feature define so 22857 that SVG DOM Objective-C bindings may be optionally disabled. 22858 22859 * Configurations/WebCore.xcconfig: Added 22860 ENABLE_SVG_DOM_OBJC_BINDINGS variable and use it in 22861 FEATURE_DEFINES and EXCLUDED_SOURCE_FILE_NAMES. When SVG DOM 22862 Objective-C bindings are disabled, two generated header files no 22863 longer exist and none of the generated DOMSVG*.mm files should 22864 be compiled. 22865 * DerivedSources.make: All of the WebCore.SVG*.exp files contain 22866 SVG DOM Objective-C bindings classes, so exclude them unless 22867 ENABLE_SVG_DOM_OBJC_BINDINGS is set. 22868 * bindings/objc/DOM.mm: Switched from using ENABLE(SVG) to using 22869 ENABLE(SVG_DOM_OBJC_BINDINGS). 22870 (WebCore::createElementClassMap): 22871 (+[DOMNode _wrapNode:WebCore::]): 22872 * bindings/objc/DOMCSS.mm: Ditto. 22873 (+[DOMCSSValue _wrapCSSValue:WebCore::]): 22874 * bindings/objc/DOMEvents.mm: Ditto. 22875 (+[DOMEvent _wrapEvent:WebCore::]): 22876 * bindings/objc/DOMInternal.h: Ditto. 22877 * bindings/objc/ExceptionHandlers.mm: Added use of 22878 ENABLE(SVG_DOM_OBJC_BINDINGS). 22879 (WebCore::raiseDOMException): 22880 * html/HTMLEmbedElement.idl: Excluded -getSVGDocument method 22881 in generated Objective-C DOM classes if SVG DOM Objective-C 22882 bindings are disabled. 22883 * html/HTMLFrameElement.idl: Ditto. 22884 * html/HTMLIFrameElement.idl: Ditto. 22885 * html/HTMLObjectElement.idl: Ditto. 22886 22887 2009-04-08 Dan Bernstein <mitz (a] apple.com> 22888 22889 Reviewed by Sam Weinig. 22890 22891 - limit the workaround for <rdar://problem/5781372> to Mac OS X versions 22892 that need it 22893 22894 * platform/mac/WebFontCache.mm: 22895 (fixUpWeight): Changed this function to be a no-op post-Leopard. 22896 22897 2009-04-08 Dan Bernstein <mitz (a] apple.com> 22898 22899 Reviewed by Dave Hyatt. 22900 22901 - fix <rdar://problem/6771547> Appending to a RenderText causes all its 22902 lines to be dirtied 22903 22904 Test: fast/repaint/text-append-dirty-lines.html 22905 22906 * rendering/RenderText.cpp: 22907 (WebCore::RenderText::setTextWithOffset): If no text boxes intersected 22908 with or came after the new text, dirty the last root box, since the new 22909 text may begin there. Having at least one dirty line prevents the 22910 incorrect dirtying of all lines later during layoutInlineChildren(). 22911 22912 2009-04-08 Darin Fisher <darin (a] chromium.org> 22913 22914 Reviewed by Eric Seidel. 22915 22916 https://bugs.webkit.org/show_bug.cgi?id=25100 22917 22918 Fixes a Chromium-specific crash in WebCore::ImageBuffer::context that 22919 occurs when rendering semi-transparent RTL text. 22920 22921 Test: fast/text/complex-text-opacity.html 22922 22923 * platform/graphics/chromium/FontChromiumWin.cpp: Handle RTL when computing text bounds. 22924 (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds): 22925 22926 2009-04-08 David Hyatt <hyatt (a] apple.com> 22927 22928 Reviewed by Beth Dakin 22929 22930 Fix a porting error in my previous patch. A != was supposed to be an ==. 22931 22932 * platform/ScrollView.cpp: 22933 (WebCore::ScrollView::updateScrollbars): 22934 22935 2009-04-08 David Hyatt <hyatt (a] apple.com> 22936 22937 Reviewed by Adam Roben and Darin Adler 22938 22939 Fix for https://bugs.webkit.org/show_bug.cgi?id=12440, repaints inconsistent for 22940 fixed positioned elements. 22941 22942 Rewrite the updateScrollers method to be more correct in its results. 22943 22944 Test: fast/block/positioning/fixed-positioning-scrollbar-bug.html 22945 22946 * dom/Document.cpp: 22947 (WebCore::Document::recalcStyle): 22948 (WebCore::Document::implicitClose): 22949 * page/FrameView.cpp: 22950 (WebCore::FrameView::createScrollbar): 22951 (WebCore::FrameView::layout): 22952 (WebCore::FrameView::adjustPageHeight): 22953 * page/FrameView.h: 22954 * page/win/FrameWin.cpp: 22955 (WebCore::computePageRectsForFrame): 22956 * platform/ScrollView.cpp: 22957 (WebCore::ScrollView::ScrollView): 22958 (WebCore::ScrollView::updateScrollbars): 22959 * platform/ScrollView.h: 22960 * rendering/RenderView.cpp: 22961 (WebCore::RenderView::layout): 22962 (WebCore::RenderView::docHeight): 22963 (WebCore::RenderView::docWidth): 22964 * rendering/RenderView.h: 22965 22966 2009-04-08 Sam Weinig <sam (a] webkit.org> 22967 22968 Reviewed by Anders Carlsson. 22969 22970 Fix for <rdar://problem/6226200> Implement Microsoft's X-FRAME-OPTIONS anti-framing defense 22971 22972 Tests: http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html 22973 http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-allow.html 22974 http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny.html 22975 http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag.html 22976 http/tests/security/XFrameOptions/x-frame-options-deny.html 22977 http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-allow.html 22978 http/tests/security/XFrameOptions/x-frame-options-parent-same-origin-deny.html 22979 22980 * dom/Document.cpp: 22981 (WebCore::Document::processHttpEquiv): Stop the current load and redirect to about:blank 22982 if an X-FRAME-OPTIONS <meta> tag http-equiq dictates we should. 22983 * loader/FrameLoader.cpp: 22984 (WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions): Add logic to parse 22985 the X-FRAME-OPTIONS parameter. 22986 * loader/FrameLoader.h: 22987 * loader/MainResourceLoader.cpp: 22988 (WebCore::MainResourceLoader::didReceiveResponse): Stop the current load if framed and 22989 a X-FRAME-OPTIONS header and its parameter dictate that we should. 22990 22991 2009-04-08 Adam Roben <aroben (a] apple.com> 22992 22993 Fix http/tests/xmlhttprequest/xmlhttprequest-unsafe-redirect.html on Windows 22994 22995 Reviewed by Sam Weinig. 22996 22997 * platform/network/cf/ResourceHandleCFNet.cpp: 22998 (WebCore::ResourceHandle::loadResourceSynchronously): Mimic the 22999 ResourceHandleMac code by propagating the CFError's error code for 23000 kCFErrorDomainCFNetwork errors to the ResourceResponse. 23001 23002 2009-04-08 Anders Carlsson <andersca (a] apple.com> 23003 23004 Try to fix the PPC build. 23005 23006 * plugins/npfunctions.h: 23007 23008 2009-04-08 Darin Adler <darin (a] apple.com> 23009 23010 Reviewed by Sam Weinig. 23011 23012 <rdar://problem/5908616> tokenizer resizer should handle edge cases consistently 23013 23014 * html/HTMLTokenizer.cpp: 23015 (WebCore::HTMLTokenizer::enlargeBuffer): Handle edge cases the same way as a failed fastMalloc. 23016 (WebCore::HTMLTokenizer::enlargeScriptBuffer): Ditto. 23017 23018 2009-04-08 David Hyatt <hyatt (a] apple.com> 23019 23020 Reviewed by Darin Adler 23021 23022 Make sure that cloneNode works with SVG attributes that require synchronization. This fixes 23023 issues with <use> element shadow tree cloning where the clones can end up not obtaining the 23024 correct attribute values. 23025 23026 A subsequent patch of mine will expose this problem and cause it to be covered by existing 23027 layout tests, so no test is required at this time for this problem. 23028 23029 * dom/Element.cpp: 23030 (WebCore::Element::cloneElementWithoutChildren): 23031 23032 2009-04-08 Dimitri Glazkov <dglazkov (a] chromium.org> 23033 23034 Reviewed by Timothy Hatcher. 23035 23036 https://bugs.webkit.org/show_bug.cgi?id=25093 23037 REGRESSION: some scripts are showing in the Inspector with only "true" 23038 as the source. 23039 23040 * inspector/InspectorController.cpp: 23041 (WebCore::InspectorController::didParseSource): Fixed conversion issue. 23042 (WebCore::InspectorController::failedToParseSource): Ditto. 23043 23044 2009-04-08 Adam Barth <abarth (a] webkit.org> 23045 23046 Reviewed by Alexey Proskuryakov. 23047 23048 https://bugs.webkit.org/show_bug.cgi?id=24904 23049 23050 Verify the MIME type of stylesheets (in standards mode) by looking 23051 at the Content-Type header directly. This bypasses any content 23052 sniffing that might be confusing the issue. 23053 23054 Test: http/tests/mime/standard-mode-loads-stylesheet-without-content-type-header.html 23055 23056 * loader/CachedCSSStyleSheet.cpp: 23057 (WebCore::CachedCSSStyleSheet::canUseSheet): 23058 23059 2009-04-08 Eric Carlson <eric.carlson (a] apple.com> 23060 23061 Reviewed by Simon Fraser. 23062 23063 https://bugs.webkit.org/show_bug.cgi?id=25041 23064 <rdar://problem/6697754> 23065 Bug 25041: HTMLMediaElement: OSX autoplay broken by r41907 23066 23067 OSX media player should set readyState to HAVE_ENOUGH_DATA when the movie's load state 23068 reaches QTMovieLoadStatePlaythroughOK, not when the entire file has been downloaded, 23069 so autoplay can begin when it should. 23070 23071 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 23072 (WebCore::MediaPlayerPrivate::updateStates): Set readState to 23073 HAVE_ENOUGH_DATA when QTMovie load state reaches QTMovieLoadStatePlaythroughOK. 23074 (WebCore::MediaPlayerPrivate::paint): Add braces missed in r42203. 23075 23076 2009-04-08 Alexey Proskuryakov <ap (a] webkit.org> 23077 23078 Reviewed by David Kilzer. Based on a patch by Grace Kloba. 23079 23080 https://bugs.webkit.org/show_bug.cgi?id=24656 23081 cacheControlContainsNoCache() in ResourceResponseBase.h is wrong 23082 23083 * platform/network/ResourceResponseBase.cpp: 23084 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Removed misused code for 23085 parsing directive values, fixing parsing of directives that we care about. 23086 23087 * platform/network/ResourceResponseBase.h: 23088 (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Fixed a copy/paste mistake, 23089 m_cacheControlContainsMustRevalidate was returned instead of m_cacheControlContainsNoCache. 23090 23091 2009-04-08 Adam Roben <aroben (a] apple.com> 23092 23093 Make text fields match the system look on Vista 23094 23095 Reviewed by Dave Hyatt. 23096 23097 * rendering/RenderThemeWin.cpp: 23098 (WebCore::RenderThemeWin::getThemeData): Use the new-to-Vista 23099 EP_EDITBORDER_NOSCROLL part for text fields. 23100 23101 2009-04-07 Alexey Proskuryakov <ap (a] webkit.org> 23102 23103 Reviewed by Maciej Stachowiak. 23104 23105 https://bugs.webkit.org/show_bug.cgi?id=24957 23106 REGRESSION: Google calendar widget no longer shows upcoming events 23107 23108 Test: http/tests/xmlhttprequest/authorization-header.html 23109 23110 * xml/XMLHttpRequest.cpp: 23111 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Removed Authorization from 23112 the list of forbidden headers. 23113 23114 2009-04-07 miggilin <mr.diggilin (a] gmail.com> 23115 23116 Reviewed by Kevin Ollivier. 23117 23118 Remove no longer needed debug warning and Windows-specific codepaths 23119 (as we now use the Safari/Win port's timer there) 23120 23121 https://bugs.webkit.org/show_bug.cgi?id=25070 23122 23123 * platform/wx/SharedTimerWx.cpp: 23124 (WebCore::setSharedTimerFireTime): 23125 23126 23127 2009-04-07 Adam Roben <aroben (a] apple.com> 23128 23129 Fix many <video> regression tests on Windows 23130 23131 Reviewed by Dave Hyatt. 23132 23133 * platform/graphics/win/QTMovieWin.cpp: 23134 (QTMovieWin::getNaturalSize): Call GetMovieNaturalBoundsRect, which 23135 returns the movie's natural bounds (duh), rather than GetMovieBox, 23136 which returns the movie's current displayed size/position. 23137 23138 2009-04-07 Brady Eidson <beidson (a] apple.com> 23139 23140 Reviewed by Darin Adler and Sam Weinig 23141 23142 <rdar://problem/5968249> "Private Browsing" doesn't affect HTML 5 LocalStorage 23143 23144 The expected behavior for persistent storage when private browsing mode is undefined by the spec. 23145 For now we're going with a "read-only when in private browsing" policy until we can get feedback 23146 and/or get the behavior specified in the spec. 23147 23148 Note that I purposefully made the change to restrict SessionStorage to read-only, also, with the 23149 understanding that the spec allows for SessionStorage to persist across relaunches, even though 23150 our implementation currently doesn't do this. 23151 23152 * dom/DOMCoreException.idl: Add some new ExceptionCodes defined in HTML5, one of which is needed 23153 for LocalStorage changes (QUOTA_EXCEEDED_ERR) 23154 * dom/ExceptionCode.cpp: 23155 * dom/ExceptionCode.h: 23156 23157 * storage/StorageArea.cpp: 23158 (WebCore::StorageArea::internalSetItem): If private browsing is enabled, throw the QUOTA_EXCEEDED_ERR 23159 exception as the spec allows. 23160 (WebCore::StorageArea::internalRemoveItem): If private browsing is enabled, silently fail to remove 23161 the item. 23162 (WebCore::StorageArea::internalClear): If private browsing is enabled, silently fail to clear the area. 23163 23164 2009-04-07 Dean Jackson <dino (a] apple.com> 23165 23166 Reviewed by Simon Fraser. 23167 23168 <rdar://problem/6148255> 23169 23170 Standalone media documents can not always handle everything 23171 using a <video> element. In these cases switch to an <embed> 23172 element that uses the QuickTime plugin, in the hope that it 23173 will have more luck. Typical media types that trigger this 23174 are streamed media and QTVR. 23175 23176 Equivalent Windows fix to come once reviewed. Note also that 23177 this area of code needs a cleanup: 23178 https://bugs.webkit.org/show_bug.cgi?id=25085 23179 23180 * html/HTMLMediaElement.cpp: 23181 (WebCore::HTMLMediaElement::mediaPlayerSawUnsupportedTracks): 23182 * html/HTMLMediaElement.h: 23183 * loader/MediaDocument.cpp: 23184 (WebCore::MediaDocument::mediaElementSawUnsupportedTracks): 23185 (WebCore::MediaDocument::replaceVideoWithEmbed): 23186 * loader/MediaDocument.h: 23187 - removes the <video> element and puts in an <embed> 23188 * platform/graphics/MediaPlayer.h: 23189 (WebCore::MediaPlayerClient::mediaPlayerSawUnsupportedTracks): 23190 - new internal method for flagging a problem 23191 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 23192 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 23193 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 23194 (WebCore::MediaPlayerPrivate::updateStates): 23195 - looks for the types of content we don't handle 23196 (WebCore::MediaPlayerPrivate::rateChanged): 23197 (WebCore::MediaPlayerPrivate::sizeChanged): 23198 (WebCore::MediaPlayerPrivate::timeChanged): 23199 (WebCore::MediaPlayerPrivate::didEnd): 23200 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 23201 (WebCore::MediaPlayerPrivate::sawUnsupportedTracks): 23202 - inform the MediaClient that we have a potential problem 23203 23204 2009-04-07 Dan Bernstein <mitz (a] apple.com> 23205 23206 Reviewed by Darin Adler. 23207 23208 - fix <rdar://problem/6767428> Resurrect 23209 +[WebFontCache fontWithFamily:traits:size:] for clients that call it 23210 directly 23211 23212 WebFontCache is a class in the WebCore framework and is not WebKit API, 23213 but apparently (perhaps mistakenly) some clients call this private 23214 interface. 23215 23216 This change resurrects the interface and gives it reasonable behavior 23217 (however, note that WebCore will not call the old interface, so hacks that 23218 override it will have no effect on WebKit clients). 23219 23220 * platform/mac/WebFontCache.h: 23221 * platform/mac/WebFontCache.mm: 23222 (+[WebFontCache fontWithFamily:traits:size:]): Added. Call through to 23223 +fontWithFamily:traits:weight:size:. 23224 23225 2009-04-07 David Hyatt <hyatt (a] apple.com> 23226 23227 Reviewed by Adam Roben 23228 23229 Fix ScrollView's algorithm that determines whether or not to show scrollbars. There was a bug 23230 with the method mainly because RenderView will size itself to the viewport's size, making it 23231 impossible to really know the document's "true" size. 23232 23233 In order to solve this problem ScrollView now has a minimumContentsSize method. This method 23234 returns the document size excluding the RenderView from the calculation. This width/height 23235 is now cached on RenderView in m_docWidth/m_docHeight member variables. 23236 23237 * WebCore.base.exp: 23238 * page/FrameView.cpp: 23239 (WebCore::FrameView::adjustPageHeight): 23240 (WebCore::FrameView::minimumContentsSize): 23241 * page/FrameView.h: 23242 * platform/ScrollView.cpp: 23243 (WebCore::ScrollView::updateScrollbars): 23244 * platform/ScrollView.h: 23245 (WebCore::ScrollView::minimumContentsSize): 23246 * rendering/RenderView.cpp: 23247 (WebCore::RenderView::layout): 23248 (WebCore::RenderView::calcDocHeight): 23249 (WebCore::RenderView::calcDocWidth): 23250 * rendering/RenderView.h: 23251 (WebCore::RenderView::docWidth): 23252 (WebCore::RenderView::docHeight): 23253 23254 2009-04-07 Dimitri Glazkov <dglazkov (a] chromium.org> 23255 23256 Build fix, not reviewed. 23257 23258 * WebCore.xcodeproj/project.pbxproj: Made ScriptObject.h private. 23259 23260 2009-04-07 Dimitri Glazkov <dglazkov (a] chromium.org> 23261 23262 Reviewed by Timothy Hatcher. 23263 23264 https://bugs.webkit.org/show_bug.cgi?id=25063 23265 Refactor InspectorController to use ScriptObject/State. 23266 23267 * GNUmakefile.am: Added ScriptState.cpp. 23268 * WebCore.pro: Ditto. 23269 * WebCore.vcproj/WebCore.vcproj: Ditto. 23270 * WebCore.xcodeproj/project.pbxproj: Ditto. 23271 * WebCoreSources.bkl: Ditto. 23272 * bindings/js/JSInspectorControllerCustom.cpp: 23273 (WebCore::JSInspectorController::addSourceToFrame): Fixed argument index typo. 23274 * bindings/js/ScriptFunctionCall.cpp: 23275 (WebCore::ScriptFunctionCall::call): Added reportExceptions parameter. 23276 (WebCore::ScriptFunctionCall::construct): Ditto. 23277 * bindings/js/ScriptFunctionCall.h: Ditto. 23278 * bindings/js/ScriptObject.cpp: 23279 (WebCore::handleException): Added exception-reporting heloper. 23280 (WebCore::ScriptObject::set): Changed to use handleException. 23281 (WebCore::ScriptGlobalObject::set): Ditto, 23282 * bindings/js/ScriptObject.cpp: Added ScriptGlobalObject. 23283 (WebCore::ScriptGlobalObject::set): Added. 23284 (WebCore::ScriptGlobalObject::getObject): Added. 23285 * bindings/js/ScriptObject.h: Added ScriptGlobalObject decls. 23286 (WebCore::ScriptGlobalObject::ScriptGlobalObject): Added. 23287 * bindings/js/ScriptState.cpp: Added. 23288 * bindings/js/ScriptState.h: Added scriptStateFromPage decl. 23289 * inspector/ConsoleMessage.cpp: 23290 (WebCore::ConsoleMessage::addToConsole): Changed to not report exceptions 23291 to avoid re-entrancy. 23292 * inspector/InspectorController.cpp: Refactored to use ScriptState/Object. 23293 * inspector/InspectorController.h: Ditto. 23294 23295 2009-04-07 Adam Langley <agl (a] google.com> 23296 23297 Reviewed by Darin Fisher. 23298 23299 https://bugs.webkit.org/show_bug.cgi?id=25083 23300 23301 Skia was previously calculating the leading value incorrectly, leading 23302 us to add fHeight to get the height of a line of text. Now that Skia 23303 is calculating fLeading correctly, we can remove fHeight. 23304 23305 This doesn't affect any layout tests. 23306 23307 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 23308 (WebCore::SimpleFontData::platformInit): 23309 23310 2009-04-07 Brian Weinstein <bweinstein (a] gmail.com> 23311 23312 Reviewed by Darin Adler. 23313 23314 https://bugs.webkit.org/show_bug.cgi?id=24851 23315 23316 This fix removes the status code from the status message in a ResourceResponse, which allows a few more tests in http to pass. 23317 23318 * platform/network/cf/ResourceResponseCFNet.cpp: 23319 (WebCore::ResourceResponse::platformLazyInit): 23320 23321 2009-04-07 Adam Langley <agl (a] google.com> 23322 23323 Reviewed by Darin Fisher. 23324 23325 https://bugs.webkit.org/show_bug.cgi?id=25081 23326 23327 Skia is changing from reporting the XRange to reporting the XMin and 23328 XMax. Obviously these are equivalent, but other users of the metrics 23329 need the two numbers to be separate. 23330 23331 This doesn't affect any layout tests. 23332 23333 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 23334 (WebCore::SimpleFontData::platformInit): 23335 23336 2009-04-07 Adam Roben <aroben (a] apple.com> 23337 23338 Make the look of <select>s match the system look on Vista 23339 23340 Reviewed by Dave Hyatt. 23341 23342 * rendering/RenderThemeWin.cpp: Added new constants. 23343 (WebCore::RenderThemeWin::getThemeData): On Vista, use the 23344 CP_DROPDOWNBUTTONRIGHT part for drop down buttons. 23345 (WebCore::RenderThemeWin::paintMenuList): On Vista, use the CP_BORDER 23346 part to draw the border of <select>s. 23347 (WebCore::RenderThemeWin::paintMenuListButton): On Vista, outset the 23348 drop down button to make its border coincide with the <select>'s 23349 border. 23350 23351 2009-04-07 Adam Roben <aroben (a] apple.com> 23352 23353 Move isRunningOnVistaOrLater to a shared location 23354 23355 Rubber-stamped in advance by Dave Hyatt. 23356 23357 * WebCore.vcproj/WebCore.vcproj: Added SystemInfo.{cpp,h}, and let VS 23358 have its way with the rest of the file. 23359 * platform/win/ScrollbarThemeWin.cpp: Moved isRunningOnVistaOrLater 23360 from here... 23361 * platform/win/SystemInfo.cpp: Added. 23362 (WebCore::isRunningOnVistaOrLater): ...to here. 23363 * platform/win/SystemInfo.h: Added. 23364 23365 2009-04-07 Paul Godavari <paul (a] chromium.org> 23366 23367 Reviewed by Darin Fisher. 23368 23369 https://bugs.webkit.org/show_bug.cgi?id=24692 23370 Enable PopupMenuChromium to handle HTML select popups using native 23371 cocoa controls on the Mac, all other platforms are unchanged. 23372 23373 We also split out the storage container for the popup menu items 23374 so that ChromeClientChromium can access them for forwarding to 23375 the embedding host (Chromium.app or test_shell). 23376 23377 * page/chromium/ChromeClientChromium.h: 23378 * platform/chromium/PopupMenuChromium.cpp: 23379 (WebCore::PopupListBox::items): 23380 (WebCore::PopupContainer::PopupContainer): 23381 (WebCore::PopupContainer::~PopupContainer): 23382 (WebCore::PopupContainer::showPopup): 23383 (WebCore::PopupContainer::showExternal): 23384 (WebCore::PopupContainer::menuItemHeight): 23385 (WebCore::popupData): 23386 (WebCore::PopupListBox::pointToRowIndex): 23387 (WebCore::PopupListBox::getRowBounds): 23388 (WebCore::PopupListBox::isSelectableItem): 23389 (WebCore::PopupListBox::updateFromElement): 23390 (WebCore::PopupListBox::layout): 23391 (WebCore::PopupListBox::clear): 23392 (WebCore::PopupMenu::show): 23393 * platform/chromium/PopupMenuChromium.h: 23394 (WebCore::PopupItem::): 23395 (WebCore::PopupItem::PopupItem): 23396 23397 2009-04-07 Geoffrey Garen <ggaren (a] apple.com> 23398 23399 Reviewed by Oliver Hunt. 23400 23401 Added some double-checking to event handler marking. Now, when the 23402 wrapper that's responsible for marking an event handler's JavaScript 23403 function gets collected, it clears the event handler's JavaScript function 23404 so we won't dereference it after it's collected. 23405 23406 In theory, we would never dereference a JavaScript event handler after 23407 its node's wrapper was collected anyway, but it's nice to be safe. 23408 23409 * bindings/js/JSDOMApplicationCacheCustom.cpp: 23410 (WebCore::JSDOMApplicationCache::mark): 23411 * bindings/js/JSEventListener.cpp: 23412 (WebCore::JSEventListener::JSEventListener): 23413 (WebCore::JSEventListener::jsFunction): 23414 (WebCore::JSEventListener::invalidateJSFunction): 23415 (WebCore::JSEventListener::markJSFunction): 23416 * bindings/js/JSEventListener.h: 23417 * bindings/js/JSMessagePortCustom.cpp: 23418 (WebCore::JSMessagePort::mark): 23419 * bindings/js/JSNodeCustom.cpp: 23420 (WebCore::markEventListeners): 23421 * bindings/js/JSWorkerContextCustom.cpp: 23422 (WebCore::JSWorkerContext::mark): 23423 * bindings/js/JSWorkerCustom.cpp: 23424 (WebCore::JSWorker::mark): 23425 * bindings/js/JSXMLHttpRequestCustom.cpp: 23426 (WebCore::JSXMLHttpRequest::mark): 23427 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 23428 (WebCore::JSXMLHttpRequestUpload::mark): 23429 * bindings/scripts/CodeGeneratorJS.pm: 23430 * dom/EventListener.h: 23431 (WebCore::EventListener::invalidateJSFunction): 23432 (WebCore::EventListener::markJSFunction): 23433 (WebCore::markIfNotNull): 23434 23435 2009-04-07 David Levin <levin (a] chromium.org> 23436 23437 Build fix. 23438 23439 r44280 undid the change in r42268 that made CookieJar.h private. 23440 This redoes the change. 23441 23442 * WebCore.xcodeproj/project.pbxproj: 23443 23444 2009-04-07 Jian Li <jianli (a] chromium.org> 23445 23446 Reviewed by Darin Fisher. 23447 23448 Upstream changes to WorkerContextExecutionProxy for enabling V8 preemption. 23449 https://bugs.webkit.org/show_bug.cgi?id=25034 23450 23451 * bindings/v8/WorkerContextExecutionProxy.cpp: 23452 (WebCore::WorkerContextExecutionProxy::evaluate): 23453 23454 2009-04-07 Dan Bernstein <mitz (a] apple.com> 23455 23456 Reviewed by Darin Adler. 23457 23458 - fix <rdar://problem/6764359> Thai word selection misbehaves for the 23459 last sentence in the document 23460 23461 Test: editing/selection/thai-word-at-document-end.html 23462 23463 * editing/visible_units.cpp: 23464 - Added a BoundarySearchContextAvailability enum used to indicate 23465 whether the caller to a boundary search function may be able to provide 23466 additional text in the search direction and call again. 23467 - Added a named type for the boundary search function signature. Changed 23468 the signature to take a context availability parameter and a boolean 23469 out parameter indicating whether more context is needed to perform 23470 the search. 23471 (WebCore::previousBoundary): If the beginning of the range was reached 23472 but the last search wanted more context, perform the search again, this 23473 time indicating that there is no earlier text. 23474 (WebCore::nextBoundary): Similarly, in the other direction. 23475 (WebCore::startWordBoundary): Check whether more context may be available 23476 and ask for more context if needed. 23477 (WebCore::endWordBoundary): Ditto. 23478 (WebCore::previousWordPositionBoundary): Ditto. 23479 (WebCore::nextWordPositionBoundary): Ditto. 23480 (WebCore::startSentenceBoundary): Updated signature. 23481 (WebCore::endSentenceBoundary): Ditto. 23482 (WebCore::previousSentencePositionBoundary): Ditto. 23483 (WebCore::nextSentencePositionBoundary): Ditto. 23484 23485 2009-04-07 Geoffrey Garen <ggaren (a] apple.com> 23486 23487 Rubber stamped by Sam Weinig. 23488 23489 A little renaming: 23490 23491 function => jsFunction 23492 listener => jsFunction 23493 23494 * bindings/js/JSEventListener.cpp: 23495 (WebCore::JSAbstractEventListener::handleEvent): 23496 (WebCore::JSEventListener::JSEventListener): 23497 (WebCore::JSEventListener::~JSEventListener): 23498 (WebCore::JSEventListener::jsFunction): 23499 (WebCore::JSEventListener::mark): 23500 (WebCore::JSProtectedEventListener::JSProtectedEventListener): 23501 (WebCore::JSProtectedEventListener::~JSProtectedEventListener): 23502 (WebCore::JSProtectedEventListener::jsFunction): 23503 * bindings/js/JSEventListener.h: 23504 (WebCore::JSProtectedEventListener::create): 23505 * bindings/js/JSLazyEventListener.cpp: 23506 (WebCore::JSLazyEventListener::jsFunction): 23507 (WebCore::JSLazyEventListener::parseCode): 23508 * dom/EventListener.h: 23509 (WebCore::EventListener::jsFunction): 23510 23511 2009-04-07 Brady Eidson <beidson (a] apple.com> 23512 23513 Reviewed by Darin Adler 23514 23515 While working on <rdar://problem/5968249>, noticed some glaring problems with LocalStorage. 23516 23517 * page/DOMWindow.cpp: 23518 (WebCore::DOMWindow::localStorage): Return the cached m_localStorage object if it exists to 23519 avoid creating multiple representations for the same underlying StorageArea. 23520 * page/DOMWindow.h: 23521 (WebCore::DOMWindow::optionalLocalStorage): Return m_localStorage, not m_sessionStorage. 23522 23523 2009-04-07 Darin Adler <darin (a] apple.com> 23524 23525 Roll out incorrect build fix. 23526 23527 * WebCore.NPAPI.exp: Reverted. 23528 23529 2009-04-07 Darin Adler <darin (a] apple.com> 23530 23531 Another build fix. 23532 23533 * WebCore.NPAPI.exp: Added new functions. 23534 23535 2009-04-07 Anders Carlsson <andersca (a] apple.com> 23536 23537 Another build fix. 23538 23539 * plugins/npfunctions.h: 23540 23541 2009-04-07 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 23542 23543 Unreviewed build fix. Fix non-Mac builds. 23544 23545 * bridge/npapi.h: 23546 23547 2009-04-07 Simon Fraser <simon.fraser (a] apple.com> 23548 23549 Reviewed by Dan Bernstein 23550 23551 https://bugs.webkit.org/show_bug.cgi?id=25082 23552 23553 Clean up repaint logic when RenderLayers become and stop being composited. 23554 23555 * rendering/RenderLayer.h: 23556 * rendering/RenderLayer.cpp: 23557 (WebCore::RenderLayer::rendererContentChanged): 23558 (WebCore::RenderLayer::repaintIncludingNonCompositingDescendants): 23559 New compositing-only method that repaints a layer and all its non-composited descendants. 23560 Takes a repaintContainer for performance; all the repaints necessarily share the same 23561 repaintContainer. 23562 23563 * rendering/RenderLayerCompositor.h: 23564 * rendering/RenderLayerCompositor.cpp: 23565 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 23566 Rather than use calculateCompositedBounds() to compute the repaint rect (which gave 23567 the wrong answer when the composited layer tree was in flux), use the new 23568 repaintOnCompositingChange() method. 23569 23570 (WebCore::RenderLayerCompositor::repaintOnCompositingChange): 23571 Call repaintIncludingNonCompositingDescendants(), and if necessary make sure 23572 that the view/layer drawing synchronization happens. 23573 23574 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 23575 Do a repaintOnCompositingChange() when a layer is going to be composited. This is 23576 a good place because we haven't started to change the compositing tree. 23577 23578 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 23579 After we've finished updating all the descendant layers, we can do a repaint for 23580 layers that ceased compositing. 23581 23582 2009-04-07 Simon Fraser <simon.fraser (a] apple.com> 23583 23584 Reviewed by Dave Hyatt 23585 23586 https://bugs.webkit.org/show_bug.cgi?id=25069 23587 23588 Clean up the accelerated compositing code that determines the format of 23589 the GraphicsLayer hierarchy, being more explicit about which parts have 23590 to happen before and after descendant layers have been updated. Also remove 23591 some unhelpful caching of state. 23592 23593 * dom/Document.cpp: 23594 (WebCore::Document::recalcStyle): 23595 Only call updateCompositingLayers() if we know we're not going to be 23596 doing a layout soon. 23597 23598 * platform/graphics/mac/GraphicsLayerCA.mm: 23599 (WebCore::GraphicsLayerCA::setDrawsContent): 23600 Toggling drawsContent from false to true should do a setNeedsDisplay(). 23601 23602 * rendering/RenderLayer.cpp: 23603 (WebCore::RenderLayer::styleChanged): 23604 updateLayerCompositingState() no longer updates the layer geometry, so 23605 do that here if we're not going to rebuild layers anyway. 23606 Also, updateLayerCompositingState() no longer does a setContentsNeedDisplay, 23607 so do that if the style change indicates that a repaint is required. 23608 23609 * rendering/RenderLayerBacking.h: 23610 * rendering/RenderLayerBacking.cpp: 23611 (WebCore::RenderLayerBacking::RenderLayerBacking): 23612 (WebCore::RenderLayerBacking::updateAfterLayout): 23613 The 'drawing optimizations' logic has been rolled into updateGraphicsLayerConfiguration() 23614 and updateGraphicsLayerGeometry(). 23615 23616 (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): 23617 Group that code that decides what GraphicsLayers are needed into this method, 23618 which deals with clipping layers and 'direct compositing': images that can be 23619 rendered via the compositor. 23620 23621 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 23622 Call setDrawsContent() if updateGraphicsLayerConfiguration() didn't already 23623 figure it out for image layers. 23624 23625 (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): 23626 Remove the m_simpleCompositingLayerStatusDirty cache indicator, since we just 23627 computed it every time anyway. 23628 23629 * rendering/RenderLayerCompositor.h: 23630 * rendering/RenderLayerCompositor.cpp: 23631 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 23632 updateGraphicsLayers() was renamed to updateGraphicsLayerConfiguration(), 23633 which calls clippedByAncestor() etc. itself rather than having everything passed in. 23634 Repaints are taken care of by styleChanged() and setDrawsContent(). 23635 23636 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 23637 !layer->isComposited() && layer->transform() is a synonym for paintsWithTransform(). 23638 23639 (WebCore::RenderLayerCompositor::setCompositingParent): 23640 No need to call updateGraphicsLayerGeometry() here, because we're going to 23641 rebuild layers anyway. 23642 23643 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 23644 Add comments, and test layerBacking instead of layer->isComposited(). 23645 23646 2009-04-07 Anders Carlsson <andersca (a] apple.com> 23647 23648 Fix build. 23649 23650 * WebCore.base.exp: 23651 23652 2009-04-07 Anders Carlsson <andersca (a] apple.com> 23653 23654 Reviewed by Sam Weinig. 23655 23656 <rdar://problem/6667001> NPAPI: need NPN_Get/SetValueForURL() and NPN_GetAuthenticationInfo() 23657 23658 * WebCore.base.exp: 23659 Add symbols needed by WebKit. 23660 23661 * WebCore.xcodeproj/project.pbxproj: 23662 Make CookieJar a private header. 23663 23664 * bridge/npapi.h: 23665 Add function definitions. 23666 23667 * plugins/npfunctions.h: 23668 Fix the NPN_SetValueForURLProcPtr signature. 23669 23670 2009-04-07 Adam Roben <aroben (a] apple.com> 23671 23672 Fix <rdar://6520933> REGRESSION (3.2.1-ToT): Scroll bar disappears in 23673 WebView and Bookmarks view after switching theme or turning on High 23674 Contrast mode 23675 23676 Reviewed by Dave Hyatt. 23677 23678 * platform/win/ScrollbarThemeWin.cpp: 23679 (WebCore::ScrollbarThemeWin::themeChanged): Null out scrollbarTheme 23680 after closing it so that we'll re-open the theme next time we paint. 23681 23682 2009-04-07 Adam Roben <aroben (a] apple.com> 23683 23684 Small cleanup/correctness fix in ScrollbarThemeWin 23685 23686 Reviewed by Dave Hyatt. 23687 23688 * platform/win/ScrollbarThemeWin.cpp: Removed the now-unused 23689 haveTheme boolean. 23690 (WebCore::checkAndInitScrollbarTheme): Check IsThemeActive() before 23691 calling OpenThemeData. This seems to be what MSDN recommends. 23692 (WebCore::ScrollbarThemeWin::themeChanged): Null-check scrollbarTheme 23693 before closing it, rather than indirectly null-checking it via 23694 checking haveTheme. 23695 23696 2009-04-07 Dan Bernstein <mitz (a] apple.com> 23697 23698 Reviewed by John Sullivan. 23699 23700 - when -webkit-line-break: after-white-space is specified but the text 23701 does not auto-wrap, do not shrink the trailing space to fit in the 23702 available width 23703 23704 Test: fast/text/whitespace/nowrap-line-break-after-white-space.html 23705 23706 - when shrinking such trailing space, do not shrink below zero 23707 23708 Covered by existing tests 23709 23710 * rendering/bidi.cpp: 23711 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 23712 (WebCore::RenderBlock::layoutInlineChildren): 23713 23714 2009-04-07 Eric Seidel <eric (a] webkit.org> 23715 23716 Reviewed by Darin Adler. 23717 23718 Move RangeBoundaryPoint off of Position, per Darin's suggestion 23719 https://bugs.webkit.org/show_bug.cgi?id=24966 23720 23721 Rename setToChild to setToBeforeChild (since that's what the method does) 23722 23723 * dom/Position.h: 23724 (WebCore::Position::offsetInContainerNode): 23725 * dom/Range.cpp: 23726 (WebCore::Range::insertNode): 23727 (WebCore::Range::selectNodeContents): 23728 (WebCore::boundaryNodeWillBeRemoved): 23729 * dom/Range.h: 23730 (WebCore::Range::startPosition): 23731 (WebCore::Range::endPosition): 23732 * dom/RangeBoundaryPoint.h: 23733 (WebCore::RangeBoundaryPoint::RangeBoundaryPoint): 23734 (WebCore::RangeBoundaryPoint::container): 23735 (WebCore::RangeBoundaryPoint::childBefore): 23736 (WebCore::RangeBoundaryPoint::position): 23737 (WebCore::RangeBoundaryPoint::offset): 23738 (WebCore::RangeBoundaryPoint::clear): 23739 (WebCore::RangeBoundaryPoint::set): 23740 (WebCore::RangeBoundaryPoint::setOffset): 23741 (WebCore::RangeBoundaryPoint::setToBeforeChild): 23742 (WebCore::RangeBoundaryPoint::setToStartOfNode): 23743 (WebCore::RangeBoundaryPoint::setToEndOfNode): 23744 (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved): 23745 (WebCore::RangeBoundaryPoint::invalidateOffset): 23746 23747 2009-04-07 Eric Seidel <eric (a] webkit.org> 23748 23749 Reviewed by Darin Adler. 23750 23751 Add containerNode(), computeOffsetInContainerNode(), 23752 computeNodeBeforePosition() and computeNodeAfterPosition(). 23753 https://bugs.webkit.org/show_bug.cgi?id=24763 23754 23755 These functions will replace uses of rangeCompliantPosition() 23756 in future patches. 23757 23758 No changes in behavior, thus no tests. 23759 23760 * dom/Position.cpp: 23761 (WebCore::Position::containerNode): 23762 (WebCore::Position::computeOffsetInContainerNode): 23763 (WebCore::Position::computeNodeBeforePosition): 23764 (WebCore::Position::computeNodeAfterPosition): 23765 (WebCore::Position::anchorType): 23766 * dom/Position.h: 23767 (WebCore::Position::): 23768 23769 2009-04-06 Sam Weinig <sam (a] webkit.org> 23770 23771 Reviewed by Mark Rowe. 23772 23773 Bottleneck dispatching mutation events in a new dispatchMutationEvent 23774 function. 23775 23776 * dom/CharacterData.cpp: 23777 (WebCore::CharacterData::dispatchModifiedEvent): 23778 * dom/ContainerNode.cpp: 23779 (WebCore::dispatchChildInsertionEvents): 23780 (WebCore::dispatchChildRemovalEvents): 23781 * dom/Node.cpp: 23782 (WebCore::Node::dispatchSubtreeModifiedEvent): 23783 (WebCore::Node::dispatchMutationEvent): 23784 * dom/Node.h: 23785 23786 2009-04-06 Dimitri Glazkov <dglazkov (a] chromium.org> 23787 23788 Reviewed by Darin Fisher. 23789 23790 https://bugs.webkit.org/show_bug.cgi?id=25059 23791 Remove references to dominantScript, getGenericFontForScript. 23792 23793 * platform/graphics/chromium/FontCacheChromiumWin.cpp: Removed references 23794 to getGenericFontForScript. 23795 (WebCore::FontCache::getLastResortFallbackFont): Removed calls to dominantScript. 23796 * platform/graphics/chromium/FontCacheLinux.cpp: Ditto. 23797 * rendering/RenderThemeChromiumLinux.cpp: 23798 (WebCore::defaultGUIFont): Removed Document* arg. 23799 (WebCore::RenderThemeChromiumLinux::systemFont): Ditto. 23800 * rendering/RenderThemeChromiumLinux.h: Ditto. 23801 * rendering/RenderThemeChromiumMac.h: Ditto. 23802 * rendering/RenderThemeChromiumMac.mm: Ditto. 23803 (WebCore::RenderThemeChromiumMac::systemFont): Ditto. 23804 * rendering/RenderThemeChromiumWin.cpp: 23805 (WebCore::defaultGUIFont): Ditto. 23806 (WebCore::RenderThemeChromiumWin::systemFont): Ditto. 23807 * rendering/RenderThemeChromiumWin.h: Ditto. 23808 23809 2009-04-06 Geoffrey Garen <ggaren (a] apple.com> 23810 23811 Reviewed by Darin Adler. 23812 23813 Fixed https://bugs.webkit.org/show_bug.cgi?id=21260 23814 Unbounded memory growth when churning elements with anonymous event handler functions 23815 23816 The problem was that a protected event listener's scope chain would end 23817 up with a reference to the Node protecting it, causing a cycle. The 23818 solution is to stop protecting event listeners and rely on marking instead. 23819 23820 This patch converts most Node event listeners to use marking instead of 23821 GC protection. 23822 23823 * bindings/js/JSDOMBinding.cpp: 23824 (WebCore::isObservableThroughDOM): 23825 (WebCore::markDOMNodesForDocument): Refactored the test for whether a Node 23826 needs marking, and added a case for marking the node in order to mark its 23827 event listeners. 23828 23829 * bindings/js/JSNodeCustom.cpp: 23830 (WebCore::markEventListeners): 23831 (WebCore::JSNode::addEventListener): 23832 (WebCore::JSNode::removeEventListener): 23833 (WebCore::JSNode::mark): Added code to mark a Node's event listeners when 23834 marking the Node. Changed code using protected event listeners to use event 23835 listeners. 23836 23837 * dom/Node.idl: Changed code using protected event listeners to use event 23838 listeners. 23839 23840 2009-04-06 Sam Weinig <sam (a] webkit.org> 23841 23842 Reviewed by Darin Adler. 23843 23844 Remove unchecked bool return values for some dispatch event functions. 23845 23846 * dom/Node.cpp: 23847 (WebCore::Node::dispatchSubtreeModifiedEvent): 23848 (WebCore::Node::dispatchUIEvent): 23849 (WebCore::Node::dispatchWebKitAnimationEvent): 23850 (WebCore::Node::dispatchWebKitTransitionEvent): 23851 (WebCore::Node::dispatchProgressEvent): 23852 * dom/Node.h: 23853 23854 2009-04-06 Darin Fisher <darin (a] chromium.org> 23855 23856 Reviewed by Dimitri Glazkov. 23857 23858 https://bugs.webkit.org/show_bug.cgi?id=25058 23859 Fix chromium build bustage caused by r42216 23860 23861 * bindings/scripts/CodeGeneratorJS.pm: 23862 * page/DOMWindow.idl: 23863 23864 2009-04-06 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 23865 23866 Rubber-stamped by Sam Weinig. 23867 23868 https://bugs.webkit.org/show_bug.cgi?id=20575 23869 No localization in WebKitGtk 23870 23871 * platform/gtk/FileChooserGtk.cpp: Remove usage of glib/gi18n.h, 23872 since there are not translatable strings. 23873 * platform/gtk/LocalizedStringsGtk.cpp: Use the glib i18n header 23874 that is specific for libraries. 23875 23876 2009-04-06 Mike Belshe <mike (a] belshe.com> 23877 23878 Reviewed by Dimitri Glazkov. 23879 23880 https://bugs.webkit.org/show_bug.cgi?id=24978 23881 Use custom implementations of a few Node methods so that 23882 we don't over-aggressively create JS wrappers here. 23883 23884 * bindings/v8/custom/V8NodeCustom.cpp: Added custom implementations. 23885 * dom/Node.idl: Removed JSC-specifier, making impl custom for V8 as well. 23886 23887 2009-04-06 Dave Moore <davemoore (a] google.com> 23888 23889 Reviewed by Dimitri Glazkov. 23890 23891 https://bugs.webkit.org/show_bug.cgi?id=25031 23892 Make the V8 element collections check for named properties *before* 23893 checking if there are any elements with the same name. Otherwise 23894 it is both incorrect and slow. 23895 23896 Test: fast/dom/HTMLSelectElement/length-not-overridden.html 23897 23898 Both of these interceptors were attempting to find an element in the 23899 collection that had a name or id of the property name before checking 23900 for a JS property with that name. 23901 * bindings/v8/V8Collection.h: 23902 (WebCore::collectionNamedPropertyGetter): 23903 (WebCore::nodeCollectionNamedPropertyGetter): 23904 23905 2009-04-06 Simon Fraser <simon.fraser (a] apple.com> 23906 23907 Reviewed by Darin Adler 23908 23909 https://bugs.webkit.org/show_bug.cgi?id=25052 23910 23911 Pull the call to updateGraphicsLayerGeometry() out of updateGraphicsLayers(), 23912 because we need to call it at the end of rebuildCompositingLayerTree() once 23913 we've determined which descendant layers are composited, otherwise 23914 calculateCompositedBounds() can give the wrong answer. 23915 23916 Now that updateLayerCompositingState() doesn't end up calling updateGraphicsLayerGeometry(), 23917 call that explicitly from styleChanged(), if we know a layer update is not pending, 23918 and similarly from updateAfterLayout(). 23919 23920 Test: compositing/overflow/overflow-positioning.html 23921 23922 * rendering/RenderLayer.cpp: 23923 (WebCore::RenderLayer::styleChanged): 23924 * rendering/RenderLayerBacking.cpp: 23925 (WebCore::RenderLayerBacking::updateAfterLayout): 23926 (WebCore::RenderLayerBacking::updateGraphicsLayers): 23927 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 23928 * rendering/RenderLayerCompositor.cpp: 23929 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 23930 23931 2009-04-06 Mike Belshe <mike (a] belshe.com> 23932 23933 Reviewed by Alexey Proskuryakov. 23934 23935 Add accessors to AtomicString which take String/const char* arguments 23936 so that we don't accidentally thrash the AtomicString table. 23937 23938 https://bugs.webkit.org/show_bug.cgi?id=24979 23939 23940 * platform/text/AtomicString.h: 23941 23942 2009-04-03 Holger Hans Peter Freyther <zecke (a] selfish.org> 23943 23944 Reviewed by Simon Hausmann. 23945 23946 Make col and row work in WebCore/manual-tests/cursor.html. The issue 23947 was spotted in the WebKit inspector. 23948 23949 * platform/gtk/CursorGtk.cpp: 23950 (WebCore::columnResizeCursor): 23951 (WebCore::rowResizeCursor): 23952 23953 2009-04-06 Tor Arne Vestb <tor.arne.vestbo (a] nokia.com> 23954 23955 Reviewed by Simon Hausmann. 23956 23957 [Qt] Don't show and hide the platformPluginWidget, as it's our QWebView 23958 23959 * plugins/mac/PluginViewMac.cpp: 23960 (WebCore::PluginView::show): 23961 (WebCore::PluginView::hide): 23962 (WebCore::PluginView::setParentVisible): 23963 23964 2009-04-06 Simon Hausmann <simon.hausmann (a] nokia.com> 23965 23966 Reviewed by Tor Arne Vestb. 23967 23968 Add new files to the Qt build. 23969 Export helper function from the Qt JSC binding, needed in WebKit/qt. 23970 23971 * WebCore.pro: Add new files. 23972 * bridge/qt/qt_runtime.h: Declare convertQVariantToValue. 23973 23974 2009-04-06 Simon Hausmann <simon.hausmann (a] nokia.com> 23975 23976 Reviewed by Tor Arne Vestb. 23977 23978 Changed ScriptFunctionCall's last argument from a const char* as the function name to a String. 23979 23980 Internally the function name is stored as a WebCore::String and the Qt port wants to use this 23981 constructor programmatically where the function name is also a WebCore::String. 23982 23983 * bindings/js/ScriptFunctionCall.cpp: 23984 (WebCore::ScriptFunctionCall::ScriptFunctionCall): 23985 * bindings/js/ScriptFunctionCall.h: 23986 23987 2009-04-06 Mike Belshe <mike (a] belshe.com> 23988 23989 Reviewed by Eric Seidel. 23990 23991 HTMLCanvasElement crash when ImageBuffer creation fails. 23992 https://bugs.webkit.org/show_bug.cgi?id=23212 23993 23994 Check for NULL before using the ImageBuffer as we might 23995 be low on memory and creation may have failed. 23996 23997 Test case creation blocked by: 23998 https://bugs.webkit.org/show_bug.cgi?id=25055 23999 24000 * html/HTMLCanvasElement.cpp: 24001 (WebCore::HTMLCanvasElement::createImageBuffer): 24002 24003 2009-04-05 Geoffrey Garen <ggaren (a] apple.com> 24004 24005 [Originally] Reviewed by Sam Weinig. 24006 24007 Rolled back in r42214 with crashes fixed. 24008 24009 [Removed irrelevant ExecState* parameter from event handler registration code.] 24010 24011 [No change in behavior.] 24012 24013 * bindings/js/JSDOMApplicationCacheCustom.cpp: 24014 (WebCore::JSDOMApplicationCache::addEventListener): 24015 (WebCore::JSDOMApplicationCache::removeEventListener): 24016 * bindings/js/JSDOMGlobalObject.cpp: 24017 (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): 24018 (WebCore::JSDOMGlobalObject::findJSEventListener): 24019 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 24020 * bindings/js/JSDOMGlobalObject.h: 24021 * bindings/js/JSDOMWindowCustom.cpp: 24022 (WebCore::JSDOMWindow::addEventListener): 24023 * bindings/js/JSMessagePortCustom.cpp: 24024 (WebCore::JSMessagePort::addEventListener): 24025 (WebCore::JSMessagePort::removeEventListener): 24026 * bindings/js/JSNodeCustom.cpp: 24027 (WebCore::JSNode::addEventListener): 24028 * bindings/js/JSSVGElementInstanceCustom.cpp: 24029 (WebCore::JSSVGElementInstance::addEventListener): 24030 * bindings/js/JSWorkerContextCustom.cpp: 24031 (WebCore::JSWorkerContext::addEventListener): 24032 (WebCore::JSWorkerContext::removeEventListener): 24033 * bindings/js/JSWorkerCustom.cpp: 24034 (WebCore::JSWorker::addEventListener): 24035 (WebCore::JSWorker::removeEventListener): 24036 * bindings/js/JSXMLHttpRequestCustom.cpp: 24037 (WebCore::JSXMLHttpRequest::addEventListener): 24038 (WebCore::JSXMLHttpRequest::removeEventListener): 24039 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 24040 (WebCore::JSXMLHttpRequestUpload::addEventListener): 24041 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 24042 * bindings/scripts/CodeGeneratorJS.pm: 24043 24044 2009-04-05 Erik L. Bunce <elbunce (a] xendom.com> 24045 24046 Reviewed by Simon Hausmann. 24047 24048 https://bugs.webkit.org/show_bug.cgi?id=25050 24049 24050 Fix an assert failure when dropping an 'empty' text/uri-list on a QWebView. 24051 24052 * platform/qt/DragDataQt.cpp: 24053 (WebCore::DragData::asURL): 24054 24055 2009-04-05 Simon Hausmann <hausmann (a] webkit.org> 24056 24057 Fix the Qt build. 24058 24059 * bridge/qt/qt_runtime.h: 24060 (JSC::Bindings::QtRuntimeMethod::createPrototype): Take the JSGlobalObject 24061 as second argument. 24062 24063 2009-04-04 Kevin Ollivier <kevino (a] theolliviers.com> 24064 24065 Build fixes for wxMac/Tiger. 24066 24067 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 24068 (wxFontProperties::wxFontProperties): 24069 * rendering/break_lines.cpp: 24070 (WebCore::nextBreakablePosition): 24071 * webcore-wx.bkl: 24072 24073 2009-04-04 Simon Fraser <simon.fraser (a] apple.com> 24074 24075 Reviewed by Cameron Zwarich 24076 24077 https://bugs.webkit.org/show_bug.cgi?id=24648 24078 24079 Ensure that mapPoint(const IntPoint&) calls the FloatPoint 24080 version to avoid infinite recursion. 24081 24082 No test because mapPoint(const IntPoint&) isn't ever called 24083 on Mac, so I can't reproduce. 24084 24085 * platform/graphics/transforms/TransformationMatrix.h: 24086 (WebCore::TransformationMatrix::mapPoint): 24087 24088 2009-04-04 Dan Bernstein <mitz (a] apple.com> 24089 24090 Reviewed by Mark Rowe. 24091 24092 - fix <rdar://problem/6757862> REGRESSION: Cannot use the mouse to place 24093 the insertion point inside a Thai character 24094 24095 Test: fast/text/international/thai-offsetForPosition-inside-character.html 24096 24097 * platform/graphics/mac/CoreTextController.cpp: 24098 (WebCore::CoreTextController::offsetForPosition): Changed to use 24099 cursorMovementIterator instead of characterBreakIterator, allowing this 24100 function to return a valid cursor position even if it is not at 24101 a character boundary. 24102 24103 2009-04-04 Dan Bernstein <mitz (a] apple.com> 24104 24105 Reviewed by Mark Rowe. 24106 24107 - fix an assertion failure when clicking at the beginning of a 24108 glyph cluster at the beginning of a text run 24109 24110 Test: fast/text/offsetForPosition-cluster-at-zero.html 24111 24112 * platform/graphics/mac/CoreTextController.cpp: 24113 (WebCore::CoreTextController::offsetForPosition): Corrected the bound 24114 check on firstGlyphBeforeCluster, letting it be 0 or -1, but not less 24115 than -1. 24116 24117 2009-04-03 Brian Weinstein <bweinstein (a] gmail.com> 24118 24119 Allows 16 HTML/CSS standard colors to be shown as swatch backgrounds 24120 when the names are given. 24121 24122 https://bugs.webkit.org/show_bug.cgi?id=25044 24123 24124 Reviewed by Timothy Hatcher. 24125 24126 * inspector/front-end/StylesSidebarPane.js: 24127 (WebInspector.StylePropertyTreeElement.prototype.updateTitle): 24128 24129 2009-04-03 Sam Weinig <sam (a] webkit.org> 24130 24131 Reviewed by Darin Adler. 24132 24133 <rdar://problem/6330929> 24134 https://bugs.webkit.org/show_bug.cgi?id=21456 24135 24136 Don't update the document pointer for all inactive windows on navigations. 24137 This change causes us to differ slightly from Firefox when accessing the 24138 document from within a closure tied to a navigated context, but as all 24139 browsers differ on this edge case, I don't foresee compatibility issues. 24140 24141 Test: http/tests/security/cross-frame-access-document-direct.html 24142 24143 * bindings/js/JSDOMWindowBase.cpp: 24144 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 24145 * bindings/js/ScriptController.cpp: 24146 (WebCore::ScriptController::clearWindowShell): 24147 (WebCore::ScriptController::initScript): 24148 (WebCore::ScriptController::updateDocument): 24149 * bindings/js/ScriptController.h: 24150 24151 2009-04-03 Chris Marrin <cmarrin (a] apple.com> 24152 24153 Reviewed by Simon Fraser. 24154 24155 Test: transitions/bad-transition-shorthand-crash.html 24156 24157 Fixed https://bugs.webkit.org/show_bug.cgi?id=24787. 24158 24159 We were starting transitions with 0 duration and delay, which is 24160 useless. With accelerated compositing on, this went through a code 24161 path that tried to use m_toStyle, which never got set because the 24162 transitions was short circuited before it had a chance to. So I 24163 both protect against using that null pointer and avoid starting 24164 the transition in the first place. 24165 24166 * page/animation/CompositeAnimation.cpp: 24167 (WebCore::CompositeAnimationPrivate::updateTransitions): 24168 * page/animation/ImplicitAnimation.cpp: 24169 (WebCore::ImplicitAnimation::blendPropertyValueInStyle): 24170 24171 2009-04-03 Timothy Hatcher <timothy (a] apple.com> 24172 24173 Fixes a bug where you could not type any more in the Web Inspector's 24174 search field after the first match is selected in the Resources panel. 24175 24176 https://bugs.webkit.org/show_bug.cgi?id=23982 24177 rdar://problem/6592367 24178 24179 Reviewed by Darin Adler. 24180 24181 * inspector/front-end/SourceView.js: 24182 (WebInspector.SourceView.prototype._jumpToSearchResult): Use the 24183 window object of the frame to set the selection, not the main window. 24184 24185 2009-04-03 Sam Weinig <sam (a] webkit.org> 24186 24187 Reviewed by Anders Carlsson. 24188 24189 Fix for https://bugs.webkit.org/show_bug.cgi?id=22081 24190 <rdar://problem/6346030> 24191 Don't allow overriding the return value of window.location. 24192 24193 Tests: fast/dom/Window/Location/location-override-toString-on-proto-using-defineGetter.html 24194 fast/dom/Window/Location/location-override-toString-on-proto-using-with.html 24195 fast/dom/Window/Location/location-override-toString-on-proto.html 24196 fast/dom/Window/Location/location-override-toString-using-defineGetter.html 24197 fast/dom/Window/Location/location-override-toString-using-with.html 24198 fast/dom/Window/Location/location-override-toString.html 24199 fast/dom/Window/Location/location-override-valueOf-on-proto-using-defineGetter.html 24200 fast/dom/Window/Location/location-override-valueOf-on-proto-using-with.html 24201 fast/dom/Window/Location/location-override-valueOf-on-proto.html 24202 fast/dom/Window/Location/location-override-valueOf-using-defineGetter.html 24203 fast/dom/Window/Location/location-override-valueOf-using-with.html 24204 fast/dom/Window/Location/location-override-valueOf.html 24205 fast/dom/Window/Location/window-override-location-using-defineGetter.html 24206 fast/dom/Window/Location/window-override-window-using-defineGetter.html 24207 fast/dom/Window/Location/window-shadow-location-using-js-object-with-toString.html 24208 fast/dom/Window/Location/window-shadow-location-using-string.html 24209 fast/dom/Window/Location/window-shadow-window-using-js-object-with-location-field.html 24210 24211 * bindings/js/JSDOMWindowCustom.cpp: 24212 (WebCore::JSDOMWindow::defineGetter): 24213 * bindings/js/JSLocationCustom.cpp: 24214 (WebCore::JSLocation::customPut): 24215 (WebCore::JSLocation::defineGetter): 24216 (WebCore::JSLocationPrototype::customPut): 24217 (WebCore::JSLocationPrototype::defineGetter): 24218 * bindings/scripts/CodeGeneratorJS.pm: 24219 * page/Location.idl: 24220 24221 2009-04-03 Geoffrey Garen <ggaren (a] apple.com> 24222 24223 Rolled out r42214 since it seems to have caused crashes on the buildbot. 24224 24225 * bindings/js/JSDOMApplicationCacheCustom.cpp: 24226 (WebCore::JSDOMApplicationCache::addEventListener): 24227 (WebCore::JSDOMApplicationCache::removeEventListener): 24228 * bindings/js/JSDOMGlobalObject.cpp: 24229 (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): 24230 (WebCore::JSDOMGlobalObject::findJSEventListener): 24231 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 24232 * bindings/js/JSDOMGlobalObject.h: 24233 * bindings/js/JSDOMWindowCustom.cpp: 24234 (WebCore::JSDOMWindow::addEventListener): 24235 * bindings/js/JSMessagePortCustom.cpp: 24236 (WebCore::JSMessagePort::addEventListener): 24237 (WebCore::JSMessagePort::removeEventListener): 24238 * bindings/js/JSNodeCustom.cpp: 24239 (WebCore::JSNode::addEventListener): 24240 (WebCore::JSNode::removeEventListener): 24241 * bindings/js/JSSVGElementInstanceCustom.cpp: 24242 (WebCore::JSSVGElementInstance::addEventListener): 24243 * bindings/js/JSWorkerContextCustom.cpp: 24244 (WebCore::JSWorkerContext::addEventListener): 24245 (WebCore::JSWorkerContext::removeEventListener): 24246 * bindings/js/JSWorkerCustom.cpp: 24247 (WebCore::JSWorker::addEventListener): 24248 (WebCore::JSWorker::removeEventListener): 24249 * bindings/js/JSXMLHttpRequestCustom.cpp: 24250 (WebCore::JSXMLHttpRequest::addEventListener): 24251 (WebCore::JSXMLHttpRequest::removeEventListener): 24252 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 24253 (WebCore::JSXMLHttpRequestUpload::addEventListener): 24254 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 24255 * bindings/scripts/CodeGeneratorJS.pm: 24256 24257 2009-04-03 Sam Weinig <sam (a] webkit.org> 24258 24259 Reviewed by Oliver Hunt. 24260 24261 Fix for <rdar://problem/6476356> 24262 https://bugs.webkit.org/show_bug.cgi?id=23148 24263 24264 - Use the window object the Location and History objects are directly associated with 24265 instead of the lexical global object to pick the object prototype to serve as the 24266 base of the their respective prototype chains. 24267 - Re-factor as necessary to allow passing the correct global object to the createPrototype 24268 functions. 24269 24270 Tests: http/tests/security/cross-frame-access-history-prototype.html 24271 http/tests/security/cross-frame-access-location-prototype.html 24272 24273 * bindings/js/JSAudioConstructor.cpp: 24274 (WebCore::JSAudioConstructor::JSAudioConstructor): 24275 * bindings/js/JSDOMBinding.cpp: 24276 (WebCore::getCachedDOMStructure): 24277 (WebCore::cacheDOMStructure): 24278 * bindings/js/JSDOMBinding.h: 24279 (WebCore::getDOMStructure): 24280 (WebCore::getDOMPrototype): 24281 * bindings/js/JSDOMWindowCustom.cpp: 24282 (WebCore::JSDOMWindow::history): 24283 (WebCore::JSDOMWindow::location): 24284 * bindings/js/JSDocumentCustom.cpp: 24285 (WebCore::JSDocument::location): 24286 * bindings/js/JSImageConstructor.cpp: 24287 (WebCore::JSImageConstructor::JSImageConstructor): 24288 * bindings/js/JSMessageChannelConstructor.cpp: 24289 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 24290 * bindings/js/JSNamedNodesCollection.h: 24291 (WebCore::JSNamedNodesCollection::createPrototype): 24292 * bindings/js/JSOptionConstructor.cpp: 24293 (WebCore::JSOptionConstructor::JSOptionConstructor): 24294 * bindings/js/JSRGBColor.h: 24295 (WebCore::JSRGBColor::createPrototype): 24296 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 24297 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 24298 * bindings/js/JSWebKitPointConstructor.cpp: 24299 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): 24300 * bindings/js/JSWorkerConstructor.cpp: 24301 (WebCore::JSWorkerConstructor::JSWorkerConstructor): 24302 * bindings/js/JSXMLHttpRequestConstructor.cpp: 24303 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 24304 * bindings/js/JSXSLTProcessorConstructor.cpp: 24305 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 24306 * bindings/scripts/CodeGeneratorJS.pm: 24307 * bridge/objc/objc_runtime.h: 24308 (JSC::Bindings::ObjcFallbackObjectImp::createPrototype): 24309 * bridge/runtime_array.h: 24310 (JSC::RuntimeArray::createPrototype): 24311 * bridge/runtime_method.h: 24312 (JSC::RuntimeMethod::createPrototype): 24313 * bridge/runtime_object.h: 24314 (JSC::RuntimeObjectImp::createPrototype): 24315 * page/DOMWindow.idl: 24316 24317 2009-04-03 Jian Li <jianli (a] chromium.org> 24318 24319 Reviewed by Darin Fisher. 24320 24321 https://bugs.webkit.org/show_bug.cgi?id=25009 24322 Upstream changes to WorkerContextExecutionProxy for V8 bindings in order to use V8EventListenerList as container. 24323 24324 * bindings/v8/WorkerContextExecutionProxy.cpp: 24325 (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): 24326 (WebCore::WorkerContextExecutionProxy::dispose): 24327 (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener): 24328 (WebCore::WorkerContextExecutionProxy::RemoveEventListener): 24329 * bindings/v8/WorkerContextExecutionProxy.h: 24330 24331 2009-04-03 Geoffrey Garen <ggaren (a] apple.com> 24332 24333 Reviewed by Sam Weinig. 24334 24335 Removed irrelevant ExecState* parameter from event handler registration code. 24336 24337 No change in behavior. 24338 24339 * bindings/js/JSDOMApplicationCacheCustom.cpp: 24340 (WebCore::JSDOMApplicationCache::addEventListener): 24341 (WebCore::JSDOMApplicationCache::removeEventListener): 24342 * bindings/js/JSDOMGlobalObject.cpp: 24343 (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): 24344 (WebCore::JSDOMGlobalObject::findJSEventListener): 24345 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 24346 * bindings/js/JSDOMGlobalObject.h: 24347 * bindings/js/JSDOMWindowCustom.cpp: 24348 (WebCore::JSDOMWindow::addEventListener): 24349 * bindings/js/JSMessagePortCustom.cpp: 24350 (WebCore::JSMessagePort::addEventListener): 24351 (WebCore::JSMessagePort::removeEventListener): 24352 * bindings/js/JSNodeCustom.cpp: 24353 (WebCore::JSNode::addEventListener): 24354 (WebCore::JSNode::removeEventListener): 24355 * bindings/js/JSSVGElementInstanceCustom.cpp: 24356 (WebCore::JSSVGElementInstance::addEventListener): 24357 * bindings/js/JSWorkerContextCustom.cpp: 24358 (WebCore::JSWorkerContext::addEventListener): 24359 (WebCore::JSWorkerContext::removeEventListener): 24360 * bindings/js/JSWorkerCustom.cpp: 24361 (WebCore::JSWorker::addEventListener): 24362 (WebCore::JSWorker::removeEventListener): 24363 * bindings/js/JSXMLHttpRequestCustom.cpp: 24364 (WebCore::JSXMLHttpRequest::addEventListener): 24365 (WebCore::JSXMLHttpRequest::removeEventListener): 24366 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 24367 (WebCore::JSXMLHttpRequestUpload::addEventListener): 24368 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 24369 * bindings/scripts/CodeGeneratorJS.pm: 24370 24371 2009-04-03 Dan Bernstein <mitz (a] apple.com> 24372 24373 Reviewed by Simon Fraser. 24374 24375 - fix <rdar://problem/6634771> Under full-page zoom, cannot scroll 24376 MobileMe contact list 24377 24378 Test: fast/css/zoom-in-length-round-trip.html 24379 24380 * dom/Element.cpp: 24381 (WebCore::adjustForLocalZoom): For zoom factors greater than 1, ensure 24382 that the returned value is equal to the original unscaled value. 24383 (WebCore::adjustForAbsoluteZoom): Ditto. 24384 24385 2009-04-03 Chris Marrin <cmarrin (a] apple.com> 24386 24387 Reviewed by David Hyatt. 24388 24389 Fixed https://bugs.webkit.org/show_bug.cgi?id=24941 24390 24391 This fix essentially does a -viewWillDraw call for layout. It adds 24392 a CFRunLoopObserver which performs layout just before drawing on the 24393 Mac platform. This makes sure layout is complete before rendering and 24394 avoids a flash. 24395 24396 * page/ChromeClient.h: 24397 (WebCore::ChromeClient::scheduleViewUpdate): 24398 * rendering/RenderLayerCompositor.cpp: 24399 (WebCore::RenderLayerCompositor::setCompositingLayersNeedUpdate): 24400 (WebCore::RenderLayerCompositor::scheduleViewUpdate): 24401 * rendering/RenderLayerCompositor.h: 24402 24403 2009-04-02 Simon Fraser <simon.fraser (a] apple.com> 24404 24405 Reviewed by Dan Bernstein 24406 24407 https://bugs.webkit.org/show_bug.cgi?id=24648 24408 24409 Optimize mapPoint(), mapRect() and mapQuad() for identity matrix and translations. 24410 24411 * platform/graphics/transforms/TransformationMatrix.cpp: 24412 (WebCore::TransformationMatrix::mapPoint): 24413 (WebCore::TransformationMatrix::mapRect): 24414 (WebCore::TransformationMatrix::mapQuad): 24415 * platform/graphics/transforms/TransformationMatrix.h: 24416 (WebCore::TransformationMatrix::mapPoint): 24417 24418 2009-04-02 Simon Fraser <simon.fraser (a] apple.com> 24419 24420 Reviewed by Dan Bernstein 24421 24422 https://bugs.webkit.org/show_bug.cgi?id=25018 24423 24424 Add containsPoint() and containsQuad() methods to FloatQuad. 24425 24426 * platform/graphics/FloatQuad.cpp: 24427 (WebCore::dot): 24428 (WebCore::isPointInTriangle): 24429 (WebCore::FloatQuad::containsPoint): 24430 (WebCore::FloatQuad::containsQuad): 24431 * platform/graphics/FloatQuad.h: 24432 24433 2009-04-03 Kevin Decker <kdecker (a] apple.com> 24434 24435 Reviewed by Darin. 24436 24437 * loader/ProgressTracker.cpp: Included DocumentLoader.h 24438 (WebCore::ProgressTracker::incrementProgress): Limit the 50%-clamp rule to 24439 documents that use WebCore's layout system. 24440 24441 2009-04-03 Eric Carlson <eric.carlson (a] apple.com> 24442 24443 Reviewed by Simon Fraser. 24444 24445 https://bugs.webkit.org/show_bug.cgi?id=25029 24446 <rdar://problem/6336092> REGRESSION: movie does not resize correctly 24447 24448 Test: media/video-size-intrinsic-scale.html 24449 24450 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 24451 (WebCore::MediaPlayerPrivate::naturalSize): Use QTMovieCurrentSizeAttribute instead 24452 of QTMovieNaturalSizeAttribute so we return the correct size for movies saved 24453 with a non-default matrix. 24454 (WebCore::MediaPlayerPrivate::setSize): Don't resize the QTMovieView 24455 because [QTMovieView setFrame] also resizes the movie itself, and as 24456 the renderer calls setSize immediately when a movie reports a size change 24457 (QTMovieSizeDidChangeNotification) we can get into a feedback loop 24458 observing the size change and resetting the size, and this can cause 24459 QuickTime to miss correctly setting a movie's size when the media size 24460 changes after opening (as happens with an rtsp movie once the server sends 24461 the track sizes). Instead, remember the size passed to paint() and 24462 resize the view when it changes. 24463 (WebCore::MediaPlayerPrivate::paint): Resize the view when passed a new size. 24464 24465 * platform/graphics/win/QTMovieWin.cpp: 24466 (QTMovieWin::getNaturalSize): Use GetMovieBox instead of GetMovieNaturalBoundsRect 24467 so we return the correct size for movies saved with non-default matrix. 24468 24469 2009-04-03 Darin Fisher <darin (a] chromium.org> 24470 24471 Reviewed by Darin Adler. 24472 24473 Restore FrameLoader::policyDocumentLoader to fix the Chromium build. 24474 https://bugs.webkit.org/show_bug.cgi?id=25028 24475 24476 * loader/FrameLoader.h: 24477 (WebCore::FrameLoader::policyDocumentLoader): 24478 24479 2009-04-02 Michael Nordman <michaeln (a] google.com> 24480 24481 Reviewed by Alexey Proskuryakov. 24482 24483 Use long long, not int64, when working in webcore (sorry). 24484 https://bugs.webkit.org/show_bug.cgi?id=25011 24485 24486 No change in functionality, so no tests. 24487 24488 * platform/network/chromium/ResourceResponse.h: 24489 (WebCore::ResourceResponse::getAppCacheID): 24490 (WebCore::ResourceResponse::setAppCacheID): 24491 24492 2009-04-03 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 24493 24494 Reviewed by Holger Freyther. 24495 24496 Remove pre-processor checks for GTK+ >= 2.10, since we now require 24497 at least that version. 24498 24499 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 24500 (WebCore::FontPlatformData::FontPlatformData): 24501 * platform/gtk/ContextMenuItemGtk.cpp: 24502 (WebCore::gtkStockIDFromContextMenuAction): 24503 * platform/gtk/KeyEventGtk.cpp: 24504 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 24505 * platform/gtk/LocalizedStringsGtk.cpp: 24506 (WebCore::contextMenuItemTagSelectAll): 24507 * platform/gtk/MouseEventGtk.cpp: 24508 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 24509 * platform/gtk/PasteboardGtk.cpp: 24510 (WebCore::Pasteboard::writeSelection): 24511 (WebCore::Pasteboard::documentFragment): 24512 * platform/gtk/WheelEventGtk.cpp: 24513 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 24514 24515 2009-04-02 Simon Fraser <simon.fraser (a] apple.com> 24516 24517 Reviewed by Dan Bernstein 24518 24519 https://bugs.webkit.org/show_bug.cgi?id=25021 24520 24521 Fix repainting an element with a reflection and transform after layout. 24522 Telling the reflection to repaint directly is wrong, because, with 24523 LayoutState enabled, it only takes the reflection's transform into account, 24524 not that of the element. We can fix this, and keep the benefits of LayoutState, 24525 by computing the reflected repaint rect, and repainting that using the original 24526 renderer. 24527 24528 Test: fast/repaint/reflection-repaint-test.html 24529 24530 * rendering/RenderBlock.cpp: 24531 (WebCore::RenderBlock::layoutBlock): 24532 24533 2009-04-02 Simon Fraser <simon.fraser (a] apple.com> 24534 24535 Reviewed by Dan Bernstein 24536 24537 https://bugs.webkit.org/show_bug.cgi?id=23307 24538 24539 When repainting during layout (when LayoutState is enabled), we need 24540 to apply the transform to the dirty rect, before applying x(), y() and 24541 the offset storted in the LayoutState. 24542 24543 Also bypass LayoutState in mapLocalToContainer() if we have a repaintContainer, 24544 since LayoutState is always root-relative. 24545 24546 Test: fast/repaint/transform-layout-repaint.html 24547 24548 * rendering/RenderBox.cpp: 24549 (WebCore::RenderBox::mapLocalToContainer): 24550 (WebCore::RenderBox::computeRectForRepaint): 24551 24552 2009-04-02 Mark Rowe <mrowe (a] apple.com> 24553 24554 Fix the Mac build after r42191. 24555 24556 * WebCore.base.exp: 24557 24558 2009-04-02 Mark Rowe <mrowe (a] apple.com> 24559 24560 Fix Windows build after r42190. 24561 24562 * page/EventHandler.cpp: 24563 (WebCore::EventHandler::keyEvent): Update to use the new name of the constant. 24564 24565 2009-04-02 Darin Adler <darin (a] apple.com> 24566 24567 Reviewed by Brady Eidson. 24568 24569 <rdar://problem/6625840> Previous Page isn't loaded after hitting back button at http://www.breakingnews.ie/ 24570 24571 Test: http/tests/navigation/onload-navigation-iframe-2.html 24572 24573 * html/HTMLFrameElement.cpp: 24574 (WebCore::HTMLFrameElement::HTMLFrameElement): Removed unneeded createdByParser flag. 24575 * html/HTMLFrameElement.h: Ditto. 24576 * html/HTMLFrameElementBase.cpp: 24577 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): Ditto. 24578 * html/HTMLFrameElementBase.h: Ditto. 24579 * html/HTMLFrameOwnerElement.cpp: 24580 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): Ditto. 24581 * html/HTMLFrameOwnerElement.h: Ditto. 24582 * html/HTMLIFrameElement.cpp: 24583 (WebCore::HTMLIFrameElement::HTMLIFrameElement): Ditto. 24584 * html/HTMLIFrameElement.h: Ditto. 24585 * html/HTMLPlugInElement.cpp: 24586 (WebCore::HTMLPlugInElement::HTMLPlugInElement): Ditto. 24587 24588 * loader/FrameLoader.cpp: 24589 (WebCore::FrameLoader::submitForm): Removed unneeded check of the createdByParser flag. 24590 The original change that introduced this, http://trac.webkit.org/changeset/25410, does 24591 not make it clear why this check was needed. And it seems it is not needed. 24592 24593 2009-04-02 Adele Peterson <adele (a] apple.com> 24594 24595 Reviewed by Darin Adler. 24596 24597 Add a way to get a list of focusable nodes. 24598 24599 * dom/Document.cpp: 24600 (WebCore::Document::setFocusedNode): 24601 (WebCore::Document::getFocusableNodes): 24602 * dom/Document.h: 24603 24604 2009-04-02 Darin Adler <darin (a] apple.com> 24605 24606 Reviewed by Sam Weinig. 24607 24608 <rdar://problem/6654255> crash due to null FrameView in EventHandler 24609 24610 Lots of code was added to EventHandler that used view() and page() without 24611 null checking, but both of those can become null due to the frame lifetime. 24612 24613 * page/EventHandler.cpp: 24614 (WebCore::EventHandler::handleMousePressEventSingleClick): 24615 (WebCore::EventHandler::eventMayStartDrag): 24616 (WebCore::EventHandler::handleAutoscroll): 24617 (WebCore::EventHandler::autoscrollTimerFired): 24618 (WebCore::EventHandler::setPanScrollCursor): 24619 (WebCore::EventHandler::allowDHTMLDrag): 24620 (WebCore::EventHandler::hitTestResultAtPoint): 24621 (WebCore::EventHandler::stopAutoscrollTimer): 24622 (WebCore::EventHandler::selectCursor): 24623 (WebCore::EventHandler::handleMousePressEvent): 24624 (WebCore::EventHandler::handleMouseMoveEvent): 24625 (WebCore::EventHandler::dispatchDragEvent): 24626 (WebCore::EventHandler::prepareMouseEvent): 24627 (WebCore::EventHandler::dispatchMouseEvent): 24628 (WebCore::EventHandler::handleWheelEvent): 24629 (WebCore::EventHandler::hoverTimerFired): 24630 (WebCore::EventHandler::keyEvent): 24631 (WebCore::EventHandler::dragHysteresisExceeded): 24632 (WebCore::EventHandler::shouldDragAutoNode): 24633 (WebCore::EventHandler::handleDrag): 24634 (WebCore::EventHandler::handleTextInputEvent): 24635 (WebCore::EventHandler::addPendingFrameUnloadEventCount): 24636 (WebCore::EventHandler::removePendingFrameUnloadEventCount): 24637 (WebCore::EventHandler::clearPendingFrameUnloadEventCount): 24638 (WebCore::EventHandler::addPendingFrameBeforeUnloadEventCount): 24639 (WebCore::EventHandler::removePendingFrameBeforeUnloadEventCount): 24640 (WebCore::EventHandler::clearPendingFrameBeforeUnloadEventCount): 24641 Added null checks for view() and page(). Made minor code cleanups. 24642 24643 2009-04-02 David Hyatt <hyatt (a] apple.com> 24644 24645 Reviewed by Oliver Hunt. 24646 24647 Fix regression in <object> layout test. Make sure that even though a 404 image loads, that <object> 24648 still considers it an error for the purposes of firing onerror. 24649 24650 * html/HTMLImageLoader.cpp: 24651 (WebCore::HTMLImageLoader::dispatchLoadEvent): 24652 24653 2009-04-02 Dimitri Glazkov <dglazkov (a] chromium.org> 24654 24655 Reviewed by Timothy Hatcher. 24656 24657 https://bugs.webkit.org/show_bug.cgi?id=25010 24658 Refactor InspectorController to replace all JS function invocations with 24659 ScriptFunctionCall. 24660 24661 * bindings/js/ScriptFunctionCall.cpp: 24662 (WebCore::ScriptFunctionCall::appendArgument): Added int, UString, 24663 and JSValuePtr methods. 24664 (WebCore::ScriptFunctionCall::call): Added simplified, exception-eating 24665 method. 24666 * bindings/js/ScriptFunctionCall.h: Decls for above. 24667 * bindings/js/ScriptObjectQuarantine.cpp: Added helper for Node and DOMWindow. 24668 (WebCore::getQuarantinedScriptObject): 24669 * bindings/js/ScriptObjectQuarantine.h: Decls for above. 24670 * inspector/InspectorController.cpp: 24671 (WebCore::callSimpleFunction): Made into a static. 24672 (WebCore::InspectorController::focusNode): Refactored to use ScriptFunctionCall. 24673 (WebCore::InspectorController::toggleRecordButton): Ditto. 24674 (WebCore::InspectorController::startGroup): Ditto. 24675 (WebCore::InspectorController::setAttachedWindow): Ditto. 24676 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): Ditto. 24677 (WebCore::InspectorController::addScriptProfile): Ditto. 24678 (WebCore::InspectorController::didParseSource): Ditto. 24679 (WebCore::InspectorController::failedToParseSource): Ditto. 24680 (WebCore::InspectorController::didPause): Ditto. 24681 * inspector/InspectorController.h: Removed callFunction and callSimpleFunction 24682 decls. 24683 24684 2009-04-02 Jian Li <jianli (a] chromium.org> 24685 24686 Reviewed by Darin Fisher. 24687 24688 Upstream changes to V8WorkerContextEventListener for V8 bindings. 24689 https://bugs.webkit.org/show_bug.cgi?id=25007 24690 24691 * bindings/v8/V8ObjectEventListener.h: 24692 * bindings/v8/V8WorkerContextEventListener.cpp: 24693 24694 2009-04-02 Jian Li <jianli (a] chromium.org> 24695 24696 Reviewed by Darin Fisher. 24697 24698 Upstream V8WorkerContextObjectEventListener for V8 bindings. 24699 https://bugs.webkit.org/show_bug.cgi?id=25005 24700 24701 * bindings/v8/V8WorkerContextObjectEventListener.cpp: Added. 24702 * bindings/v8/V8WorkerContextObjectEventListener.h: Added. 24703 24704 2009-04-02 Jian Li <jianli (a] chromium.org> 24705 24706 Reviewed by Darin Fisher. 24707 24708 Upstream V8EventListenerList for V8 bindings. 24709 https://bugs.webkit.org/show_bug.cgi?id=25004 24710 24711 * bindings/v8/V8EventListenerList.cpp: Added. 24712 * bindings/v8/V8EventListenerList.h: Added. 24713 24714 2009-04-02 Michael Nordman <michaeln (a] google.com> 24715 24716 Reviewed by Darin Fisher. 24717 24718 Chromium's ResourceRequest and ResourceResponse structs need some new data members. 24719 https://bugs.webkit.org/show_bug.cgi?id=24897 24720 24721 These fields are needed to facilitate Chromium's implementation of the HTML5 24722 ApplicationCache feature. We need to know what frame (or context) is doing the 24723 requesting, and from what cache the resulting resource was retrieved. 24724 24725 No change in functionality, so no tests. 24726 24727 * platform/network/chromium/ResourceRequest.h: 24728 (WebCore::ResourceRequest::ResourceRequest): 24729 (WebCore::ResourceRequest::appCacheContextID): 24730 (WebCore::ResourceRequest::setAppCacheContextID): 24731 * platform/network/chromium/ResourceResponse.h: 24732 (WebCore::ResourceResponse::ResourceResponse): 24733 (WebCore::ResourceResponse::getAppCacheID): 24734 (WebCore::ResourceResponse::setAppCacheID): 24735 24736 2009-04-02 David Hyatt <hyatt (a] apple.com> 24737 24738 Reviewed by Darin Adler 24739 24740 Fix for https://bugs.webkit.org/show_bug.cgi?id=24643. 24741 24742 Make sure images just ignore HTTP error codes and keep loading anyway. Only <object> checks http error codes and falls back. Everyone 24743 else just ignores it and displays the image anyway. 24744 24745 Added http/tests/misc/image-error.html 24746 24747 * html/HTMLImageLoader.cpp: 24748 (WebCore::HTMLImageLoader::notifyFinished): 24749 * loader/CachedImage.cpp: 24750 (WebCore::CachedImage::CachedImage): 24751 * loader/CachedImage.h: 24752 (WebCore::CachedImage::httpStatusCodeError): 24753 (WebCore::CachedImage::httpStatusCodeErrorOccurred): 24754 * loader/CachedResource.h: 24755 (WebCore::CachedResource::httpStatusCodeError): 24756 * loader/loader.cpp: 24757 (WebCore::Loader::Host::didReceiveData): 24758 24759 2009-04-02 Jian Li <jianli (a] chromium.org> 24760 24761 Reviewed by Dimitri Glazkov. 24762 24763 Add XHR constructor in WorkerContext.idl for V8 bindings. 24764 https://bugs.webkit.org/show_bug.cgi?id=24962 24765 24766 * workers/WorkerContext.idl: 24767 24768 2009-04-02 Ben Murdoch <benm (a] google.com> 24769 24770 Fix Bug 19743: Release build fails on 32-bit Windows 24771 24772 <https://bugs.webkit.org/show_bug.cgi?id=19743> 24773 24774 Combines all the HTML element cpp files into one to help reduce the 24775 size of WebCore.lib so we can build in release mode on 32bit Windows. 24776 24777 Reviewed by Adam Roben. 24778 24779 * WebCore.vcproj/WebCore.vcproj: Excluded all the separate 24780 HTML*Element.cpp files from the build. Added HTMLElementsAllInOne.cpp 24781 to the build. 24782 * html/HTMLElementsAllInOne.cpp: Added. 24783 24784 2009-04-02 Simon Fraser <simon.fraser (a] apple.com> 24785 24786 Reviewed by Darin Adler 24787 24788 https://bugs.webkit.org/show_bug.cgi?id=24999 24789 24790 Optimize hit testing with transforms. 24791 24792 * rendering/RenderBox.cpp: 24793 (WebCore::RenderBox::mapLocalToContainer): 24794 (WebCore::RenderBox::mapAbsoluteToLocalPoint): 24795 getTransformFromContainer() change to return the matrix by reference. 24796 24797 * rendering/RenderLayer.cpp: 24798 (WebCore::RenderLayer::update3DTransformedDescendantStatus): 24799 The method failed to set m_3DTransformedDescendantStatusDirty to false, 24800 so did the work every time. 24801 24802 (WebCore::RenderLayer::createLocalTransformState): 24803 Only call the expensive getTransformFromContainer() if there is a transform, 24804 otherwise we just have a translation. 24805 24806 * rendering/RenderObject.cpp: 24807 (WebCore::RenderObject::getTransformFromContainer): 24808 * rendering/RenderObject.h: 24809 Change transformFromContainer() to getTransformFromContainer(), and return 24810 the matrix by reference to reduce copying. 24811 New enum values for arguments for readability. 24812 24813 * rendering/TransformState.cpp: 24814 (WebCore::TransformState::move): 24815 (WebCore::TransformState::applyTransform): 24816 (WebCore::HitTestingTransformState::translate): 24817 New method that adds a translation to the accumulated matrix, optionally 24818 without flattening. Cheaper than applyTransform(). 24819 24820 (WebCore::HitTestingTransformState::applyTransform): 24821 (WebCore::HitTestingTransformState::flatten): 24822 (WebCore::HitTestingTransformState::flattenWithTransform): 24823 Add flattenWithTransform(), which is a helper that allows us to 24824 avoid doing the inverse() twice. 24825 24826 * rendering/TransformState.h: 24827 (WebCore::TransformState::): 24828 (WebCore::TransformState::move): 24829 (WebCore::HitTestingTransformState::): 24830 New method on HitTestingTransformState that adds a translation to the 24831 accumulated matrix, optionally without flattening. Cheaper than applyTransform(). 24832 New enum values for arguments for readability. 24833 24834 2009-04-02 Simon Fraser <simon.fraser (a] apple.com> 24835 24836 Reviewed by Dan Bernstein 24837 24838 https://bugs.webkit.org/show_bug.cgi?id=24648 24839 24840 Optimize common code paths in TransformationMatrix. 24841 24842 * platform/graphics/transforms/TransformationMatrix.cpp: 24843 (WebCore::TransformationMatrix::translate): 24844 (WebCore::TransformationMatrix::translate3d): 24845 Optimize to avoid matrix copy. 24846 24847 (WebCore::TransformationMatrix::isInvertible): 24848 Test for identity and translation matrices before computing 24849 the determinant. 24850 24851 (WebCore::TransformationMatrix::inverse): 24852 Optimize for identity matrix and translations. 24853 24854 * platform/graphics/transforms/TransformationMatrix.h: 24855 (WebCore::TransformationMatrix::isIdentityOrTranslation): 24856 Utility method. 24857 24858 2009-04-02 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 24859 24860 Reviewed by Alexey Proskuryakov. 24861 24862 https://bugs.webkit.org/show_bug.cgi?id=24930 24863 [Gtk] ISO files content is displayed inside the webview instead of being downloaded 24864 24865 Also sniff content of types declared as text/plain. This is 24866 justified by the fact that it is common to have Apache HTTP 24867 servers configured to send text/plain as Content-Type by default. 24868 24869 * platform/network/soup/ResourceHandleSoup.cpp: 24870 (WebCore::gotHeadersCallback): 24871 24872 2009-04-02 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 24873 24874 Reviewed by Alexey Proskuryakov. 24875 24876 Protect the handle when notifying the client that the response was 24877 received also in gotChunkCallback, or we crash in didReceiveData 24878 when the load is cancelled in didReceiveResponse. 24879 24880 * platform/network/soup/ResourceHandleSoup.cpp: 24881 (WebCore::gotChunkCallback): 24882 24883 2009-04-02 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 24884 24885 Reviewed by Alexey Proskuryakov. 24886 24887 https://bugs.webkit.org/show_bug.cgi?id=25001 24888 Crash when content type parameters have no value 24889 24890 Handle the case where a Content-Type header parameter has no 24891 value (i.e. no = character), to work-around a bug in libsoup. 24892 24893 * platform/network/soup/ResourceHandleSoup.cpp: 24894 (WebCore::fillResponseFromMessage): 24895 24896 2009-04-02 Yael Aharon <yael.aharon (a] nokia.com> 24897 24898 Reviewed by Simon Hausmann. 24899 24900 https://bugs.webkit.org/show_bug.cgi?id=24490 24901 24902 Enable web workers in Qt. 24903 24904 * WebCore.pro: 24905 24906 2009-04-01 Alexey Proskuryakov <ap (a] webkit.org> 24907 24908 Reviewed by Darin Adler. Based on work of Julien Chaffraix. 24909 24910 https://bugs.webkit.org/show_bug.cgi?id=22475 24911 REGRESSION: Async XMLHttpRequest never finishes on nonexistent files anymore 24912 24913 https://bugs.webkit.org/show_bug.cgi?id=24886 24914 XHR requests opened when offline never return 24915 24916 Tests: fast/xmlhttprequest/xmlhttprequest-nonexistent-file.html 24917 http/tests/xmlhttprequest/state-after-network-error.html 24918 24919 * xml/XMLHttpRequest.cpp: 24920 (WebCore::XMLHttpRequest::callReadyStateChangeListener): Only dispatch load event if this 24921 wasn't an error. 24922 (WebCore::XMLHttpRequest::abort): Fixed formatting. 24923 (WebCore::XMLHttpRequest::genericError): Change state to DONE and dispatch readystatechange. 24924 The comment saying that this doesn't match Firefox was added in r33559 without explanation 24925 or tests, and I don't think that it's accurate. Also, Firefox and Safari 3 both change state 24926 to HEADERS_RECEIVED before DONE on error - this doesn't match the spec, and I doubt 24927 that any code depends on this, so I went with the spec here. 24928 24929 2009-04-01 Steve Falkenburg <sfalken (a] apple.com> 24930 24931 https://bugs.webkit.org/show_bug.cgi?id=24997 24932 Race conditions in icon database threading code 24933 24934 m_syncThreadRunning set was mistakenly eliminated in r27717. 24935 This reintroduces it. 24936 24937 Reviewed by Oliver Hunt. 24938 24939 * loader/icon/IconDatabase.cpp: 24940 (WebCore::IconDatabase::open): Set m_syncThreadRunning. 24941 24942 2009-04-01 Antti Koivisto <antti (a] apple.com> 24943 24944 Reviewed by Darin Adler. 24945 24946 <rdar://problem/6748609> Use ActiveDOMObject to suspend marquees 24947 24948 Make marquees ActiveDOMObjects, get rid of the special suspension code. 24949 24950 * html/HTMLMarqueeElement.cpp: 24951 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement): 24952 (WebCore::HTMLMarqueeElement::canSuspend): 24953 (WebCore::HTMLMarqueeElement::suspend): 24954 (WebCore::HTMLMarqueeElement::resume): 24955 * html/HTMLMarqueeElement.h: 24956 * page/Frame.cpp: 24957 (WebCore::Frame::clearTimers): 24958 * rendering/RenderLayer.cpp: 24959 * rendering/RenderLayer.h: 24960 (WebCore::RenderLayer::marquee): 24961 24962 2009-04-01 Dean Jackson <dino (a] apple.com> 24963 24964 Reviewed by Darin Adler 24965 24966 Make constant values static in previous commit, as suggested 24967 by Darin. 24968 24969 * rendering/RenderVideo.cpp: 24970 24971 2009-04-01 Dean Jackson <dino (a] apple.com> 24972 24973 Reviewed by Simon Fraser 24974 24975 https://bugs.webkit.org/show_bug.cgi?id=24993 24976 24977 Standalone media should have a smaller instrinsic 24978 height. 24979 24980 * rendering/RenderVideo.cpp: 24981 (WebCore::RenderVideo::RenderVideo): 24982 24983 2009-04-01 Darin Adler <darin (a] apple.com> 24984 24985 Reviewed by Geoff Garen. 24986 24987 Bug 22378: Crash submitting a form when parsing an XHTML document 24988 https://bugs.webkit.org/show_bug.cgi?id=22378 24989 rdar://problem/6388377 24990 24991 Tests: fast/loader/submit-form-while-parsing-1.xhtml 24992 fast/loader/submit-form-while-parsing-2.html 24993 24994 * WebCore.base.exp: Updated. 24995 24996 * history/HistoryItem.cpp: 24997 (WebCore::HistoryItem::HistoryItem): Renamed m_subItems to m_children. 24998 Used uncheckedAppend because we reserveInitialCapacity. 24999 (WebCore::HistoryItem::addChildItem): Renamed m_subItems to m_children. 25000 Added an assertion that this is only used to add items that don't have 25001 duplicate frame names. 25002 (WebCore::HistoryItem::setChildItem): Added. Replaces an existing item 25003 if any, preserving the isTargetItem flag. 25004 (WebCore::HistoryItem::childItemWithTarget): Renamed from childItemWithName 25005 for consistency with the other functions here that all call the frame name the 25006 "target". Also updated for rename of m_subItems to m_children. 25007 (WebCore::HistoryItem::findTargetItem): Renamed from recurseToFindTargetItem. 25008 Removed unneeded size check. 25009 (WebCore::HistoryItem::targetItem): Changed to always return the top item 25010 if no item has the isTargetItem flag set. The old version would instead return 25011 0 in some cases, but return the top item if it had no children. 25012 (WebCore::HistoryItem::children): Renamed m_subItems to m_children. 25013 (WebCore::HistoryItem::hasChildren): Ditto. 25014 (WebCore::HistoryItem::showTreeWithIndent): Ditto. 25015 25016 * history/HistoryItem.h: Name changes. 25017 25018 * html/HTMLFormElement.cpp: 25019 (WebCore::HTMLFormElement::submit): Create and pass a FormState instead of 25020 attaching "recorded form values" and "form about to be submitted" to the frame 25021 loader. Parameter work fine for this; there's no need to store state on the 25022 FrameLoader. 25023 25024 * loader/FormState.cpp: 25025 (WebCore::FormState::FormState): Adopt a vector instead of copying a hash map. 25026 (WebCore::FormState::create): Ditto. 25027 * loader/FormState.h: Update to use a vector that we adopt instead of hash map 25028 that we copy for auto-fill text field values. 25029 25030 * loader/FrameLoader.cpp: 25031 (WebCore::ScheduledRedirection::ScheduledRedirection): Added a new case for 25032 form submissions and turned the "wasDuringLoad" state into a separate boolean 25033 instead of using a special redirection type to track it. 25034 (WebCore::FrameLoader::createWindow): Updated for name and argument change of 25035 loadFrameRequest. 25036 (WebCore::FrameLoader::urlSelected): Ditto. 25037 (WebCore::FrameLoader::submitForm): Removed the "deferred form submission" 25038 machinery, replacing it with the "scheduled redirection" mechanism, shared 25039 with other kinds of redirection and navigation. Moved frame targeting here 25040 so we can schedule the redirection on the right frame. Moved the multiple 25041 form submission protection here. Moved the code to implement the rule that 25042 m_navigationDuringLoad was used for here too. 25043 (WebCore::FrameLoader::didOpenURL): Use the new wasDuringLoad flag instead 25044 of the locationChangeDuringLoad type to detect location change during a load. 25045 (WebCore::FrameLoader::executeScript): Removed call to now-obsolete function, 25046 submitFormAgain. 25047 (WebCore::FrameLoader::scheduleLocationChange): Moved the code to stop loading 25048 out of this function into scheduleRedirection, so it can be shared with the 25049 new scheduleFormSubmission function. 25050 (WebCore::FrameLoader::scheduleFormSubmission): Added. Almost the same as 25051 scheduleLocationChange, but with the arguments for a form submission. 25052 (WebCore::FrameLoader::scheduleRefresh): Updated for the change to the 25053 duringLoad flag. 25054 (WebCore::FrameLoader::isLocationChange): Added case for formSubmission 25055 and removed case for locationChangeDuringLoad. 25056 (WebCore::FrameLoader::redirectionTimerFired): Ditto. Also removed unneeded 25057 completeURL call and just use KURL constructor to match the other cases. 25058 (WebCore::FrameLoader::provisionalLoadStarted): Removed the code to set up 25059 the m_navigationDuringLoad, which is no longer needed. The new version of 25060 this is in the submitForm function and sets the lockHistory boolean. 25061 (WebCore::FrameLoader::scheduleRedirection): Moved the code to stop a load 25062 in here that used to be in scheduleLocationChange. 25063 (WebCore::FrameLoader::startRedirectionTimer): Added case for formSubmission 25064 and removed case for locationChangeDuringLoad. 25065 (WebCore::FrameLoader::stopRedirectionTimer): Ditto. 25066 (WebCore::FrameLoader::completed): Removed call to now-obsolete function, 25067 submitFormAgain. 25068 (WebCore::FrameLoader::loadFrameRequest): Renamed from 25069 loadFrameRequestWithFormAndValues. Replaced form element and form values 25070 argument with a single FormState argument. Changed frame targeting code 25071 to use the source frame in the case of a form submission to better match 25072 the actual target frame. 25073 (WebCore::FrameLoader::loadURL): Don't search for existing frames in the 25074 form submission case since we already did that in the submitForm function. 25075 (WebCore::FrameLoader::clientRedirected): Changed to work with the 25076 m_isExecutingJavaScriptFormAction data member directly instead of taking 25077 it as a function parameter. 25078 (WebCore::FrameLoader::loadPostRequest): Don't search for existing frames 25079 in the form submission case since we already did that in the submitForm 25080 function. 25081 (WebCore::FrameLoader::addBackForwardItemClippedAtTarget): Moved comment 25082 in here that was misplaced elsewhere in the file. 25083 (WebCore::FrameLoader::findFrameForNavigation): Changed to use the early 25084 return idiom. 25085 (WebCore::FrameLoader::recursiveGoToItem): Updated for HistoryItem changes. 25086 (WebCore::FrameLoader::childFramesMatchItem): Ditto. 25087 (WebCore::FrameLoader::updateHistoryForStandardLoad): Removed the 25088 m_navigationDuringLoad logic; that's now handled by setting lockHistory 25089 to true in the submitForm function. 25090 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList): 25091 Use the new setChildItem function so we don't get multiple items for the 25092 same frame name in the history item tree in the back/forward list. 25093 25094 * loader/FrameLoader.h: Renamed loadFrameRequestWithFormAndValues to 25095 loadFrameRequest and made it take a form state object instead of the 25096 form element and form values. Removed the unused functions 25097 loadEmptyDocumentSynchronously, provisionalDocumentLoader, 25098 notifyIconChnaged, and updateBaseURLForEmptyDocument. Changed the 25099 submitForm function to take a form state argument. Eliminated the 25100 clearRecordedFormValues, setFormAboutToBeSubmitted, and recordFormValue 25101 functions, which are replaced by the form state arguments to submitForm 25102 and loadFrameRequest. Removed the isJavaScriptFormAction argument from 25103 the clientRedirected function; instead it looks at a data member directly. 25104 Eliminated the submitFormAgain and overload of the submitForm function; 25105 these are now subsumed into the remaining submitForm function and the 25106 scheduleFormSubmission function. Removed unused and obsolete data 25107 members m_navigationDuringLoad, m_deferredFormSubmission, 25108 m_formAboutToBeSubmitted and m_formValuesAboutToBeSubmitted. 25109 25110 * page/ContextMenuController.cpp: 25111 (WebCore::ContextMenuController::contextMenuItemSelected): 25112 Updated for name and argument change of loadFrameRequest. 25113 25114 * page/Frame.cpp: 25115 (WebCore::Frame::~Frame): Removed call to the now-unneeded 25116 clearRecordedFormValues function. 25117 25118 2009-04-01 Dimitri Glazkov <dglazkov (a] chromium.org> 25119 25120 Unreviewed, fixing previous commit. 25121 25122 https://bugs.webkit.org/show_bug.cgi?id=24994 25123 Revert V8DOMMap.cpp change which accidentally snuck into the previous 25124 commit. 25125 25126 * bindings/v8/V8DOMMap.cpp: Revert change in previous commit. 25127 25128 2009-04-01 Dimitri Glazkov <dglazkov (a] chromium.org> 25129 25130 Reviewed by Darin Fisher. 25131 25132 https://bugs.webkit.org/show_bug.cgi?id=24994 25133 Fix miscellaneous merge/upstreaming divergencies in Chromium port. 25134 25135 * bindings/v8/V8Collection.h: Added an include. 25136 * platform/KURLGoogle.cpp: 25137 (WebCore::KURL::baseAsString): Added to match KURL.cpp. 25138 * platform/chromium/ClipboardChromium.cpp: Added an include. 25139 25140 2009-04-01 Dimitri Glazkov <dglazkov (a] chromium.org> 25141 25142 Reviewed by Timothy Hatcher. 25143 25144 https://bugs.webkit.org/show_bug.cgi?id=24989 25145 Refactor InspectorResource to use ScriptObject/FunctionCall. 25146 25147 * bindings/js/JSInspectorControllerCustom.cpp: 25148 (WebCore::JSInspectorController::addResourceSourceToFrame): Tweaked to use 25149 a more appropriate type conversion. 25150 (WebCore::JSInspectorController::getResourceDocumentNode): Tweaked to 25151 accommodate for InspectorResource refactoring. 25152 * bindings/js/ScriptFunctionCall.cpp: 25153 (WebCore::ScriptFunctionCall::appendArgument): Added long long type to match 25154 existing jsNumber call signature. 25155 * bindings/js/ScriptFunctionCall.h: Declaration for above. 25156 * bindings/js/ScriptObject.cpp: 25157 (WebCore::createEmptyObject): Added. 25158 (WebCore::ScriptObject::ScriptObject): 25159 (WebCore::ScriptObject::set): Added a bunch of property setters. 25160 * bindings/js/ScriptObject.h: Declarations for above. 25161 * inspector/InspectorController.cpp: Moved all InspectorResource-managing code 25162 to InspectorResource.cpp 25163 (WebCore::InspectorController::populateScriptObjects): Changed to use 25164 refactored InspectorResource. 25165 (WebCore::InspectorController::resetScriptObjects): Ditto. 25166 (WebCore::InspectorController::pruneResources): Ditto. 25167 (WebCore::InspectorController::didCommitLoad): Ditto. 25168 (WebCore::InspectorController::addResource): Ditto. 25169 (WebCore::InspectorController::removeResource): Ditto. 25170 (WebCore::InspectorController::didLoadResourceFromMemoryCache): Ditto. 25171 (WebCore::InspectorController::identifierForInitialRequest): Ditto. 25172 (WebCore::InspectorController::willSendRequest): Ditto. 25173 (WebCore::InspectorController::didReceiveResponse): Ditto. 25174 (WebCore::InspectorController::didReceiveContentLength): Ditto. 25175 (WebCore::InspectorController::didFinishLoading): Ditto. 25176 (WebCore::InspectorController::didFailLoading): Ditto, 25177 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): Ditto. 25178 (WebCore::InspectorController::scriptImported): Ditto. 25179 * inspector/InspectorController.h: Removed InspectorResource-managing code decls 25180 and tweaked some signatures to use ScriptString and long long for identifier. 25181 * inspector/InspectorController.idl: Changed to use long long for identifier. 25182 * inspector/InspectorResource.cpp: Refactored to use ScriptObject/FunctionCall. 25183 (WebCore::InspectorResource::InspectorResource): Ditto. 25184 (WebCore::InspectorResource::~InspectorResource): Ditto. 25185 (WebCore::InspectorResource::createCached): Added. 25186 (WebCore::InspectorResource::updateRequest): Added. 25187 (WebCore::InspectorResource::updateResponse): Added. 25188 (WebCore::createHeadersObject): Added. 25189 (WebCore::InspectorResource::createScriptObject): Added. 25190 (WebCore::InspectorResource::updateScriptObject): Added. 25191 (WebCore::InspectorResource::releaseScriptObject): Added. 25192 (WebCore::InspectorResource::type): Tweaked to use ScriptString. 25193 (WebCore::InspectorResource::setXMLHttpResponseText): Added. 25194 (WebCore::InspectorResource::sourceString): Tweaked to use ScriptString. 25195 (WebCore::InspectorResource::startTiming): Added. 25196 (WebCore::InspectorResource::markResponseReceivedTime): Added. 25197 (WebCore::InspectorResource::endTiming): Added. 25198 (WebCore::InspectorResource::markFailed): Added. 25199 (WebCore::InspectorResource::addLength): Added. 25200 * inspector/InspectorResource.h: Added decls for newly refactored-in methods. 25201 (WebCore::InspectorResource::create): Added. 25202 (WebCore::InspectorResource::isSameLoader): Added. 25203 (WebCore::InspectorResource::markMainResource): Added. 25204 (WebCore::InspectorResource::identifier): Added. 25205 (WebCore::InspectorResource::requestURL): Added. 25206 (WebCore::InspectorResource::frame): Added. 25207 (WebCore::InspectorResource::mimeType): Added. 25208 (WebCore::InspectorResource::Changes::Changes): Added new class to track 25209 resource changes. 25210 (WebCore::InspectorResource::Changes::hasChange): Added. 25211 (WebCore::InspectorResource::Changes::set): Added. 25212 (WebCore::InspectorResource::Changes::clear): Added. 25213 (WebCore::InspectorResource::Changes::setAll): Added. 25214 (WebCore::InspectorResource::Changes::clearAll): Added. 25215 25216 2009-04-01 Tony Chang <tony (a] chromium.org> 25217 25218 Reviewed by Darin Fisher. 25219 25220 Ensure the right click doesn't deselect text under it. This was 25221 happening in the Chromium and GTK+ ports because they don't select 25222 the text under the cursor on right click. 25223 25224 This was regressed in r41715, https://bugs.webkit.org/show_bug.cgi?id=19737 25225 25226 https://bugs.webkit.org/show_bug.cgi?id=24946 25227 25228 Test: fast/events/context-no-deselect.html 25229 25230 * page/EventHandler.cpp: 25231 (WebCore::EventHandler::handleMouseReleaseEvent): 25232 25233 2009-04-01 Simon Fraser <simon.fraser (a] apple.com> 25234 25235 Reviewed by Dave Hyatt 25236 25237 https://bugs.webkit.org/show_bug.cgi?id=24991 25238 25239 Need to use toRenderBoxModelObject(), not toRenderBox(), to test for layer() 25240 when getting the transform. 25241 25242 * rendering/RenderObject.cpp: 25243 (WebCore::RenderObject::transformFromContainer): 25244 25245 2009-03-31 Darin Adler <darin (a] apple.com> 25246 25247 Rolled out that last change until I can investigate the regression test failures it seems 25248 to have caused. 25249 25250 * dom/PositionIterator.cpp: 25251 (WebCore::PositionIterator::decrement): 25252 * dom/PositionIterator.h: 25253 (WebCore::PositionIterator::PositionIterator): 25254 25255 2009-03-31 Darin Adler <darin (a] apple.com> 25256 25257 Reviewed by Eric Seidel. 25258 25259 Bug 24621: PositionIterator doesn't iterate "after last child" positions when going backwards 25260 https://bugs.webkit.org/show_bug.cgi?id=24621 25261 25262 * dom/PositionIterator.cpp: 25263 (WebCore::PositionIterator::decrement): Make sure that when the parent has no children, we 25264 don't ever use Position::uncheckedPreviousOffset. This is consistent with the forward 25265 iterator, but also should never arise because of the fix below. 25266 * dom/PositionIterator.h: 25267 (WebCore::PositionIterator::PositionIterator): Fixed so m_offset will always be 0 when 25268 the passed-in node has no children. Like the change above, this is consistent with the rest 25269 of the class, although in the long run I think it's a bit strange to treat a <p> element 25270 with no children differently than a <p> element with children. 25271 25272 2009-03-31 Eric Carlson <eric.carlson (a] apple.com> 25273 25274 Reviewed by Simon Fraser. 25275 25276 https://bugs.webkit.org/show_bug.cgi?id=24965 25277 Bug 24965: HTMLMediaElement: network state changes can be missed 25278 25279 * html/HTMLMediaElement.cpp: 25280 (WebCore::HTMLMediaElement::setNetworkState): Always update m_networkState when the 25281 state changes, even when no event needs to be fired. 25282 25283 2009-03-31 Eric Carlson <eric.carlson (a] apple.com> 25284 25285 Reviewed by Darin Adler. 25286 25287 https://bugs.webkit.org/show_bug.cgi?id=24964 25288 Bug 24964: HTMLMediaElement: 'waiting' event may fire twice 25289 25290 * html/HTMLMediaElement.cpp: 25291 (WebCore::HTMLMediaElement::setReadyState): Only fire 'waiting' event once when ready state 25292 drops below HAVE_FUTURE_DATA. 25293 25294 2009-03-31 Eric Carlson <eric.carlson (a] apple.com> 25295 25296 Reviewed by Darin Adler. 25297 25298 https://bugs.webkit.org/show_bug.cgi?id=24846 25299 Bug 24846: HTMLMediaElement should implement 'autobuffer' attribute 25300 25301 Add 'autobuffer' attrubute to media element. 'autobuffer' is a hint that 25302 the author recommends downloading the entire resource optimistically, so the 25303 attribute is made available to the media engine to use if it is able. 25304 25305 Test: media/video-dom-autobuffer.html 25306 25307 * html/HTMLAttributeNames.in: Add autobuffer. 25308 25309 * html/HTMLMediaElement.cpp: 25310 (WebCore::HTMLMediaElement::parseMappedAttribute): New. 25311 (WebCore::HTMLMediaElement::autobuffer): Ditto. 25312 (WebCore::HTMLMediaElement::setAutobuffer): Ditto. 25313 25314 * html/HTMLMediaElement.h: Declare autobuffer and setAutobuffer. 25315 25316 * html/HTMLMediaElement.idl: Add autobuffer. 25317 25318 * platform/graphics/MediaPlayer.cpp: 25319 (WebCore::MediaPlayer::MediaPlayer): Initialize m_autobuffer. 25320 (WebCore::MediaPlayer::autobuffer): New. 25321 (WebCore::MediaPlayer::setAutobuffer): Ditto. 25322 * platform/graphics/MediaPlayer.h: Declare m_autobuffer, autobuffer and setAutobuffer 25323 25324 * platform/graphics/MediaPlayerPrivate.h: 25325 (WebCore::MediaPlayerPrivateInterface::setAutobuffer): Declare setAutobuffer. 25326 25327 2009-03-31 Craig Schlenter <craig.schlenter (a] gmail.com> 25328 25329 Reviewed by Dimitri Glazkov. 25330 25331 https://bugs.webkit.org/show_bug.cgi?id=24550 25332 Check return value of vasprintf. This should keep gcc 4.3.3 25333 happy rather than have it complain about attribute warn_unused_result. 25334 25335 * dom/XMLTokenizerLibxml2.cpp: 25336 (WebCore::XMLTokenizer::error): 25337 25338 2009-03-31 Dean Jackson <dino (a] apple.com> 25339 25340 Style guide violation! 25341 25342 * loader/MediaDocument.cpp: 25343 (WebCore::MediaDocument::defaultEventHandler): 25344 25345 2009-03-31 Dean Jackson <dino (a] apple.com> 25346 25347 Fix Tiger build. 25348 25349 * loader/MediaDocument.cpp: 25350 (WebCore::MediaDocument::defaultEventHandler): 25351 25352 2009-03-31 Jian Li <jianli (a] chromium.org> 25353 25354 Reviewed by Darin Fisher. 25355 25356 Upstream V8DOMMap for v8 bindings. 25357 https://bugs.webkit.org/show_bug.cgi?id=24951 25358 25359 * bindings/v8/V8DOMMap.cpp: Added. 25360 * bindings/v8/V8DOMMap.h: Added. 25361 25362 2009-03-31 Dean Jackson <dino (a] apple.com> 25363 25364 Reviewed by Simon Fraser. 25365 25366 https://bugs.webkit.org/show_bug.cgi?id=24955 25367 25368 Spacebar didn't play/pause in standalone MediaDocument 25369 25370 * loader/MediaDocument.cpp: 25371 (WebCore::MediaDocument::defaultEventHandler): 25372 25373 2009-03-31 Alpha Lam <hclam (a] chromium.org> 25374 25375 Reviewed by Eric Seidel. 25376 25377 https://bugs.webkit.org/show_bug.cgi?id=24901 25378 Added the following methods to MediaPlayerPrivate for Chromium port. 25379 void sizeChanged(); 25380 void rateChanged(); 25381 void durationChanged(); 25382 25383 The above changes are to reflect changes in MediaPlayer.cpp. 25384 More details can be found in the original changeset. 25385 http://trac.webkit.org/changeset/41907 25386 25387 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: 25388 25389 2009-03-31 Rafael Weinstein <rafaelw (a] chromium.org> 25390 25391 Reviewed by Eric Seidel. 25392 25393 https://bugs.webkit.org/show_bug.cgi?id=24947 25394 25395 Special-case drawing text-shadow on win32, to let GDI draw in cases 25396 when both fill & shadow color are opaque and the shadow has no blur. 25397 25398 * platform/graphics/chromium/FontChromiumWin.cpp: 25399 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): 25400 (WebCore::Font::drawComplexText): 25401 * platform/graphics/skia/SkiaFontWin.cpp: 25402 (WebCore::windowsCanHandleDrawTextShadow): 25403 (WebCore::windowsCanHandleTextDrawing): 25404 * platform/graphics/skia/SkiaFontWin.h: 25405 25406 2009-03-31 Jeremy Moskovich <jeremy (a] chromium.org> 25407 25408 Reviewed by Darin Fisher. 25409 25410 r42055 removed some functions in FrameLoader used by Chrome, 25411 this CL backs out some of those changes to unbreak the Chrome build. 25412 25413 https://bugs.webkit.org/show_bug.cgi?id=24949 25414 25415 * WebCore.base.exp: 25416 * loader/FrameLoader.cpp: 25417 * loader/FrameLoader.h: 25418 25419 2009-03-31 Jeremy Moskovich <jeremy (a] chromium.org> 25420 25421 Reviewed by Darin Adler. 25422 25423 Build fixes for Chromium. 25424 25425 https://bugs.webkit.org/show_bug.cgi?id=24945 25426 25427 * dom/Document.h: 25428 * platform/chromium/ClipboardChromium.cpp: 25429 (WebCore::imageToMarkup): 25430 25431 2009-03-31 Simon Hausmann <simon.hausmann (a] nokia.com> 25432 25433 Fix the Qt build. 25434 25435 * dom/XMLTokenizerQt.cpp: 25436 (WebCore::XMLTokenizer::XMLTokenizer): Use NamedNodeMap instead of NamedAttrMap. 25437 25438 2009-03-30 Steve Falkenburg <sfalken (a] apple.com> 25439 25440 Don't create CFDataRef with a fixed size. 25441 Fixes synchronous XMLHTTPRequests on Windows. 25442 25443 Reviewed by Ada Chan. 25444 25445 * platform/network/cf/ResourceHandleCFNet.cpp: 25446 (WebCore::WebCoreSynchronousLoader::didReceiveData): 25447 25448 2009-03-30 Darin Adler <darin (a] apple.com> 25449 25450 Reviewed by Sam Weinig. 25451 25452 Bug 24594: PolicyDelegate NavigationAction is WebNavigationTypeOther instead of WebNavigationTypeReload 25453 https://bugs.webkit.org/show_bug.cgi?id=24594 25454 rdar://problem/6682110 25455 25456 Test: fast/loader/reload-policy-delegate.html 25457 25458 * loader/FrameLoader.cpp: 25459 (WebCore::FrameLoader::loadWithDocumentLoader): Set the triggering action here where we know it's 25460 the policy loader and can use m_policyLoadType rather than letting it get set inside 25461 checkNavigationPolicy. 25462 25463 2009-03-30 Timothy Hatcher <timothy (a] apple.com> 25464 25465 <rdar://problem/5838871> CrashTracer: 1483 crashes Quicklooking 25466 in Finder (painting without up to date layout) 25467 25468 Reviewed by Dan Bernstein. 25469 25470 * page/FrameView.cpp: 25471 (WebCore::FrameView::paintContents): Add an early return when 25472 painting is attempted when layout is needed. 25473 25474 2009-03-30 Greg Bolsinga <bolsinga (a] apple.com> 25475 25476 Reviewed by Simon Fraser. 25477 25478 https://bugs.webkit.org/show_bug.cgi?id=24938 25479 25480 Sort alphabetically. 25481 25482 * css/CSSComputedStyleDeclaration.cpp: 25483 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 25484 25485 2009-03-30 Greg Bolsinga <bolsinga (a] apple.com> 25486 25487 Reviewed by Simon Fraser. 25488 25489 https://bugs.webkit.org/show_bug.cgi?id=24938 25490 25491 Build fixes for building --3d-rendering and --no-svg 25492 25493 * rendering/RenderLayerBacking.cpp: 25494 25495 2009-03-30 Greg Bolsinga <bolsinga (a] apple.com> 25496 25497 Reviewed by Simon Fraser. 25498 25499 https://bugs.webkit.org/show_bug.cgi?id=24938 25500 25501 Build fixes when building --no-svg 25502 25503 * css/CSSComputedStyleDeclaration.cpp: 25504 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add missing CSS properties 25505 * css/CSSCursorImageValue.cpp: 25506 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Handle unused param 25507 * css/CSSParser.cpp: 25508 (WebCore::CSSParser::parseValue): Add missing CSS properties 25509 * css/CSSStyleSelector.cpp: 25510 (WebCore::CSSStyleSelector::applyProperty): Add missing CSS properties 25511 * dom/Node.cpp: 25512 (WebCore::updateSVGElementInstancesAfterEventListenerChange): Handle unused param 25513 * platform/graphics/Font.cpp: 25514 (WebCore::Font::floatWidth): Handle unused param 25515 * platform/graphics/SimpleFontData.cpp: 25516 (WebCore::SimpleFontData::SimpleFontData): Handle unused param 25517 25518 2009-03-30 Darin Adler <darin (a] apple.com> 25519 25520 Reviewed by Adam Roben. 25521 25522 Bug 24916: REGRESSION: NavigationAction policy dispatch broken 25523 https://bugs.webkit.org/show_bug.cgi?id=24916 25524 25525 * loader/FrameLoader.cpp: 25526 (WebCore::FrameLoader::loadURL): Rearrange the code so that the "event" PassRefPtr 25527 is not used twice. This also optimizes the case where a frame name is specified, 25528 but it's the name of the frame being loaded. Also called release in all the final 25529 uses of FormState. 25530 25531 2009-03-30 Darin Adler <darin (a] apple.com> 25532 25533 Reviewed by Adam Roben. 25534 25535 Bug 24937: NamedNodeMap and NamedAttrMap should not be separate classes 25536 https://bugs.webkit.org/show_bug.cgi?id=24937 25537 25538 Also should fix the Windows COM bindings build. 25539 25540 * bindings/scripts/CodeGeneratorJS.pm: Removed special case for NamedNodeMap. 25541 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 25542 25543 * dom/NamedAttrMap.h: Renamed class from NamedAttrMap to 25544 NamedNodeMap and removed NamedNodeMap base class. Made the NamedNodeMap 25545 functions all public and non-virtual. Removed virtualLength. 25546 25547 * dom/NamedNodeMap.h: Replaced file with just an include 25548 of NamedAttrMap.h. As a follow up we will rename the NamedAttrMap 25549 files and remove this file. 25550 25551 * bindings/js/JSNamedNodesCollection.cpp: Renamed from NamedAttrMap to NamedNodeMap. 25552 * dom/Attr.h: Ditto. 25553 * dom/Attribute.h: Ditto. 25554 * dom/Document.cpp: 25555 (WebCore::Document::importNode): Ditto. 25556 * dom/Element.cpp: 25557 (WebCore::Element::attributes): Ditto. 25558 (WebCore::Element::setAttributeMap): Ditto. 25559 (WebCore::Element::createAttributeMap): Ditto. 25560 (WebCore::Element::insertedIntoDocument): Ditto. 25561 (WebCore::Element::removedFromDocument): Ditto. 25562 (WebCore::Element::openTagStartToString): Ditto. 25563 (WebCore::Element::removeAttributeNode): Ditto. 25564 (WebCore::Element::getAttributeNode): Ditto. 25565 (WebCore::Element::getAttributeNodeNS): Ditto. 25566 (WebCore::Element::hasAttribute): Ditto. 25567 (WebCore::Element::hasAttributeNS): Ditto. 25568 (WebCore::Element::normalizeAttributes): Ditto. 25569 * dom/Element.h: Ditto. 25570 * dom/NamedAttrMap.cpp: 25571 (WebCore::NamedNodeMap::detachAttributesFromElement): Ditto. 25572 (WebCore::NamedNodeMap::~NamedNodeMap): Ditto. 25573 (WebCore::NamedNodeMap::isMappedAttributeMap): Ditto. 25574 (WebCore::NamedNodeMap::getNamedItem): Ditto. 25575 (WebCore::NamedNodeMap::getNamedItemNS): Ditto. 25576 (WebCore::NamedNodeMap::removeNamedItem): Ditto. 25577 (WebCore::NamedNodeMap::removeNamedItemNS): Ditto. 25578 (WebCore::NamedNodeMap::setNamedItem): Ditto. 25579 (WebCore::NamedNodeMap::item): Ditto. 25580 (WebCore::NamedNodeMap::getAttributeItem): Ditto. 25581 (WebCore::NamedNodeMap::clearAttributes): Ditto. 25582 (WebCore::NamedNodeMap::detachFromElement): Ditto. 25583 (WebCore::NamedNodeMap::setAttributes): Ditto. 25584 (WebCore::NamedNodeMap::addAttribute): Ditto. 25585 (WebCore::NamedNodeMap::removeAttribute): Ditto. 25586 (WebCore::NamedNodeMap::mapsEquivalent): Ditto. 25587 * dom/NamedMappedAttrMap.cpp: 25588 (WebCore::NamedMappedAttrMap::clearAttributes): Ditto. 25589 * dom/NamedMappedAttrMap.h: 25590 (WebCore::NamedMappedAttrMap::NamedMappedAttrMap): Ditto. 25591 * dom/Node.cpp: 25592 (WebCore::Node::dumpStatistics): Ditto. 25593 (WebCore::Node::isEqualNode): Ditto. 25594 (WebCore::Node::isDefaultNamespace): Ditto. 25595 (WebCore::Node::lookupNamespaceURI): Ditto. 25596 (WebCore::Node::lookupNamespacePrefix): Ditto. 25597 (WebCore::Node::compareDocumentPosition): Ditto. 25598 * dom/Node.h: Ditto. 25599 * dom/XMLTokenizerLibxml2.cpp: 25600 (WebCore::XMLTokenizer::XMLTokenizer): Ditto. 25601 * editing/ApplyStyleCommand.cpp: 25602 (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan): Ditto. 25603 (WebCore::isEmptyFontTag): Ditto. 25604 (WebCore::areIdenticalElements): Ditto. 25605 * editing/markup.cpp: 25606 (WebCore::appendStartMarkup): Ditto. 25607 (WebCore::completeURLs): Ditto. 25608 * html/HTMLParser.cpp: 25609 (WebCore::HTMLParser::handleError): Ditto. 25610 * rendering/RenderPartObject.cpp: 25611 (WebCore::RenderPartObject::updateWidget): Ditto. 25612 * svg/SVGAnimatedProperty.h: 25613 (WebCore::synchronizeProperty): Ditto. 25614 * xml/XPathFunctions.cpp: 25615 (WebCore::XPath::FunLang::evaluate): Ditto. 25616 * xml/XPathStep.cpp: 25617 (WebCore::XPath::Step::nodesInAxis): Ditto. 25618 25619 2009-03-30 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 25620 25621 Reviewed by Holger Freyther. 25622 25623 https://bugs.webkit.org/show_bug.cgi?id=24750 25624 [GTK] requests download instead of displaying page 25625 25626 Use soup facilities to append parameters to the content type, to 25627 make that more robust; 25628 25629 * platform/network/soup/ResourceHandleSoup.cpp: 25630 (WebCore::fillResponseFromMessage): 25631 25632 2009-03-30 David Kilzer <ddkilzer (a] apple.com> 25633 25634 <rdar://problem/6735683> Move SECTORDER_FLAGS from Xcode project to WebCore.xcconfig 25635 25636 Reviewed by Timothy Hatcher, Mark Rowe and Darin Adler. 25637 25638 * Configurations/Base.xcconfig: Moved Production definition of 25639 SECTORDER_FLAGS to here from Xcode project file. 25640 * Configurations/DebugRelease.xcconfig: Override SECTORDER_FLAGS 25641 in Base.xcconfig to the empty string since it is not used for 25642 Debug and Release configurations. 25643 * WebCore.xcodeproj/project.pbxproj: Removed SECTORDER_FLAGS. 25644 25645 2009-03-30 Adam Roben <aroben (a] apple.com> 25646 25647 Windows build fix after recent Node.idl changes 25648 25649 * bindings/scripts/CodeGeneratorCOM.pm: Touched this to force sources 25650 of classes that derive from Node to rebuild. 25651 25652 2009-03-30 Adam Roben <aroben (a] apple.com> 25653 25654 Windows build fix 25655 25656 * svg/graphics/SVGImage.cpp: Added a missing #include. 25657 25658 2009-03-30 Mads Ager <ager (a] chromium.org> 25659 25660 Reviewed by Darin Adler. 25661 25662 https://bugs.webkit.org/show_bug.cgi?id=24879 25663 Add frame accessor to Screen, Console, and BarInfo objects. Add type 25664 accessor to BarInfo objects. 25665 25666 In the V8 JavaScript bindings, we need access to the frame and 25667 type for already created Screen, Console, and BarInfo objects in 25668 order to keep their wrappers alive across GCs. 25669 25670 * page/BarInfo.cpp: 25671 (WebCore::BarInfo::frame): Added. 25672 (WebCore::BarInfo::type): Added. 25673 * page/BarInfo.h: 25674 * page/Console.cpp: 25675 (WebCore::Console::frame): Added. 25676 * page/Console.h: 25677 * page/Screen.cpp: 25678 (WebCore::Screen::frame): Added. 25679 * page/Screen.h: 25680 25681 2009-03-29 Darin Adler <darin (a] apple.com> 25682 25683 Requested by Antti Koivisto. 25684 25685 * loader/DocumentLoader.cpp: 25686 (WebCore::DocumentLoader::subresource): Tweaked code to be a little clearer and added 25687 a better comment. 25688 25689 2009-03-29 Darin Adler <darin (a] apple.com> 25690 25691 Reviewed by Dan Bernstein. 25692 25693 Bug 23445: Copying certain hidden text causes a crash 25694 https://bugs.webkit.org/show_bug.cgi?id=23445 25695 rdar://problem/6512520 25696 25697 Test: editing/pasteboard/copy-display-none.html 25698 25699 * editing/markup.cpp: 25700 (WebCore::createMarkup): Added a check for the case where adjusting the start node moves 25701 the start of the selection past the end of the range entirely. If we try to iterate we'll 25702 never hit the end of the range and will probably crash iterating the rest of the document. 25703 25704 2009-03-29 Darin Adler <darin (a] apple.com> 25705 25706 Reviewed by Dan Bernstein. 25707 25708 Bug 24672: ASSERTION FAILURE: !m_purgeableData in WebCore::CachedResource::data() saving a WebArchive 25709 https://bugs.webkit.org/show_bug.cgi?id=24672 25710 rdar://problem/6574263 25711 25712 I couldn't create a test case for this. In fact, the case in the bug doesn't exist any more, 25713 but there is an Apple-internal website I was able to use to reproduce and fix. 25714 25715 * loader/CachedResource.h: Made makePurgeable public. 25716 * loader/DocumentLoader.cpp: 25717 (WebCore::DocumentLoader::subresource): Call makePurgeable to make the resource non-purgeable 25718 so we can get its data if it hasn't yet been purged. 25719 25720 2009-03-29 Darin Adler <darin (a] apple.com> 25721 25722 Fix build again. 25723 25724 * loader/EmptyClients.h: Fix typo in name of FormState.h. 25725 25726 2009-03-29 Darin Adler <darin (a] apple.com> 25727 25728 Try to fix the release build. 25729 25730 * history/CachedPage.cpp: Make include unconditional, not debug-only. 25731 25732 2009-03-29 Greg Bolsinga <bolsinga (a] apple.com> 25733 25734 Undo that last build fix, since it turned out the file wasn't deleted. 25735 25736 * WebCore.xcodeproj/project.pbxproj: 25737 25738 2009-03-29 Greg Bolsinga <bolsinga (a] apple.com> 25739 25740 Fix build break by removing references to deleted header files. 25741 25742 * WebCore.xcodeproj/project.pbxproj: 25743 25744 2009-03-29 Darin Adler <darin (a] apple.com> 25745 25746 Try to fix the Windows build. 25747 25748 * loader/EmptyClients.h: Added include of FormState.h. 25749 * loader/MainResourceLoader.cpp: Ditto. 25750 25751 2009-03-29 Dmitry Titov <dimich (a] chromium.org> 25752 25753 Reviewed by Darin Adler. 25754 25755 https://bugs.webkit.org/show_bug.cgi?id=24926 25756 Fix Chromium build break. 25757 25758 * bindings/v8/custom/V8DOMWindowCustom.cpp: 25759 (WebCore::CALLBACK_FUNC_DECL(DOMWindowShowModalDialog)): renamed 'features' into 'windowFeatures'. 25760 25761 2009-03-29 Darin Adler <darin (a] apple.com> 25762 25763 Another attempt to fix the Qt build. 25764 25765 * WebCore.pro: Added CheckedRadioButtons.cpp. 25766 25767 2009-03-29 Darin Adler <darin (a] apple.com> 25768 25769 Reviewed by Cameron Zwarich. 25770 25771 Bug 24921: remove include of HTMLFormElement.h from Document.h 25772 https://bugs.webkit.org/show_bug.cgi?id=24921 25773 25774 * GNUmakefile.am: Added CheckedRadioButtons source files. 25775 * WebCore.scons: Ditto. 25776 * WebCore.vcproj/WebCore.vcproj: Ditto. 25777 * WebCore.xcodeproj/project.pbxproj: Ditto. 25778 * WebCoreSources.bkl: Ditto. 25779 25780 * bindings/objc/PublicDOMInterfaces.h: Changed type of parentElement to Element. 25781 25782 * dom/CheckedRadioButtons.cpp: Copied from WebCore/html/HTMLFormElement.cpp. 25783 Removed all the code except for CheckedRadioButtons, and moved that out to be 25784 a namespace-level class instead of a member of HTMLFormElement. 25785 25786 * dom/CheckedRadioButtons.h: Copied from WebCore/html/HTMLFormElement.h. 25787 Removed all the code except for CheckedRadioButtons, and moved that out to be 25788 a namespace-level class instead of a member of HTMLFormElement. 25789 25790 * dom/Document.h: Removed unneeded includes, including HTMLFormElement.h. 25791 Added include of CheckedRadioButtons.h. Changed uses of CheckedRadioButtons 25792 class to use a namespace-level class instead of a member of HTMLFormElement. 25793 25794 * dom/Node.idl: Changed the type of parentElement from Node to Element for 25795 two reasons. 1) Node was incorrect, since parentElement returns an Element. 25796 2) The bindings won't compile any more unless they know parentElement's 25797 return value is an Element due to include changes. 25798 25799 * html/HTMLFormElement.cpp: Moved definitions of the functions in the 25800 CheckedRadioButtons class to the new CheckedRadioButtons.cpp. 25801 25802 * html/HTMLFormElement.h: Moved definition of the CheckedRadioButtons 25803 class to the new CheckedRadioButtons.h. 25804 25805 * html/HTMLInputElement.cpp: 25806 (WebCore::checkedRadioButtons): Changed use of CheckedRadioButtons 25807 class to use a namespace-level class instead of a member of HTMLFormElement. 25808 25809 * page/Chrome.cpp: 25810 (WebCore::Chrome::createWindow): Tweaked formatting. 25811 25812 * css/CSSGrammar.y: Added newly-needed include. 25813 * dom/Range.cpp: Ditto. 25814 * editing/BreakBlockquoteCommand.cpp: Ditto. 25815 * editing/CompositeEditCommand.cpp: Ditto. 25816 * editing/InsertLineBreakCommand.cpp: Ditto. 25817 * editing/ModifySelectionListLevel.cpp: Ditto. 25818 * editing/RemoveFormatCommand.cpp: Ditto. 25819 * editing/TextIterator.cpp: Ditto. 25820 * editing/VisiblePosition.cpp: Ditto. 25821 * loader/DocLoader.cpp: Ditto. 25822 * page/AccessibilityRenderObject.cpp: Ditto. 25823 * page/Page.cpp: Ditto. 25824 * rendering/RenderBlock.cpp: Ditto. 25825 * rendering/RenderLayer.cpp: Ditto. 25826 * rendering/RenderObject.h: Ditto. 25827 * storage/LocalStorageArea.cpp: Ditto. 25828 * storage/SessionStorageArea.cpp: Ditto. 25829 25830 2009-03-29 Darin Adler <darin (a] apple.com> 25831 25832 Reviewed by Dan Bernstein. 25833 25834 <rdar://problem/6015407> attr parsing should allow only identifiers 25835 25836 Test: fast/css/attr-parsing.html 25837 25838 * css/CSSParser.cpp: 25839 (WebCore::CSSParser::parseContent): Allow only CSS_IDENT, and filter out 25840 identifiers that start with "-". 25841 * css/CSSPrimitiveValue.cpp: 25842 (WebCore::CSSPrimitiveValue::cssText): Added a case for CSS_ATTR so the test 25843 case works. This has the pleasant side effect of fixing a bug too. 25844 25845 2009-03-29 Alexey Proskuryakov <ap (a] webkit.org> 25846 25847 <rdar://problem/6492712> Cross-origin redirects are not handled correctly. 25848 25849 Forgot to save the file after applying changes for review comments. 25850 25851 * platform/network/cf/ResourceHandleCFNet.cpp: 25852 (WebCore::willSendRequest): 25853 (WebCore::didReceiveResponse): 25854 (WebCore::didReceiveData): 25855 (WebCore::didSendBodyData): 25856 (WebCore::didFinishLoading): 25857 (WebCore::didFail): 25858 (WebCore::willCacheResponse): 25859 (WebCore::didReceiveChallenge): 25860 (WebCore::WebCoreSynchronousLoader::willSendRequest): 25861 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 25862 (WebCore::WebCoreSynchronousLoader::didReceiveData): 25863 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 25864 (WebCore::WebCoreSynchronousLoader::didFail): 25865 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): 25866 25867 2009-03-28 Alexey Proskuryakov <ap (a] webkit.org> 25868 25869 Reviewed by Darin Adler. 25870 25871 <rdar://problem/6492712> Cross-origin redirects are not handled correctly. 25872 25873 Test: http/tests/xmlhttprequest/redirect-cross-origin-tripmine.html 25874 25875 * platform/network/cf/ResourceHandleCFNet.cpp: 25876 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 25877 (WebCore::ResourceHandle::loadResourceSynchronously): 25878 (WebCore::WebCoreSynchronousLoader::willSendRequest): 25879 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 25880 (WebCore::WebCoreSynchronousLoader::didReceiveData): 25881 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 25882 (WebCore::WebCoreSynchronousLoader::didFail): 25883 (WebCore::WebCoreSynchronousLoader::didReceiveChallenge): 25884 (WebCore::WebCoreSynchronousLoader::load): 25885 Match Mac behavior more closely - we shouldn't rely on underlying library handling of 25886 synchronous requests. 25887 25888 * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::willSendRequest): 25889 -[NSURLConnection cancel] doesn't fully cancel the connection if called from willSendRequest 25890 delegate method for a redirect. 25891 25892 * platform/network/mac/ResourceHandleMac.mm: 25893 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): 25894 Match async behavior more closely. 25895 25896 2009-03-28 Darin Adler <darin (a] apple.com> 25897 25898 Reviewed by Mark Rowe. 25899 25900 Bug 24914: empty-string assertion crash when running storage tests 25901 https://bugs.webkit.org/show_bug.cgi?id=24914 25902 25903 * storage/Database.cpp: 25904 (WebCore::Database::performOpenAndVerify): Don't store empty version strings 25905 in the map, since empty strings are per-thread. 25906 25907 2009-03-28 Dmitry Titov <dimich (a] chromium.org> 25908 25909 Reviewed by Dimitri Glazkov. 25910 25911 https://bugs.webkit.org/show_bug.cgi?id=24910 25912 Fixes for Chromium build. 25913 25914 * bindings/v8/V8LazyEventListener.h: renamed IsInline() into virtualIsInline() 25915 * bindings/v8/custom/V8CustomEventListener.h: ditto. 25916 * dom/EventListener.h: used #if USE(JSC) to fix the build on non-JSC platform. 25917 25918 2009-03-28 Dimitri Glazkov <dglazkov (a] chromium.org> 25919 25920 Not reviewed, correcting landing error. 25921 25922 https://bugs.webkit.org/show_bug.cgi?id=24812 25923 Custom bindings should be in v8/custom, not v8. 25924 25925 * bindings/v8/V8HTMLDocumentCustom.cpp: Removed. 25926 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Moved from parent dir. 25927 25928 2009-03-28 Mike Belshe <mike (a] belshe.com> 25929 25930 Reviewed by Dimitri Glazkov. 25931 25932 https://bugs.webkit.org/show_bug.cgi?id=24616 25933 Add V8 custom bindings for DOMWindow. 25934 25935 * bindings/v8/custom/V8DOMWindowCustom.cpp: Added. 25936 25937 2009-03-28 Mike Belshe <mike (a] belshe.com> 25938 25939 Reviewed by Dimitri Glazkov. 25940 25941 https://bugs.webkit.org/show_bug.cgi?id=24812 25942 Add V8 custom bindings for HTMLDocument. 25943 25944 * bindings/v8/V8HTMLDocumentCustom.cpp: Added. 25945 25946 2009-03-27 Mark Rowe <mrowe (a] apple.com> 25947 25948 Reviewed by Sam Weinig. 25949 25950 Fix two SVG test failures in 64-bit. 25951 25952 getSubStringLength's arguments were declared as unsigned in the IDL and as signed long in the implementation. 25953 This led to a value of -1 in JavaScript being converted to MAX_UINT in the bindings. In 32-bit this was 25954 identical to -1 when interpeted as signed long, but in 64-bit it was still equal to MAX_UINT. 25955 25956 The solution for this is to use the IsIndex attribute on arguments that the SVG spec declares as "unsigned long" 25957 but requires an exception be thrown when a negative value is passed. This results in the JS bindings handling the 25958 check for a negative value and lets the implementation treat the arguments purely as unsigned values. 25959 25960 * svg/SVGTextContentElement.cpp: 25961 (WebCore::SVGTextContentElement::getNumberOfChars): 25962 (WebCore::SVGTextContentElement::getSubStringLength): 25963 (WebCore::SVGTextContentElement::getStartPositionOfChar): 25964 (WebCore::SVGTextContentElement::getEndPositionOfChar): 25965 (WebCore::SVGTextContentElement::getExtentOfChar): 25966 (WebCore::SVGTextContentElement::getRotationOfChar): 25967 (WebCore::SVGTextContentElement::getCharNumAtPosition): 25968 (WebCore::SVGTextContentElement::selectSubString): 25969 * svg/SVGTextContentElement.h: 25970 * svg/SVGTextContentElement.idl: 25971 25972 2009-03-27 Darin Adler <darin (a] apple.com> 25973 25974 Reviewed by Sam Weinig. 25975 25976 Get mailto code out of FrameLoader. 25977 25978 * html/HTMLFormElement.cpp: 25979 (WebCore::transferMailtoPostFormDataToURL): Added. Factored out the mailto 25980 logic so HTMLFormElement::submit isn't full of ugly bits. This includes the 25981 part of the logic that involves transformeing the URL that was previously 25982 inside FrameLoader. 25983 (WebCore::HTMLFormElement::submit): Call transferMailtoPostFormDataToURL and 25984 also release the data for slightly less refcount churn. 25985 25986 * loader/FrameLoader.cpp: 25987 (WebCore::FrameLoader::submitForm): Removed all the special casing for mailto, 25988 since HTMLFormElement now properly prepares both the URL and the form data. 25989 25990 2009-03-27 Dan Bernstein <mitz (a] apple.com> 25991 25992 Reviewed by Mark Rowe. 25993 25994 - fix <rdar://problem/6724514> A bit of OpenTypeUtilities cleanup 25995 25996 * platform/graphics/chromium/FontCustomPlatformData.cpp: 25997 (WebCore::EOTStream::EOTStream): Changed to use EOTHeader. 25998 (WebCore::createFontCustomPlatformData): Ditto. 25999 * platform/graphics/opentype/OpenTypeUtilities.cpp: 26000 (WebCore::EOTHeader::EOTHeader): Added. Initializes the buffer size to 26001 the size of an EOTPrefix. 26002 (WebCore::EOTHeader::updateEOTSize): Added. Updates the size field in 26003 the prefix. 26004 (WebCore::EOTHeader::appendBigEndianString): Changed the static 26005 appendBigEndianStringToEOTHeader() into this member function. 26006 (WebCore::EOTHeader::appendPaddingShort): Added. 26007 (WebCore::getEOTHeader): Changed to use EOTHeader. 26008 * platform/graphics/opentype/OpenTypeUtilities.h: 26009 (WebCore::EOTHeader::size): 26010 (WebCore::EOTHeader::data): 26011 (WebCore::EOTHeader::prefix): 26012 * platform/graphics/win/FontCustomPlatformData.cpp: 26013 (WebCore::EOTStream::EOTStream): Changed to use EOTHeader. 26014 (WebCore::createFontCustomPlatformData): Ditto. 26015 26016 2009-03-27 Darin Adler <darin (a] apple.com> 26017 26018 Reviewed by Sam Weinig. 26019 26020 To prepare for work on a form loading fix, remove some unused functions, 26021 consolidate some functions, and make many more functions private in 26022 FrameLoader. 26023 26024 * WebCore.base.exp: Remove some unused entry points, update another. 26025 26026 * dom/Document.cpp: 26027 (WebCore::Document::detach): Clear m_frame directly instead of using 26028 clearFramePointer. 26029 * dom/Document.h: Ditto. 26030 26031 * loader/FrameLoader.cpp: 26032 (WebCore::FrameLoader::urlSelected): Consolidate the two functions 26033 of this name into a single function. Also changed the event argument 26034 to be PassRefPtr<Event>. 26035 (WebCore::FrameLoader::submitForm): Changed the event argument to 26036 be PassRefPtr<Event>. 26037 (WebCore::FrameLoader::scheduleLocationChange): Call completeURL 26038 explicitly so we can remove the version of changeLocation that does 26039 completeURL for us. 26040 (WebCore::FrameLoader::redirectionTimerFired): Ditto. 26041 (WebCore::FrameLoader::loadURLIntoChildFrame): Set m_provisionalHistoryItem 26042 directly so we don't need a setProvisionalHistoryItem function. 26043 (WebCore::FrameLoader::canCachePageContainingThisFrame): Get at 26044 m_quickRedirectComing directly so we don't need a isQuickRedirectComing 26045 function. 26046 (WebCore::FrameLoader::logCanCacheFrameDecision): Ditto. 26047 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Changed the 26048 event argument to be PassRefPtr<Event>. 26049 (WebCore::FrameLoader::loadURL): Move the logic of the continueLoadWithData 26050 function here because this is the only caller. If we want to make the 26051 resulting function smaller we should refactor some other way. Also 26052 streamlined the user-chosen encoding logic, but did not change what it does. 26053 (WebCore::FrameLoader::finishedLoadingDocument): Changed the event argument 26054 to be PassRefPtr<Event>. 26055 (WebCore::FrameLoader::loadPostRequest): Ditto. 26056 (WebCore::FrameLoader::receivedMainResourceError): Moved the logic from 26057 the didNotOpenURL function here, since this was the only caller. 26058 26059 * loader/FrameLoader.h: Removed include of FormState.h and used a forward 26060 declaration instead. Removed unneeded forward declation of Element. 26061 Moved many functions into the private section, and removed some other 26062 unused or uneeded functions. 26063 26064 2009-03-27 Xiaomei Ji <xji (a] chromium.org> 26065 26066 Reviewed by Dan Bernstein. 26067 26068 Fix https://bugs.webkit.org/show_bug.cgi?id=24303 26069 Using keyboard select RTL text, Highlights goes to opposite direction from Firefox and IE. 26070 26071 Test: editing/selection/extend-selection.html 26072 26073 * editing/SelectionController.cpp: 26074 (WebCore::SelectionController::directionOfEnclosingBlock): Added 26075 (WebCore::SelectionController::modifyExtendingRight): Added. Currenctly 26076 implemented for character and word granularity, all other granularities 26077 are treated as "forward". 26078 (WebCore::SelectionController::modifyExtendingForward): Renamed 26079 modifyExtendingRightForward() to this. 26080 (WebCore::SelectionController::modifyExtendingLeft): Added. Currenctly 26081 implemented for character and word granularity, all other granularities 26082 are treated as "backward". 26083 (WebCore::SelectionController::modifyExtendingBackward): Renamed 26084 modifyExtendingLeftBackward() to this. 26085 (WebCore::SelectionController::modify): Change to call either the 26086 left/right or backward/forward methods depending on the 'dir' argument 26087 for extends. 26088 * editing/SelectionController.h: 26089 26090 2009-03-27 John Abd-El-Malek <jam (a] google.com> 26091 26092 Reviewed by Eric Seidel. 26093 26094 https://bugs.webkit.org/show_bug.cgi?id=24836 26095 Fix navigator.plugins.refresh(false) in Chromium. 26096 26097 * plugins/chromium/PluginDataChromium.cpp: 26098 (WebCore::PluginData::refresh): 26099 26100 2009-03-27 Timothy Hatcher <timothy (a] apple.com> 26101 26102 Make scrollLeft, scrollTop, scrollWidth, and scrollHeight 26103 virtual to fix the broken layout tests from my last commit. 26104 26105 Reviewed by Mark Rowe. 26106 26107 * dom/Element.cpp: 26108 (WebCore::Element::scrollLeft): 26109 (WebCore::Element::scrollTop): 26110 (WebCore::Element::scrollWidth): 26111 (WebCore::Element::scrollHeight): 26112 * dom/Element.h: 26113 * html/HTMLBodyElement.h: 26114 26115 2009-03-27 Mark Rowe <mrowe (a] apple.com> 26116 26117 Reviewed by Sam Weinig. 26118 26119 Fix <https://bugs.webkit.org/show_bug.cgi?id=24876>. 26120 Bug 24876: fast/forms/select-max-length.html times out in debug builds due to HTMLSelectElement::setLength being O(N^2) 26121 26122 * html/HTMLSelectElement.cpp: 26123 (WebCore::HTMLSelectElement::setLength): Repeatedly calling remove to remove elements causes us to recalculate the list 26124 items after each node is removed, leading to O(N^2) behaviour. By inlining the batch removal in to setLength we can avoid 26125 this gratuitous recalcuation. 26126 26127 2009-03-27 Dirk Schulze <krit (a] webkit.org> 26128 26129 Reviewed by Eric Seidel. 26130 26131 We don't support images for GtkCursors yet. We need a placeholder to avoid crashes. 26132 I took crosshair to have a common behavior with firefox. 26133 26134 [GTK] SVG - Crash on setting the cursor icon 26135 https://bugs.webkit.org/show_bug.cgi?id=24565 26136 26137 * platform/gtk/CursorGtk.cpp: 26138 (WebCore::Cursor::Cursor): 26139 26140 2009-03-27 Timothy Hatcher <timothy (a] apple.com> 26141 26142 Remove redundant attributes and functions from IDL files that have the 26143 same attributes and functions defined in the super class. 26144 26145 Reviewed by Simon Fraser. 26146 26147 * WebCore.xcodeproj/project.pbxproj: Remove DOMHTMLBodyElementPrivate.h. 26148 * bindings/objc/PublicDOMInterfaces.h: Remove focus and blur from DOMHTMLElement. 26149 * html/HTMLBodyElement.idl: Remove scrollLeft, scrollTop, scrollWidth 26150 and scrollHeight. 26151 * html/HTMLElement.idl: Remove blur and focus. 26152 26153 2009-03-27 Adam Roben <aroben (a] apple.com> 26154 26155 Don't include substitute data URLs in global history redirect chains 26156 26157 <rdar://6690169> 26158 26159 Reviewed by Darin Adler. 26160 26161 This might be testable if: 26162 - support were added to DRT for providing substitute data on failed 26163 loads 26164 - support were added to DRT for dumping redirect chains 26165 26166 I tried doing the above and was still unable to make a test. 26167 26168 * loader/FrameLoader.cpp: 26169 (WebCore::FrameLoader::updateHistoryForStandardLoad): 26170 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedBackForwardList): 26171 Call updateGlobalHistoryRedirectLinks only if the load succeeded 26172 (i.e., there is no unreachableURL). Previous the FrameLoaderClient 26173 implementations were unconditionally calling 26174 updateGlobalHistoryRedirectLinks from within updateGlobalHistory. 26175 26176 2009-03-27 Peter Kasting <pkasting (a] google.com> 26177 26178 Reviewed by Eric Seidel. 26179 26180 https://bugs.webkit.org/show_bug.cgi?id=24861 26181 Chromium port did not render decorations for <input type="search">. 26182 This copies RenderThemeWin.*. 26183 26184 * css/themeChromiumWin.css: Removed. 26185 * rendering/RenderThemeChromiumLinux.cpp: 26186 (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet): 26187 (WebCore::RenderThemeChromiumLinux::adjustSearchFieldCancelButtonStyle): 26188 (WebCore::RenderThemeChromiumLinux::paintSearchFieldCancelButton): 26189 (WebCore::RenderThemeChromiumLinux::adjustSearchFieldDecorationStyle): 26190 (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsDecorationStyle): 26191 (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsDecoration): 26192 (WebCore::RenderThemeChromiumLinux::adjustSearchFieldResultsButtonStyle): 26193 (WebCore::RenderThemeChromiumLinux::paintSearchFieldResultsButton): 26194 * rendering/RenderThemeChromiumLinux.h: 26195 (WebCore::RenderThemeChromiumLinux::paintSearchField): 26196 * rendering/RenderThemeChromiumWin.cpp: 26197 (WebCore::): 26198 (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet): 26199 (WebCore::RenderThemeChromiumWin::adjustSearchFieldCancelButtonStyle): 26200 (WebCore::RenderThemeChromiumWin::paintSearchFieldCancelButton): 26201 (WebCore::RenderThemeChromiumWin::adjustSearchFieldDecorationStyle): 26202 (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsDecorationStyle): 26203 (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsDecoration): 26204 (WebCore::RenderThemeChromiumWin::adjustSearchFieldResultsButtonStyle): 26205 (WebCore::RenderThemeChromiumWin::paintSearchFieldResultsButton): 26206 * rendering/RenderThemeChromiumWin.h: 26207 (WebCore::RenderThemeChromiumWin::paintSearchField): 26208 26209 2009-03-27 David Hyatt <hyatt (a] apple.com> 26210 26211 Reviewed by Simon Fraser 26212 26213 If an object has a self-painting layer, don't count it as part of a block's visual overflow. 26214 This fix has only been made for block-level children. The inline-level case is still broken 26215 (and covered by an existing bug). 26216 26217 Added fast/block/positioning/negative-rel-position.html 26218 26219 * rendering/InlineFlowBox.cpp: 26220 (WebCore::InlineFlowBox::placeBoxesVertically): 26221 * rendering/RenderBlock.cpp: 26222 (WebCore::RenderBlock::layoutBlockChildren): 26223 (WebCore::RenderBlock::lowestPosition): 26224 (WebCore::RenderBlock::rightmostPosition): 26225 (WebCore::RenderBlock::leftmostPosition): 26226 26227 2009-03-27 Anders Carlsson <andersca (a] apple.com> 26228 26229 Reviewed by Darin Adler. 26230 26231 <rdar://problem/6642221> 26232 REGRESSION: With the Movie widget, movie trailer fails to load if movie had been previously viewed 26233 26234 Add a dashboard specific workaround so that we always create renderers for object elements, even if display:none is set. 26235 26236 I've filed <rdar://problem/6731022> against the Movies widget. 26237 26238 * html/HTMLObjectElement.cpp: 26239 (WebCore::HTMLObjectElement::rendererIsNeeded): 26240 26241 2009-03-25 Timothy Hatcher <timothy (a] apple.com> 26242 26243 Expose new DOM methods as public Objective-C API. 26244 26245 <rdar://problem/5837350> Expose new DOM classes and methods 26246 as public API (match the additions to the JavaScript DOM) 26247 26248 Reviewed by Mark Rowe and Darin Adler. 26249 26250 * WebCore.xcodeproj/project.pbxproj: 26251 * bindings/objc/DOMHTML.h: 26252 * bindings/objc/DOMPrivate.h: 26253 * bindings/objc/PublicDOMInterfaces.h: 26254 26255 2009-03-27 Zack Rusin <zack (a] kde.org> 26256 26257 Reviewed by Simon Hausmann. 26258 26259 https://bugs.webkit.org/show_bug.cgi?id=24280 26260 26261 Fix propagation of fill rules when rendering paths in the Qt build. 26262 26263 * platform/graphics/qt/GraphicsContextQt.cpp: 26264 (WebCore::toQtFillRule): 26265 (WebCore::GraphicsContext::fillPath): 26266 (WebCore::GraphicsContext::strokePath): 26267 26268 2009-03-27 Zack Rusin <zack (a] kde.org> 26269 26270 Reviewed by Tor Arne Vestb. 26271 26272 https://bugs.webkit.org/show_bug.cgi?id=24275 26273 26274 Fix text field theming in the Qt build with the KDE 4 Oxygen 26275 style by adjusting the size vertically and horizontally to 26276 set padding on the element equal to the width of the style painted border. 26277 26278 * platform/qt/RenderThemeQt.cpp: 26279 (WebCore::RenderThemeQt::RenderThemeQt): 26280 (WebCore::RenderThemeQt::computeSizeBasedOnStyle): 26281 (WebCore::RenderThemeQt::adjustTextFieldStyle): 26282 (WebCore::RenderThemeQt::paintTextField): 26283 * platform/qt/RenderThemeQt.h: 26284 26285 2009-03-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 26286 26287 Reviewed by Simon Hausmann. 26288 26289 https://bugs.webkit.org/show_bug.cgi?id=24852 26290 Build fix for GNU mode RVCT compilation 26291 26292 * html/PreloadScanner.cpp: 26293 26294 2009-03-27 Erik L. Bunce <elbunce (a] xendom.com> 26295 26296 Reviewed by Simon Hausmann. 26297 26298 https://bugs.webkit.org/show_bug.cgi?id=24868 26299 26300 Make text of the writing direction items more user friendly. 26301 26302 * platform/qt/Localizations.cpp: 26303 (WebCore::contextMenuItemTagLeftToRight): 26304 (WebCore::contextMenuItemTagRightToLeft): 26305 26306 2009-03-27 Erik L. Bunce <elbunce (a] xendom.com> 26307 26308 Reviewed by Simon Hausmann. 26309 26310 https://bugs.webkit.org/show_bug.cgi?id=24274 26311 26312 Fixed the Qt 4.4 Mac build with netscape plugins enabled. 26313 26314 * plugins/mac/PluginViewMac.cpp: 26315 26316 2009-03-26 Mark Rowe <mrowe (a] apple.com> 26317 26318 Try and fix the Qt build. 26319 26320 * platform/text/TextEncodingDetectorNone.cpp: 26321 (WebCore::detectTextEncoding): 26322 26323 2009-03-26 Eric Carlson <eric.carlson (a] apple.com> 26324 26325 Reviewed by Simon Fraser. 26326 26327 https://bugs.webkit.org/show_bug.cgi?id=24874 26328 24874: HTMLMediaElement: 'duration' defaults to NaN, deal with it 26329 26330 The 'duration' attribute is NaN when no media is available, so the 26331 media element should take care when comparing with duration(). 26332 26333 * html/HTMLMediaElement.cpp: 26334 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Don't compare with duration when 26335 it is NaN. 26336 (WebCore::HTMLMediaElement::endedPlayback): Ditto. 26337 26338 2009-03-26 Mark Rowe <mrowe (a] apple.com> 26339 26340 Fix the build. 26341 26342 * platform/text/TextEncodingDetectorICU.cpp: 26343 * platform/text/TextEncodingDetectorNone.cpp: 26344 26345 2009-03-26 Jungshik Shin <jshin (a] chromium.org> 26346 26347 Reviewed by Cameron Zwarich. 26348 26349 1. Fix the crash in setHintEncoding 26350 2. Fix build failures on Tiger and Qt. 26351 UnusedParam.h was not included by TextEncodingDetector{None,ICU}.cpp 26352 in the patch landed in r42023 26353 for http://bugs.webkit.org/show_bug.cgi?id=16482 26354 26355 * loader/TextResourceDecoder.h: 26356 (WebCore::TextResourceDecoder::setHintEncoding): 26357 * platform/text/TextEncodingDetectorICU.cpp: 26358 * platform/text/TextEncodingDetectorNone.cpp: 26359 26360 2009-03-26 Simon Fraser <simon.fraser (a] apple.com> 26361 26362 Build fix when ACCELERATED_COMPOSITING is turned on. 26363 26364 * rendering/RenderLayerBacking.cpp: 26365 (WebCore::RenderLayerBacking::canUseDirectCompositing): 26366 26367 2009-03-26 Eric Seidel <eric (a] webkit.org> 26368 26369 No additional review, committing previously reviewed files for build fix only. 26370 26371 Add files I missed when commiting Jungshik's patch in r42022. 26372 https://bugs.webkit.org/show_bug.cgi?id=16482 26373 26374 * icu/unicode/ucsdet.h: Added. 26375 * platform/text/TextEncodingDetector.h: Added. 26376 * platform/text/TextEncodingDetectorICU.cpp: Added. 26377 (WebCore::detectTextEncoding): 26378 * platform/text/TextEncodingDetectorNone.cpp: Added. 26379 (WebCore::detectTextEncoding): 26380 26381 2009-03-26 Jungshik Shin <jshin (a] chromium.org> 26382 26383 Reviewed by Alexey Proskuryakov. 26384 26385 Add an encoding detector 'hook' to TextResourceDecoder. 26386 - add |usesEncodingDetector| to Settings. It's off by default. 26387 - add a new encoding source type |EncodingFromParent| 26388 to distinguish cases when the encoding is inherited from 26389 the parent frame from cases when it's actually auto-detected. 26390 - add TextEncodingDetector* to platform/text. Currently, 26391 the only implementation uses ICU. Stub is added for 26392 ports that do not use ICU and a build on Tiger. Mac OS 26393 Tiger comes with ICU 3.2 that does not support encoding detector. 26394 - add ucsdet.h to icu/unicode for ports using ICU. 26395 26396 Layout tests will be added once bug 20534 is fixed and a WebPreference 26397 can be controlled in test_shell. With UsesEncodingDetector off, there 26398 is no change to test. 26399 26400 http://bugs.webkit.org/show_bug.cgi?id=16482 26401 26402 * WebCore.vcproj/WebCore.vcproj: 26403 * WebCore.xcodeproj/project.pbxproj: 26404 * WebCore/GNUmakefile.am 26405 * WebCore/WebCore.pro 26406 * WebCore/WebCore.scons 26407 * WebCore/WebCoreSources.bkl 26408 * WebCore.base.exp 26409 * icu/unicode/ucsdet.h 26410 * loader/FrameLoader.cpp: 26411 (WebCore::FrameLoader::write): turn on/off encoding detector depending on Settings and set hintEncoding of TextResourceDecoder to the parent frame encoding if necessary and the security policy allows refering to the parent frame encoding. 26412 * loader/TextResourceDecoder.cpp: 26413 (WebCore::TextResourceDecoder::TextResourceDecoder): 26414 (WebCore::TextResourceDecoder::checkForCSSCharset): add check for EncodingFromParentFrame 26415 (WebCore::TextResourceDecoder::checkForHeadCharset): ditto 26416 (WebCore::TextResourceDecoder::shouldAutoDetect): 26417 (WebCore::TextResourceDecoder::decode): call encoding detector if shouldAutoDetect returns true. 26418 (WebCore::TextResourceDecoder::flush): if encoding is not determined by now, call encoding detector if shouldAutoDetect returns true. 26419 * loader/TextResourceDecoder.h: 26420 (WebCore::TextResourceDecoder::): 26421 (WebCore::TextResourceDecoder::create): 26422 (WebCore::TextResourceDecoder::setHintEncoding): 26423 (WebCore::TextResourceDecoder::source): 26424 * page/Settings.cpp: add m_usesEncodingDetector 26425 (WebCore::Settings::Settings): 26426 (WebCore::Settings::setUsesEncodingDetector): 26427 * page/Settings.h: 26428 (WebCore::Settings::usesEncodingDetector): 26429 * platform/text/TextEncodingDetector.h: Added. 26430 * platform/text/TextEncodingDetectorICU.cpp: Added. 26431 (WebCore::detectTextEncoding): 26432 * platform/text/TextEncodingDetectorNone.cpp: Added. 26433 (WebCore::detectTextEncoding): 26434 26435 2009-03-26 Darin Adler <darin (a] apple.com> 26436 26437 Reviewed by Geoff Garen. 26438 26439 Removed code that casts EventListener down to derived classes 26440 without type checking. A crash could happen if you added event 26441 listeners with Objective-C and then manipulated the class with 26442 JavaScript. 26443 26444 * bindings/js/JSDOMApplicationCacheCustom.cpp: 26445 (WebCore::JSDOMApplicationCache::mark): Removed all the casts 26446 and used the markIfNotNull function and mark functions on 26447 EventListener instead. 26448 * bindings/js/JSMessagePortCustom.cpp: 26449 (WebCore::JSMessagePort::mark): Ditto. 26450 * bindings/js/JSWorkerContextCustom.cpp: 26451 (WebCore::JSWorkerContext::mark): Ditto. 26452 * bindings/js/JSWorkerCustom.cpp: 26453 (WebCore::JSWorker::mark): Ditto. 26454 * bindings/js/JSXMLHttpRequestCustom.cpp: 26455 (WebCore::JSXMLHttpRequest::mark): Ditto. 26456 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 26457 (WebCore::JSXMLHttpRequestUpload::mark): Ditto. 26458 26459 * bindings/js/JSEventListener.cpp: 26460 (WebCore::JSAbstractEventListener::handleEvent): Used function, 26461 the new name for what used to be called listenerObj. 26462 (WebCore::JSAbstractEventListener::virtualIsInline): Renamed since 26463 this doesn't need to be virtual for callers who have a pointer to 26464 this class, not the base class. 26465 (WebCore::JSEventListener::function): Renamed from listenerObj. 26466 (WebCore::JSProtectedEventListener::function): Ditto. 26467 26468 * bindings/js/JSEventListener.h: Removed unneeded forward class 26469 declarations. Made all virtual functions private since there's no 26470 need to call any of them on a particular derived class, only on 26471 EventListener. Explicitly declare JSEventListener::mark as virtual 26472 since it's now overriding a function in the EventListener base class. 26473 Made JSProtectedEventListener::m_globalObject protected so the 26474 JSLazyEventListener derived class can use it directly instead of using 26475 a virtual function to get the pointer. 26476 26477 * bindings/js/JSLazyEventListener.cpp: 26478 (WebCore::JSLazyEventListener::parseCode): Use m_globalObject instead 26479 of globalObject since the latter is a virtual function and there's no 26480 need to pay virtual function overhead. 26481 (WebCore::JSLazyEventListener::function): Renamed from listenerObj. 26482 26483 * bindings/js/JSLazyEventListener.h: Moved forward declaration of the 26484 Node class here from JSEventListener.h. 26485 26486 * bindings/scripts/CodeGeneratorJS.pm: Removed now-unneeded cast to 26487 JSEventListener when getting the script object from a listener. 26488 26489 * dom/EventListener.h: Added virtual function and mark functions 26490 so we can extract the JavaScript function object or mark a JavaScript 26491 event listener in a type safe manner. 26492 26493 2009-03-26 Peter Kasting <pkasting (a] google.com> 26494 26495 Reviewed by Adele Peterson. 26496 26497 https://bugs.webkit.org/show_bug.cgi?id=24859 26498 Use CSS file instead of code to adjust search field styling. 26499 26500 * css/themeWin.css: 26501 * rendering/RenderThemeWin.cpp: 26502 * rendering/RenderThemeWin.h: 26503 26504 2009-03-26 Darin Adler <darin (a] apple.com> 26505 26506 Reviewed by Geoff Garen. 26507 26508 Split JSLazyEventListener out into its own separate source file. 26509 We'll be removing JSAbstractEventListener and JSProtectedEventListener soon, 26510 so leave those in the same file with JSEventListener. 26511 26512 * GNUmakefile.am: Added JSLazyEventListener. 26513 * WebCore.pro: Ditto. 26514 * WebCore.scons: Ditto. 26515 * WebCore.vcproj/WebCore.vcproj: Ditto. 26516 * WebCore.xcodeproj/project.pbxproj: Ditto. 26517 * WebCoreSources.bkl: Ditto. 26518 26519 * bindings/js/JSEventListener.cpp: Removed the JSLazyEventListener part. 26520 Removed unneeded includes. Removed incorrect ASSERT_CLASS_FITS_IN_CELL, since 26521 JSAbstractEventListener is not derived from JSCell. 26522 26523 * bindings/js/JSEventListener.h: Removed the JSLazyEventListener part 26524 and the now-unneeded include of PlatformString.h. 26525 26526 * bindings/js/JSLazyEventListener.cpp: Copied from bindings/js/JSEventListener.cpp. 26527 Kept only the JSLazyEventListener part. 26528 (WebCore::eventParameterName): Made this have internal linkage by adding "static". 26529 Also moved the default case out of the switch statement so we will get a warning 26530 if we omit any cases in the future. 26531 26532 * bindings/js/JSLazyEventListener.h: Copied from bindings/js/JSEventListener.h. 26533 Kept only the JSLazyEventListener part. 26534 26535 * bindings/js/ScriptController.cpp: Removed unneeded includes and sorted the 26536 remanining ones. Include JSLazyEventListener.h instead of JSEventListener.h. 26537 26538 2009-03-26 Darin Adler <darin (a] apple.com> 26539 26540 Reviewed by Geoff Garen. 26541 26542 Renamed JSUnprotectedEventListener to JSEventListener. 26543 And related renames. 26544 26545 Soon Geoff will make all JavaScript event listeners use mark instead 26546 of protect, so there's no need to emphasize "unprotected". 26547 26548 * bindings/js/JSDOMApplicationCacheCustom.cpp: 26549 (WebCore::JSDOMApplicationCache::mark): 26550 (WebCore::JSDOMApplicationCache::addEventListener): 26551 (WebCore::JSDOMApplicationCache::removeEventListener): 26552 * bindings/js/JSDOMGlobalObject.cpp: 26553 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): 26554 (WebCore::JSDOMGlobalObject::findJSEventListener): 26555 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 26556 (WebCore::JSDOMGlobalObject::jsEventListeners): 26557 (WebCore::JSDOMGlobalObject::jsInlineEventListeners): 26558 * bindings/js/JSDOMGlobalObject.h: 26559 * bindings/js/JSDOMWindowBase.h: 26560 * bindings/js/JSEventListener.cpp: 26561 (WebCore::JSEventListener::JSEventListener): 26562 (WebCore::JSEventListener::~JSEventListener): 26563 (WebCore::JSEventListener::listenerObj): 26564 (WebCore::JSEventListener::globalObject): 26565 (WebCore::JSEventListener::clearGlobalObject): 26566 (WebCore::JSEventListener::mark): 26567 * bindings/js/JSEventListener.h: 26568 (WebCore::JSEventListener::create): 26569 * bindings/js/JSMessagePortCustom.cpp: 26570 (WebCore::JSMessagePort::mark): 26571 (WebCore::JSMessagePort::addEventListener): 26572 (WebCore::JSMessagePort::removeEventListener): 26573 * bindings/js/JSWorkerContextCustom.cpp: 26574 (WebCore::JSWorkerContext::mark): 26575 (WebCore::JSWorkerContext::addEventListener): 26576 (WebCore::JSWorkerContext::removeEventListener): 26577 * bindings/js/JSWorkerCustom.cpp: 26578 (WebCore::JSWorker::mark): 26579 (WebCore::JSWorker::addEventListener): 26580 (WebCore::JSWorker::removeEventListener): 26581 * bindings/js/JSXMLHttpRequestCustom.cpp: 26582 (WebCore::JSXMLHttpRequest::mark): 26583 (WebCore::JSXMLHttpRequest::addEventListener): 26584 (WebCore::JSXMLHttpRequest::removeEventListener): 26585 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 26586 (WebCore::JSXMLHttpRequestUpload::mark): 26587 (WebCore::JSXMLHttpRequestUpload::addEventListener): 26588 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 26589 * bindings/scripts/CodeGeneratorJS.pm: 26590 All just renaming. 26591 26592 2009-03-26 Darin Adler <darin (a] apple.com> 26593 26594 Reviewed by Geoff Garen. 26595 26596 Renamed JSEventListener to JSProtectedEventListener. 26597 And related renames. 26598 26599 Soon Geoff will make all JavaScript event listeners use mark instead 26600 of protect, and so this class will be be obsolete. We will rename 26601 JSUnrpotectedEventListener to JSEventListener in the next check-in, 26602 since that one will remain. 26603 26604 * bindings/js/JSDOMGlobalObject.cpp: 26605 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): 26606 (WebCore::JSDOMGlobalObject::findJSProtectedEventListener): 26607 (WebCore::JSDOMGlobalObject::findOrCreateJSProtectedEventListener): 26608 (WebCore::JSDOMGlobalObject::jsProtectedEventListeners): 26609 (WebCore::JSDOMGlobalObject::jsProtectedInlineEventListeners): 26610 * bindings/js/JSDOMGlobalObject.h: 26611 * bindings/js/JSDOMWindowBase.h: 26612 * bindings/js/JSDOMWindowCustom.cpp: 26613 (WebCore::JSDOMWindow::addEventListener): 26614 (WebCore::JSDOMWindow::removeEventListener): 26615 * bindings/js/JSEventListener.cpp: 26616 (WebCore::JSProtectedEventListener::JSProtectedEventListener): 26617 (WebCore::JSProtectedEventListener::~JSProtectedEventListener): 26618 (WebCore::JSProtectedEventListener::listenerObj): 26619 (WebCore::JSProtectedEventListener::globalObject): 26620 (WebCore::JSProtectedEventListener::clearGlobalObject): 26621 (WebCore::JSLazyEventListener::JSLazyEventListener): 26622 (WebCore::JSLazyEventListener::parseCode): 26623 * bindings/js/JSEventListener.h: 26624 (WebCore::JSProtectedEventListener::create): 26625 * bindings/js/JSNodeCustom.cpp: 26626 (WebCore::JSNode::addEventListener): 26627 (WebCore::JSNode::removeEventListener): 26628 * bindings/js/JSSVGElementInstanceCustom.cpp: 26629 (WebCore::JSSVGElementInstance::addEventListener): 26630 (WebCore::JSSVGElementInstance::removeEventListener): 26631 * bindings/scripts/CodeGeneratorJS.pm: 26632 All just renaming. 26633 26634 2009-03-26 Dan Bernstein <mitz (a] apple.com> 26635 26636 Reviewed by Anders Carlsson. 26637 26638 - fix <rdar://problem/6725042> BidiResolver::createBidiRunsForLine can 26639 create runs extending beyond the end 26640 26641 No test because Safari does not use this version of 26642 createBidiRunsForLine() with the end iterator not pointing to the end 26643 of the text run. 26644 26645 * platform/text/BidiResolver.h: 26646 (WebCore::BidiResolver::appendRun): Cap the end of the run at the end 26647 of the line and set the reachedEndOfLine flag. This mirrors the logic 26648 in the specialized version of appendRun() in bidi.cpp, which is why the 26649 problem did not show up in HTML. Also avoid creating empty runs. 26650 26651 2009-03-26 Simon Fraser <simon.fraser (a] apple.com> 26652 26653 Reviewed by Dave Hyatt 26654 26655 https://bugs.webkit.org/show_bug.cgi?id=24864 26656 26657 Change the terminology from "inner content layer" to "direct compositing" 26658 for cases where we can push an image directly over to the compositing system, 26659 without having to draw it. 26660 26661 Clean up much of the code which looks at style to determine if this is possible, 26662 and fix some bugs when backgrounds change dynamically. 26663 26664 * rendering/RenderLayerBacking.cpp: 26665 (WebCore::hasBorderOutlineOrShadow): 26666 (WebCore::hasBoxDecorations): 26667 (WebCore::hasBoxDecorationsWithBackgroundImage): 26668 (WebCore::RenderLayerBacking::canBeSimpleContainerCompositingLayer): 26669 (WebCore::RenderLayerBacking::canUseDirectCompositing): 26670 (WebCore::RenderLayerBacking::detectDrawingOptimizations): 26671 (WebCore::RenderLayerBacking::rendererContentChanged): 26672 (WebCore::RenderLayerBacking::updateImageContents): 26673 * rendering/RenderLayerBacking.h: 26674 26675 2009-03-26 Simon Fraser <simon.fraser (a] apple.com> 26676 26677 Reviewed by Dave Hyatt 26678 26679 https://bugs.webkit.org/show_bug.cgi?id=23914 26680 26681 Tests: compositing/overflow/ancestor-overflow.html 26682 compositing/overflow/parent-overflow.html 26683 26684 * rendering/RenderLayer.cpp: 26685 (WebCore::RenderLayer::calculateClipRects): 26686 * rendering/RenderLayer.h: 26687 (WebCore::ClipRects::infiniteRect): 26688 New static method that returns a large rect that is used by the clipping 26689 logic. 26690 26691 * rendering/RenderLayerBacking.cpp: 26692 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 26693 Use parentClipRects(), rather than calculateRects(), to compute the overflow 26694 rect that we'll use to create a masking layer for composited clipping. 26695 26696 * rendering/RenderLayerCompositor.cpp: 26697 (WebCore::RenderLayerCompositor::clippedByAncestor): 26698 Use parentClipRects() to see whether there's a layer between us and our 26699 compositing ancestor which applies clipping. 26700 26701 (WebCore::RenderLayerCompositor::clipsCompositingDescendants): 26702 A layer which imposes clipping to its children doesn't have to be a stacking 26703 context; it might be a normal flow layer; in either case, we can rely on the 26704 hasCompositingDescendant() bit. 26705 26706 2009-03-26 Steve Falkenburg <sfalken (a] apple.com> 26707 26708 https://bugs.webkit.org/show_bug.cgi?id=24837 26709 Escape key should dismiss select menu 26710 26711 Reviewed by Adam Roben. 26712 26713 * platform/win/PopupMenuWin.cpp: 26714 (WebCore::PopupWndProc): 26715 26716 2009-03-26 Kevin Ollivier <kevino (a] theolliviers.com> 26717 26718 Reviewed by Alexey Proskuryakov. 26719 26720 Make sure the script uses LF line endings even on Windows. 26721 26722 https://bugs.webkit.org/show_bug.cgi?id=24805 26723 26724 * WebCore/make-generated-sources.sh: Change svn:eol-style to LF 26725 26726 2009-03-26 Eli Fidler <eli.fidler (a] torchmobile.com> 26727 26728 Reviewed by George Staikos. 26729 26730 Remove warnings all over the place by making operator precedence 26731 explicit in cases like x && y || z. No functional change. 26732 26733 * css/CSSFontSelector.cpp: 26734 (WebCore::CSSFontSelector::addFontFaceRule): 26735 * css/CSSParser.cpp: 26736 (WebCore::CSSParser::parseValue): 26737 (WebCore::CSSParser::parseShadow): 26738 * dom/Document.cpp: 26739 (WebCore::Document::shouldScheduleLayout): 26740 * dom/Node.cpp: 26741 (WebCore::Node::isBlockFlowOrBlockTable): 26742 * dom/Node.h: 26743 (WebCore::Node::document): 26744 * dom/Position.cpp: 26745 (WebCore::Position::next): 26746 (WebCore::Position::upstream): 26747 (WebCore::Position::downstream): 26748 (WebCore::Position::getInlineBoxAndOffset): 26749 * dom/PositionIterator.cpp: 26750 (WebCore::PositionIterator::atStart): 26751 * dom/Range.cpp: 26752 (WebCore::Range::intersectsNode): 26753 * editing/Editor.cpp: 26754 (WebCore::Editor::setBaseWritingDirection): 26755 * editing/InsertParagraphSeparatorCommand.cpp: 26756 (WebCore::InsertParagraphSeparatorCommand::doApply): 26757 * editing/ReplaceSelectionCommand.cpp: 26758 (WebCore::ReplaceSelectionCommand::doApply): 26759 * editing/TextIterator.cpp: 26760 (WebCore::TextIterator::advance): 26761 (WebCore::SimplifiedBackwardsTextIterator::advance): 26762 * editing/VisiblePosition.cpp: 26763 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 26764 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 26765 (WebCore::VisiblePosition::canonicalPosition): 26766 * editing/htmlediting.cpp: 26767 (WebCore::isMailBlockquote): 26768 (WebCore::lineBreakExistsAtPosition): 26769 * html/HTMLSelectElement.cpp: 26770 (WebCore::HTMLSelectElement::parseMappedAttribute): 26771 * loader/FTPDirectoryDocument.cpp: 26772 (WebCore::processFileDateString): 26773 * loader/ImageLoader.cpp: 26774 (WebCore::ImageLoader::updateFromElement): 26775 * loader/TextResourceDecoder.cpp: 26776 (WebCore::TextResourceDecoder::checkForHeadCharset): 26777 * page/AccessibilityObject.cpp: 26778 (WebCore::updateAXLineStartForVisiblePosition): 26779 * page/EventHandler.cpp: 26780 (WebCore::EventHandler::sendContextMenuEvent): 26781 * page/animation/AnimationBase.cpp: 26782 (WebCore::PropertyWrapperGetter::equals): 26783 (WebCore::PropertyWrapperShadow::equals): 26784 * platform/ContextMenu.cpp: 26785 (WebCore::ContextMenu::populate): 26786 * platform/ScrollView.cpp: 26787 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): 26788 * platform/text/Base64.cpp: 26789 (WebCore::base64Encode): 26790 * platform/text/BidiResolver.h: 26791 (WebCore::::raiseExplicitEmbeddingLevel): 26792 (WebCore::::createBidiRunsForLine): 26793 * rendering/InlineTextBox.cpp: 26794 (WebCore::InlineTextBox::placeEllipsisBox): 26795 * rendering/RenderBlock.cpp: 26796 (WebCore::RenderBlock::addChild): 26797 (WebCore::RenderBlock::repaintOverhangingFloats): 26798 (WebCore::RenderBlock::fillInlineSelectionGaps): 26799 (WebCore::RenderBlock::positionForPoint): 26800 (WebCore::RenderBlock::calcInlinePrefWidths): 26801 (WebCore::RenderBlock::hasLineIfEmpty): 26802 * rendering/RenderBox.cpp: 26803 (WebCore::RenderBox::imageChanged): 26804 (WebCore::RenderBox::localCaretRect): 26805 (WebCore::RenderBox::positionForPoint): 26806 (WebCore::RenderBox::shrinkToAvoidFloats): 26807 * rendering/RenderObject.h: 26808 (WebCore::objectIsRelayoutBoundary): 26809 * rendering/RenderTableCell.cpp: 26810 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 26811 * rendering/RenderText.cpp: 26812 (WebCore::RenderText::calcPrefWidths): 26813 * rendering/bidi.cpp: 26814 (WebCore::RenderBlock::determineStartPosition): 26815 (WebCore::textWidth): 26816 * rendering/style/RenderStyle.cpp: 26817 (WebCore::RenderStyle::diff): 26818 * rendering/style/StyleInheritedData.cpp: 26819 (WebCore::cursorDataEquivalent): 26820 * rendering/style/StyleRareInheritedData.cpp: 26821 (WebCore::StyleRareInheritedData::shadowDataEquivalent): 26822 * rendering/style/StyleRareNonInheritedData.cpp: 26823 (WebCore::StyleRareNonInheritedData::shadowDataEquivalent): 26824 (WebCore::StyleRareNonInheritedData::animationDataEquivalent): 26825 (WebCore::StyleRareNonInheritedData::transitionDataEquivalent): 26826 26827 2009-03-26 Gustavo Noronha Silva <gustavo.noronha (a] collabora.co.uk> 26828 26829 Reviewed by Holger Freyther. 26830 26831 https://bugs.webkit.org/show_bug.cgi?id=24804 26832 [GTK] 401 responses cause rogue content to be loaded 26833 26834 Our soup code handles 401 responses itself, so we should not feed 26835 the headers and data of those responses to the loader. 26836 26837 * platform/network/soup/ResourceHandleSoup.cpp: 26838 (WebCore::gotHeadersCallback): 26839 (WebCore::gotChunkCallback): 26840 26841 2009-03-25 Geoffrey Garen <ggaren (a] apple.com> 26842 26843 Reviewed by Oliver Hunt and Darin Adler. 26844 26845 Fixed <rdar://problem/6603167> Crash in WebKit!JSC::JSGlobalObject::resetPrototype 26846 during Stress test (#3 & #7 WER crashes for Safari 4 Beta) 26847 26848 The problem was that allocation of the global object would, for just a 26849 moment, leave the global object's prototype unprotected from GC. This 26850 bug doesn't apply to non-global DOM objects because their prototypes are 26851 cached and marked by the global object. 26852 26853 No test case because the crashing condition is hard to deterministically 26854 produce in a normal build, and in a Windows Release build with 26855 COLLECT_ON_EVERY_ALLOCATION set to 1, existing tests crash/hang. 26856 26857 * bindings/js/JSDOMWindowShell.cpp: 26858 (WebCore::JSDOMWindowShell::setWindow): 26859 * bindings/js/WorkerScriptController.cpp: 26860 (WebCore::WorkerScriptController::initScript): Protect the global object's 26861 prototype from GC during construction, since the global object does not 26862 yet point to it, and therefore won't mark it. 26863 26864 2009-03-25 Dean Jackson <dino (a] apple.com> 26865 26866 Reviewed by Simon Fraser 26867 26868 https://bugs.webkit.org/show_bug.cgi?id=23361 26869 26870 When using hardware compositing, some images can be directly 26871 rendered by the hardware - no need to draw them into a separate 26872 context, therefore saving memory. 26873 Only images with certain style properties can be directly 26874 composited - basically anything that is not a simple image requires 26875 the usual rendering path (eg. if the image has borders). 26876 26877 Test: compositing/direct-image-compositing.html 26878 26879 * manual-tests/resources/simple_image.png: Added. 26880 * manual-tests/simple-image-compositing.html: Added. 26881 * platform/graphics/Image.h: 26882 (WebCore::Image::startAnimation): 26883 - move this to public 26884 * rendering/RenderImage.cpp: 26885 (WebCore::RenderImage::imageChanged): 26886 - poke compositing layer if image has changed 26887 (WebCore::RenderImage::notifyFinished): 26888 - let the compositing layer know that it can render the image 26889 * rendering/RenderImage.h: 26890 * rendering/RenderLayer.cpp: 26891 (WebCore::RenderLayer::rendererContentChanged): 26892 * rendering/RenderLayer.h: 26893 * rendering/RenderLayerBacking.cpp: 26894 (WebCore::RenderLayerBacking::canUseInnerContentLayer): 26895 (WebCore::RenderLayerBacking::detectDrawingOptimizations): 26896 (WebCore::RenderLayerBacking::rendererContentChanged): 26897 * rendering/RenderLayerBacking.h: 26898 - code to hook up direct compositing of images where 26899 possible 26900 26901 2009-03-25 David Levin <levin (a] chromium.org> 26902 26903 Reviewed by Dimitri Glazkov. 26904 26905 Chromium build fix. Fix #include in V8NodeFilterCondition.cpp due to the 26906 rename of V8NodeFilter to V8NodeFilterCondition. 26907 26908 * bindings/v8/V8NodeFilterCondition.cpp: 26909 26910 2009-03-25 Simon Fraser <simon.fraser (a] apple.com> 26911 26912 Reviewed by Darin Adler 26913 26914 https://bugs.webkit.org/show_bug.cgi?id=24817 26915 26916 When the slider range is zero, avoid a divide by zero, which caused the 26917 thumb to be positioned off in the weeds, which broke painting. 26918 26919 Test: media/video-empty-source.html 26920 26921 * rendering/RenderSlider.cpp: 26922 (WebCore::SliderRange::proportionFromValue): 26923 (WebCore::SliderRange::valueFromProportion): 26924 (WebCore::sliderPosition): 26925 (WebCore::RenderSlider::setValueForPosition): 26926 26927 2009-03-24 Eric Seidel <eric (a] webkit.org> 26928 26929 Reviewed by Darin Adler. 26930 26931 Remove dead code and style cleanup 26932 https://bugs.webkit.org/show_bug.cgi?id=24684 26933 26934 * html/CanvasStyle.cpp: 26935 (WebCore::CanvasStyle::CanvasStyle): 26936 Coverty was annoyed that we didn't initialize all of our members. I agree, but I didn't 26937 want to paste all 8 members each time, so I just cleaned up the existing constructors and left them. 26938 * page/FocusController.cpp: 26939 (WebCore::FocusController::setFocusedNode): 26940 "node" was checked just above and is already known to be non-null 26941 * rendering/RenderLayer.cpp: 26942 (WebCore::RenderLayer::insertOnlyThisLayer): 26943 We were already using parentLayer w/o a NULL check above, so just add an explicit ASSERT and use it w/o NULL check 26944 (WebCore::RenderLayer::resize): 26945 element is already ASSERTed above, no need to null check it here 26946 * rendering/RenderTableSection.cpp: 26947 (WebCore::RenderTableSection::addCell): 26948 currentCell.cell was just assigned to the value "cell" which is known to be non-null, no need to null check again. 26949 26950 2009-03-24 Eric Seidel <eric (a] webkit.org> 26951 26952 Reviewed by Darin Adler. 26953 26954 Move ASSERT(foo) to before where foo-> is used 26955 https://bugs.webkit.org/show_bug.cgi?id=24684 26956 26957 * platform/chromium/PasteboardChromium.cpp: 26958 (WebCore::Pasteboard::writeImage): 26959 Move ASSERTs to the top of the function, code was using "node" before ASSERT(node), once I moved 26960 ASSERT(node) to the top of the function it made sense to move the rest of them there too. 26961 * rendering/SVGRenderSupport.cpp: 26962 (WebCore::prepareToRenderSVGContent): 26963 move ASSERT(object) to *before* we use "object" :) 26964 26965 2009-03-24 Eric Seidel <eric (a] webkit.org> 26966 26967 Reviewed by Simon Fraser. 26968 26969 Make TextTokenizer ASSERT that the buffer was freed 26970 https://bugs.webkit.org/show_bug.cgi?id=24684 26971 26972 * loader/TextDocument.cpp: 26973 (WebCore::TextTokenizer::TextTokenizer): 26974 (WebCore::TextTokenizer::~TextTokenizer): 26975 (WebCore::TextTokenizer::finish): 26976 Make it clear by adding a ~TextTokenizer that finish() will always be called and the memory never leaked. 26977 26978 2009-03-24 Eric Seidel <eric (a] webkit.org> 26979 26980 Reviewed by Darin Adler. 26981 26982 Fix case where lBreak.obj->isBR() when lBreak.obj was NULL 26983 https://bugs.webkit.org/show_bug.cgi?id=24684 26984 26985 I don't have a test case where we were taking the wrong path here 26986 However, adding an ASSERT(lBreak.obj) before this usage caused 26987 multiple bidi tests to fail, so lBreak.obj can be null here. 26988 26989 * rendering/bidi.cpp: 26990 (WebCore::RenderBlock::findNextLineBreak): 26991 lBreak.obj can be null, so we can't call ->isBR() on it unconditionally. 26992 26993 2009-03-24 Eric Seidel <eric (a] webkit.org> 26994 26995 Reviewed by Simon Fraser. 26996 26997 Style cleanup and dead code removal in dom, editing 26998 https://bugs.webkit.org/show_bug.cgi?id=24684 26999 27000 * dom/ContainerNode.cpp: 27001 (WebCore::ContainerNode::getUpperLeftCorner): 27002 (WebCore::ContainerNode::getLowerRightCorner): 27003 (WebCore::ContainerNode::getRect): 27004 Coverty was (rightly) confused as to what the hell "o" was being used for 27005 and whether or not it would ever be NULL. I added some ASSERTS so that people (and machines) 27006 would be less confused about the logic in getUpperLeftCorner/getLowerRightCorner 27007 * dom/Document.cpp: 27008 (WebCore::Document::recalcStyle): 27009 Remove dead code, this block already checked that change == Force 27010 * editing/ApplyStyleCommand.cpp: 27011 (WebCore::ApplyStyleCommand::removeInlineStyle): 27012 Coverty correctly identified that traversePreviousNodePostOrder can return NULL, thus 27013 prev will be null, and we don't really explicitly handle it (like we probably should) 27014 It's OK though, because we end up creating a null position object, which may not have 27015 been what we intended, but we certainly don't crash. 27016 * editing/InsertParagraphSeparatorCommand.cpp: 27017 (WebCore::InsertParagraphSeparatorCommand::doApply): 27018 Remove dead code, insertionPosition.node() is already checked to be non-null above. 27019 * editing/markup.cpp: 27020 (WebCore::appendStartMarkup): 27021 removed dead code, annotate is already known to be true at this point in the file 27022 !annotate was checked above, and break; was called. 27023 27024 2009-03-24 Eric Seidel <eric (a] webkit.org> 27025 27026 Reviewed by Simon Fraser. 27027 27028 CSS dead code removal and cleanup from Coverty errors 27029 https://bugs.webkit.org/show_bug.cgi?id=24684 27030 27031 * css/CSSStyleSelector.cpp: 27032 (WebCore::CSSStyleSelector::applyProperty): 27033 Every other place in the code we check settings() for NULL, so I made these places 27034 check too, even though we should never be resolving style against a document which has 27035 no frame (which I believe is the only time settings() can be null) 27036 * css/CSSStyleSheet.cpp: 27037 (WebCore::CSSStyleSheet::styleSheetChanged): 27038 Removing dead code, "root" can never be null here. 27039 * css/SVGCSSStyleSelector.cpp: 27040 (WebCore::colorFromSVGColorCSSValue): 27041 (WebCore::CSSStyleSelector::applySVGProperty): 27042 Extra returns in the old macros caused dead code. Removing the old macros and use modern 27043 ones instead. :) 27044 Extra null checks to value were not needed. Added an ASSERT at the top of the function 27045 to make it clear that value will never be NULL. 27046 Added colorFromSVGColorCSSValue to clean up the code a little. 27047 27048 2009-03-24 Eric Seidel <eric (a] webkit.org> 27049 27050 Reviewed by Simon Fraser. 27051 27052 Font fallback cleanup and added ASSERT for GlyphPageTreeNode 27053 https://bugs.webkit.org/show_bug.cgi?id=24684 27054 27055 * css/CSSFontSelector.cpp: 27056 (WebCore::compareFontFaces): 27057 Coverty was concerned that it was possible to index off the end of weightFallbackRuleSets 27058 I can't read the code well enough to tell, so I tried to make the code clearer 27059 and added an ASSERT. 27060 * platform/graphics/GlyphPageTreeNode.cpp: 27061 (WebCore::GlyphPageTreeNode::initializePage): 27062 Coverty believes we can crash here due to j being larger than GlyphPage::size. I think to is already 27063 known to be < GlyphPage::size due to the min() statement above, but not being sure I added an ASSERT. 27064 27065 2009-03-24 Eric Seidel <eric (a] webkit.org> 27066 27067 Reviewed by Simon Fraser. 27068 27069 Coverty inspired fixes in Animations/Transforms 27070 https://bugs.webkit.org/show_bug.cgi?id=24684 27071 27072 * page/animation/AnimationBase.h: 27073 Fix animate() signatures to match so that the virtual methods actually override one another. :) 27074 * page/animation/AnimationController.cpp: 27075 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): 27076 Attempt to fix this method, prevAnimation was never set to anything but NULL, 27077 as far as I can tell the author originally intended to update it at the end 27078 of the loop, which is what I changed this code to do. 27079 * page/animation/ImplicitAnimation.cpp: 27080 (WebCore::ImplicitAnimation::animate): 27081 Make method signature match AnimationBase::animate 27082 * page/animation/ImplicitAnimation.h: 27083 * page/animation/KeyframeAnimation.cpp: 27084 (WebCore::KeyframeAnimation::animate): 27085 Make method signature match AnimationBase::animate 27086 * page/animation/KeyframeAnimation.h: 27087 * platform/graphics/transforms/PerspectiveTransformOperation.cpp: 27088 (WebCore::PerspectiveTransformOperation::blend): 27089 if (blendToIdentity) already returned above. 27090 * platform/graphics/transforms/RotateTransformOperation.cpp: 27091 (WebCore::RotateTransformOperation::blend): 27092 if (blendToIdentity) already returned above. 27093 27094 2009-03-25 Eli Fidler <eli.fidler (a] torchmobile.com> 27095 27096 Reviewed by George Staikos. 27097 27098 Fix compiler warnings regarding assignments in if statements. 27099 27100 * html/HTMLFormElement.cpp: 27101 (WebCore::HTMLFormElement::createFormData): 27102 * plugins/PluginPackage.cpp: 27103 (WebCore::PluginPackage::compare): 27104 27105 2009-03-25 Dan Bernstein <mitz (a] apple.com> 27106 27107 Reviewed by Dave Hyatt. 27108 27109 - fix <rdar://problem/6472150> repro crash in 27110 RenderBlock::rightmostPosition(bool, bool) const at mercotte.fr using 27111 menus 27112 27113 Test: fast/inline/continuation-positioned-reparenting.html 27114 27115 * rendering/RenderInline.cpp: 27116 (WebCore::RenderInline::splitFlow): When repurposing the existing 27117 container as the "pre" block, clear its positioned objects list, because 27118 positioned descendants may end up in a different block after the split. 27119 27120 2009-03-24 Simon Fraser <simon.fraser (a] apple.com> 27121 27122 Reviewed by Dave Hyatt 27123 27124 https://bugs.webkit.org/show_bug.cgi?id=24784 27125 27126 Length values in transform operations need to take zoom into account. 27127 27128 Test: fast/transforms/transforms-with-zoom.html 27129 27130 * css/CSSStyleSelector.cpp: 27131 (WebCore::CSSStyleSelector::createTransformOperations): 27132 27133 2009-03-25 David Hyatt <hyatt (a] apple.com> 27134 27135 Reviewed by Simon Fraser. 27136 27137 https://bugs.webkit.org/show_bug.cgi?id=24809, background-clip/origin don't use the correct 27138 values. Add support for the new values (while preserving the old values for backwards 27139 compatibility). 27140 27141 Changed some existing test cases to use the new values. 27142 27143 * css/CSSParser.cpp: 27144 (WebCore::CSSParser::parseFillProperty): 27145 * css/CSSPrimitiveValueMappings.h: 27146 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 27147 (WebCore::CSSPrimitiveValue::operator EFillBox): 27148 * css/CSSValueKeywords.in: 27149 27150 2009-03-25 Brett Wilson <brettw (a] dhcp-172-22-71-191.mtv.corp.google.com> 27151 27152 Reviewed by Dimitri Glazkov. 27153 27154 Fix complex text opacity on the Chromium Windows port. 27155 https://bugs.webkit.org/show_bug.cgi?id=24757 27156 27157 Test: fast/text/complex-text-opacity.html 27158 27159 * platform/graphics/chromium/FontChromiumWin.cpp: 27160 (WebCore::): 27161 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter): 27162 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::init): 27163 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 27164 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 27165 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::TransparencyAwareGlyphPainter): 27166 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::~TransparencyAwareGlyphPainter): 27167 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::estimateTextBounds): 27168 (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs): 27169 (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::hdc): 27170 (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::TransparencyAwareUniscribePainter): 27171 (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::~TransparencyAwareUniscribePainter): 27172 (WebCore::TransparencyAwareFontPainter::TransparencyAwareUniscribePainter::estimateTextBounds): 27173 (WebCore::Font::drawGlyphs): 27174 (WebCore::Font::drawComplexText): 27175 27176 2009-03-25 David Hyatt <hyatt (a] apple.com> 27177 27178 Reviewed by Eric Seidel 27179 27180 Fix for bug 23198, border images should not clip to border radii. The border-image should just ignore 27181 the border-radius, since the assumption is that any desired rounding will be built into the border-image 27182 itself. 27183 27184 Note that I do not agree with this change, but I am matching the spec. 27185 27186 Added fast/borders/border-image-border-radius.html 27187 27188 * rendering/RenderBoxModelObject.cpp: 27189 (WebCore::RenderBoxModelObject::paintNinePieceImage): 27190 27191 2009-03-25 Gustavo Noronha Silva <gns (a] gnome.org> 27192 27193 Reviewed by Holger Freyther. 27194 27195 https://bugs.webkit.org/show_bug.cgi?id=24750 27196 [GTK] requests download instead of displaying page 27197 27198 Fix the Content-Type headers we get from soup, so that we set a 27199 proper media type on the ResourceResponse. 27200 27201 * platform/network/soup/ResourceHandleSoup.cpp: 27202 (WebCore::fillResponseFromMessage): 27203 27204 2009-03-25 Gustavo Noronha Silva <gns (a] gnome.org> 27205 27206 Reviewed by Holger Freyther. 27207 27208 https://bugs.webkit.org/show_bug.cgi?id=24600 27209 [GTK] responses with status code >= 400 should not be given special treatment 27210 27211 Do not special case requests that have HTTP responses >= 27212 400. Redirects are handled automatically by libsoup, but the rest 27213 of the responses should be treated like any other. 27214 27215 * platform/network/soup/ResourceHandleSoup.cpp: 27216 (WebCore::): 27217 (WebCore::gotHeadersCallback): 27218 (WebCore::gotChunkCallback): 27219 (WebCore::finishedCallback): 27220 27221 2009-03-25 Darin Adler <darin (a] apple.com> 27222 27223 Reviewed by John Sullivan. 27224 27225 Tidy up LegacyWebArchive a bit. And don't include favicons in web archives when 27226 they are being used only for selections, not an entire document. 27227 27228 * WebCore.base.exp: Remove exported function that's not used in WebKit. 27229 27230 * loader/archive/cf/LegacyWebArchive.cpp: 27231 (WebCore::LegacyWebArchive::createPropertyListRepresentation): Made a static member 27232 function so it can share private things with other member functions. Added some FIXME 27233 comments to a branch of code I think is dead. Changed boolean argument into a named 27234 one. Renamed to match other similar functions. 27235 (WebCore::LegacyWebArchive::createResourceResponseFromPropertyListData): Ditto. 27236 (WebCore::LegacyWebArchive::createResource): Ditto. 27237 (WebCore::LegacyWebArchive::create): Merged the create and init functions. 27238 (WebCore::LegacyWebArchive::rawDataRepresentation): Added some assertions because 27239 we should never fail to write (we can fail to read). 27240 (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Made a static 27241 member function as above. 27242 (WebCore::LegacyWebArchive::createFromSelection): Ditto. 27243 (WebCore::LegacyWebArchive::create): Iterate the vector with indices rather than 27244 iterators. Only include the favicon if the first node is the document since we don't 27245 want to include the favicon when copying and pasting. 27246 27247 * loader/archive/cf/LegacyWebArchive.h: Made one of the create functions private. 27248 Made the Mac-specific functions be static member functions. Made other helpers be 27249 static member functions. Removed the nit function. 27250 27251 * loader/archive/cf/LegacyWebArchiveMac.mm: 27252 (WebCore::LegacyWebArchive::createResourceResponseFromMacArchivedData): Updated 27253 comment and made this a static member function. 27254 (WebCore::LegacyWebArchive::createPropertyListRepresentation): Ditto. Also made 27255 it so we only type cast in one place. 27256 27257 2009-03-25 Darin Adler <darin (a] apple.com> 27258 27259 Reviewed by David Hyatt. 27260 27261 Bug 24740: crash in RenderSlider::setPositionFromValue when calling pause() after setting <video> to display: none 27262 https://bugs.webkit.org/show_bug.cgi?id=24740 27263 rdar://problem/6679873 27264 27265 Bug 12104: Native Slider: When the thumb's height is specified as a percentage, it is not centered properly 27266 https://bugs.webkit.org/show_bug.cgi?id=12104 27267 27268 Test: media/video-display-none-crash.html 27269 27270 The problem here was that RenderSlider was trying to position its thumb in a way that 27271 requires it to call updateLayout inside rendering code. The right way to position a 27272 child renderer is to do layout, so I had to write a layout function. And then fix a few 27273 other small problems shown by the same test case. 27274 27275 * rendering/RenderSlider.cpp: Made defaultTrackLength have internal linkage. 27276 Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML 27277 prefix for public DOM classes, not elements used as implementation details. 27278 Made SliderThumbElement function members private and got rid of unneeded default 27279 argument value for shadowParent. 27280 (WebCore::SliderRange::SliderRange): Added. Parses precision, max, and min attributes. 27281 (WebCore::SliderRange::clampValue): Added. Does standard clamping based on the above. 27282 (WebCore::SliderRange::valueFromElement): Added. Reads the value from the element in 27283 a way that clamps to the range. 27284 (WebCore::sliderPosition): Added. Computes the slider position: a double. 27285 (WebCore::SliderThumbElement::SliderThumbElement): Removed unneeded explicit 27286 initialization of m_initialClickPoint. 27287 (WebCore::SliderThumbElement::defaultEventHandler): Call setValueForPosition instead 27288 of calling setCurrentPosition and valueChanged. 27289 (WebCore::RenderSlider::RenderSlider): Remove unneeded explicit initialization of m_thumb. 27290 (WebCore::RenderSlider::styleDidChange): Remove unneeded second argument to createThumbStyle. 27291 (WebCore::RenderSlider::createThumbStyle): Remove unneeded second argument. Get rid of code 27292 setting the position to relative and setting the left and top. We now handle positioning 27293 in a custom layout function. 27294 (WebCore::RenderSlider::layout): Rewrote to handle positioning of the thumb as layout. 27295 (WebCore::RenderSlider::updateFromElement): Added code to immediately update the value 27296 in the element if it's out of range. This clamping used to be done as a side effect of 27297 setPositionFromValue. Also, this has nothing to do with the renderer, so at some point 27298 it could be moved into HTMLInputElement. Removed call to setPositionFromValue 27299 and instead just rely on the call to setNeedsLayout. Fix the setNeedsLayout call to be 27300 a normal setNeedsLayout(true), not a setNeedsLayout(true, false), because we do want 27301 this to be propagated to the parent -- it's not called during layout. 27302 (WebCore::RenderSlider::setValueForPosition): Refactor to use the new SliderRange 27303 class. Also don't call setCurrentPosition; instead just call setNeedsLayout. 27304 (WebCore::RenderSlider::currentPosition): Use the actual position of the renderer rather 27305 than the style to find the position; that means this needs to be done after layout is done. 27306 Also removed unneeded runtime checks and replaced them with assertions, after checking 27307 all callers to see they already guarantee this. 27308 (WebCore::RenderSlider::trackSize): Removed unneeded runtime checks and replaced them 27309 with assertions, after checking all callers to see they already guarantee this. 27310 (WebCore::RenderSlider::inDragMode): Added a null check for m_thumb so this won't 27311 crash if called early on a brand new RenderSlider. 27312 27313 * rendering/RenderSlider.h: Made all functions private except for forwardEvent and inDragMode. 27314 Renamed HTMLSliderThumbElement to SliderThumbElement because we only use the HTML 27315 prefix for public DOM classes, not elements used as implementation details. Made the 27316 mouseEventIsInThumb function non-virtual. Removed the return value and argument from 27317 setPositionFromValue. Removed valueChanged and setCurrentPosition. Removed the oldStyle 27318 argument to createThumbStyle (see above). Made SliderThumbElement a friend so it can use some 27319 private member functions. 27320 27321 2009-03-25 Eli Fidler <eli.fidler (a] torchmobile.com> 27322 27323 Reviewed by George Staikos. 27324 27325 Fix ambiguous else cases by adding braces to nested if()s with elses. 27326 27327 * loader/MainResourceLoader.cpp: 27328 (WebCore::MainResourceLoader::continueAfterContentPolicy): 27329 * page/EventHandler.cpp: 27330 (WebCore::EventHandler::updateDragAndDrop): 27331 * rendering/RenderListMarker.cpp: 27332 (WebCore::toArmenianUnder10000): 27333 * rendering/TextControlInnerElements.cpp: 27334 (WebCore::TextControlInnerTextElement::defaultEventHandler): 27335 27336 2009-03-24 Eli Fidler <eli.fidler (a] torchmobile.com> 27337 27338 Reviewed by George Staikos. 27339 27340 Move variable into proper platform block to quiet warning. 27341 27342 * html/CanvasRenderingContext2D.cpp: 27343 (WebCore::CanvasRenderingContext2D::drawTextInternal): 27344 27345 2009-03-24 Eric Carlson <eric.carlson (a] apple.com> 27346 27347 Reviewed by Antti Koivisto. 27348 27349 Fix for <rdar://problem/6719375> Deal with QTKit loadstate changes when playing streaming movies 27350 27351 * WebCore/html/HTMLMediaElement.cpp: 27352 (WebCore::HTMLMediaElement::setNetworkState): Deal with media engine reviving after having 27353 network state of NETWORK_NO_SOURCE. 27354 27355 * WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 27356 (WebCore::MediaPlayerPrivate::updateStates): Reset m_readyState at each state change since 27357 some types of movies currently cause QTKit's load state to bounce around. QTMovieLoadStatePlaythroughOK 27358 corresponds to HaveFutureData, not HaveEnoughData. 27359 27360 2009-03-24 Adele Peterson <adele (a] apple.com> 27361 27362 Reviewed by Darin Adler. 27363 27364 Fix for https://bugs.webkit.org/show_bug.cgi?id=24707 27365 <rdar://problem/6593021> Deleting with a caret in a blank, quoted line decreases the quoting, but does not delete the line 27366 27367 * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): 27368 After breaking out of an empty mail blockquote, we still want continue with the deletion 27369 so actual content will get deleted, and not just the quote style. 27370 27371 2009-03-24 Darin Adler <darin (a] apple.com> 27372 27373 Reviewed by Brady Eidson. 27374 27375 <rdar://problem/6624662> REGRESSION (r39904): can't save certain web pages as web archive (ones without favicons!) 27376 27377 * loader/archive/cf/LegacyWebArchive.cpp: 27378 (WebCore::LegacyWebArchive::create): Added a null check. 27379 27380 2009-03-24 Adam Langley <agl (a] google.com> 27381 27382 Reviewed by Darin Fisher. 27383 27384 https://bugs.webkit.org/show_bug.cgi?id=24685 27385 27386 The Skia drawLine function takes subpixel values and attempts to draw 27387 a line with subpixel precision. This is complex and slow for drawing 27388 scrollbars which use only vertical and horizontal lines. 27389 27390 This changes the Chromium Linux scrollbar code to use drawIRect. 27391 27392 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 27393 (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): 27394 (WebCore::drawVertLine): 27395 (WebCore::drawHorizLine): 27396 (WebCore::drawBox): 27397 (WebCore::ScrollbarThemeChromium::paintTrackPiece): 27398 (WebCore::ScrollbarThemeChromium::paintThumb): 27399 27400 2009-03-24 David Kilzer <ddkilzer (a] apple.com> 27401 27402 Bug 23310: Setting an absolute path (/abs) on an <iframe> with no src doesn't resolve the URL properly 27403 27404 <https://bugs.webkit.org/show_bug.cgi?id=23310> 27405 27406 Reviewed by Darin Adler. 27407 27408 Test: fast/frames/iframe-no-src-set-location.html 27409 27410 * dom/Document.cpp: 27411 (WebCore::Document::completeURL): If m_baseURL is empty or is 27412 about:blank and we have a parent document, use the parent 27413 document's URL for the base when completing a new URL. 27414 27415 2009-03-24 Simon Fraser <simon.fraser (a] apple.com> 27416 27417 Reviewed by Dave Hyatt 27418 27419 https://bugs.webkit.org/show_bug.cgi?id=24659 27420 27421 When hit-testing 3d-transformed layers, it doesn't make sense to project the hitTestRect 27422 into the coordinate space of the layer, and doing so can result in pathalogical quads 27423 that break hit testing. In that case, simply use the same bounds as used for painting, 27424 which are the composited bounds for this layer. 27425 27426 Test: transforms/3d/hit-testing/rotated-hit-test.html 27427 27428 * rendering/RenderLayer.cpp: 27429 (WebCore::RenderLayer::hitTestLayer): 27430 27431 2009-03-24 Simon Fraser <simon.fraser (a] apple.com> 27432 27433 Reviewed by Dave Hyatt 27434 27435 https://bugs.webkit.org/show_bug.cgi?id=24436 27436 27437 When compositing is enabled, painting and hit testing end up using different 27438 clipping roots, because, for painting, every composited layer is a clipping root, 27439 but for hit testing only layers with transforms are. To fix this, we use 27440 temporary clip rects for hit testing, if the page is in compositing mode. 27441 27442 * rendering/RenderLayer.cpp: 27443 (WebCore::RenderLayer::paintLayer): 27444 (WebCore::RenderLayer::hitTestLayer): 27445 (WebCore::RenderLayer::parentClipRects): 27446 (WebCore::RenderLayer::calculateRects): 27447 * rendering/RenderLayer.h: 27448 27449 2009-03-24 Simon Fraser <simon.fraser (a] apple.com> 27450 27451 Reviewed by Dan Bernstein 27452 27453 https://bugs.webkit.org/show_bug.cgi?id=24782 27454 27455 Fix regression with CSS clip rects with non-length values, by reverting to 27456 the original code, but passing the zoom multiplier through convertToLength(). 27457 27458 Also make stylistic change in createTransformOperations(), renaming 'inStyle' 27459 to 'style. 27460 27461 Tested by existing tests. 27462 27463 * css/CSSStyleSelector.cpp: 27464 (WebCore::convertToLength): 27465 (WebCore::CSSStyleSelector::applyProperty): 27466 (WebCore::CSSStyleSelector::createTransformOperations): 27467 27468 2009-03-24 David Hyatt <hyatt (a] apple.com> 27469 27470 Reviewed by Simon Fraser 27471 27472 https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents 27473 to a border-radius. 27474 27475 This patch makes non-self-painting overflow layers and control clips work with border-radius. RenderLayers 27476 that should be clipped by overflow ancestors with border-radius are still broken. 27477 27478 Added fast/clip/overflow-border-radius-clip.html 27479 27480 * rendering/RenderBox.cpp: 27481 (WebCore::RenderBox::pushContentsClip): 27482 27483 2009-03-24 David Hyatt <hyatt (a] apple.com> 27484 27485 Reviewed by Simon Fraser 27486 27487 https://bugs.webkit.org/show_bug.cgi?id=21789, overflow:hidden elements should clip their foreground contents. 27488 27489 This first patch makes overflow:hidden properly clip the foreground contents of overflow:hidden replaced elements. Common 27490 replaced elements now default to overflow:hidden in the UA stylesheet (this is what the spec specifically recommends be 27491 done). 27492 27493 Added fast/replaced/border-radius-clip.html 27494 27495 * css/html4.css: 27496 * rendering/RenderReplaced.cpp: 27497 (WebCore::RenderReplaced::paint): 27498 * rendering/RenderWidget.cpp: 27499 (WebCore::RenderWidget::paint): 27500 27501 2009-03-24 Adele Peterson <adele (a] apple.com> 27502 27503 RS by Mark Rowe. 27504 27505 Only build these Mail quirks checks in on the Mac. 27506 27507 * dom/Document.cpp: (WebCore::disableRangeMutation): 27508 * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList): 27509 27510 2009-03-24 Brent Fulgham <bfulgham (a] webkit.org> 27511 27512 Build fix, no review. 27513 27514 Remove ResourceLoaderCFNet.cpp from build list for Cairo Releas 27515 and Debug targets. 27516 27517 * WebCore.vcproj/WebCore.vcproj: 27518 27519 2009-03-24 Eric Carlson <eric.carlson (a] apple.com> 27520 27521 Fix layout tests broken by r41907. 27522 27523 * html/HTMLMediaElement.cpp: 27524 (WebCore::HTMLMediaElement::setReadyState): Don't set "was playing" based on the new ready state 27525 27526 2009-03-24 Dmitry Titov <dimich (a] chromium.org> 27527 27528 Reviewed by Dimitri Glazkov. 27529 27530 https://bugs.webkit.org/show_bug.cgi?id=24689 27531 Fix Chromium compilation errors. 27532 27533 * bindings/v8/WorkerContextExecutionProxy.cpp: 27534 (WebCore::WorkerContextExecutionProxy::FindOrCreateEventListener): 27535 (WebCore::WorkerContextExecutionProxy::RemoveEventListener): 27536 27537 2009-03-24 Yury Semikhatsky <yurys (a] chromium.org> 27538 27539 Reviewed by Darin Adler. 27540 27541 https://bugs.webkit.org/show_bug.cgi?id=24759 27542 Add missing methods Element.prototype.removeMatchingStyleClasses and 27543 Node.prototype.enclosingNodeOrSelfWithNodeNameInArray to SourceFrame content 27544 iframe. These methods are called by Element.prototype.removeStyleClass and 27545 Node.prototype.enclosingNodeOrSelfWithNodeName. 27546 27547 * inspector/front-end/SourceFrame.js: 27548 (WebInspector.SourceFrame.prototype._loaded): 27549 27550 2009-03-24 Mark Mentovai <mark (a] chromium.org> 27551 27552 Reviewed by Mark Rowe. 27553 27554 https://bugs.webkit.org/show_bug.cgi?id=24653 27555 WebKit should be buildable without prefix header injection. 27556 Adds missing #includes and forward declarations as needed. 27557 27558 * editing/SmartReplaceCF.cpp: 27559 * platform/graphics/mac/ColorMac.mm: 27560 * platform/graphics/mac/FontCacheMac.mm: 27561 * platform/graphics/mac/FontCustomPlatformData.h: 27562 * platform/graphics/mac/FontMac.mm: 27563 * platform/graphics/mac/FontMacATSUI.mm: 27564 * platform/graphics/mac/FontPlatformData.h: 27565 * platform/graphics/mac/FontPlatformDataMac.mm: 27566 * platform/graphics/mac/GraphicsContextMac.mm: 27567 * platform/graphics/mac/SimpleFontDataMac.mm: 27568 * platform/mac/FoundationExtras.h: 27569 * platform/mac/LocalCurrentGraphicsContext.h: 27570 * platform/mac/WebCoreSystemInterface.h: 27571 * platform/mac/WebCoreSystemInterface.mm: 27572 * platform/mac/WebCoreTextRenderer.h: 27573 * platform/mac/WebCoreTextRenderer.mm: 27574 * platform/mac/WebFontCache.h: 27575 * platform/mac/WebFontCache.mm: 27576 * platform/text/PlatformString.h: 27577 * platform/text/mac/ShapeArabic.c: 27578 * platform/text/mac/StringMac.mm: 27579 * rendering/RenderThemeChromiumMac.h: 27580 27581 2009-03-24 Dan Bernstein <mitz (a] apple.com> 27582 27583 Reviewed by Darin Adler. 27584 27585 - fix <rdar://problem/6107874> by capping the nesting depth of 27586 "block-level" elements generated by the parser 27587 27588 Test: fast/parser/block-nesting-cap.html 27589 27590 * html/HTMLParser.cpp: 27591 (WebCore::HTMLParser::HTMLParser): 27592 (WebCore::HTMLParser::insertNode): 27593 (WebCore::HTMLParser::pushBlock): 27594 (WebCore::HTMLParser::popOneBlockCommon): 27595 (WebCore::HTMLParser::freeBlock): 27596 * html/HTMLParser.h: 27597 27598 2009-03-23 Greg Bolsinga <bolsinga (a] apple.com> 27599 27600 Reviewed by David Kilzer. 27601 27602 https://bugs.webkit.org/show_bug.cgi?id=24771 27603 27604 DOMTimeStamps are based upon 1970. 27605 27606 * platform/mac/GeolocationServiceMac.mm: 27607 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): 27608 27609 2009-03-23 Eric Seidel <eric (a] webkit.org> 27610 27611 Build fix, no review. 27612 27613 * rendering/RenderObject.cpp: 27614 (WebCore::RenderObject::createVisiblePosition): change .container to .isNotNull() 27615 27616 2009-03-23 Eric Seidel <eric (a] webkit.org> 27617 27618 Reviewed by Darin Adler. 27619 27620 Rename Position::container to m_anchorNode and make it private 27621 https://bugs.webkit.org/show_bug.cgi?id=24760 27622 27623 More code cleanup for Position. 27624 27625 Change all uses of m_container to node() 27626 Eventually most uses of node() should change to anchorNode() to designate 27627 that it's the node the Position is anchored to, but not necessarily the 27628 container of the position (it could be the before/after neighbor). 27629 27630 Remove any code which sets m_container, and change it to use a new 27631 Position::moveToPosition function which takes a node and offset. 27632 It never makes sense to change the node and leave the offset. 27633 27634 * dom/Position.h: 27635 (WebCore::Position::Position): 27636 (WebCore::Position::clear): 27637 (WebCore::Position::anchorNode): 27638 (WebCore::Position::node): 27639 (WebCore::Position::moveToPosition): 27640 (WebCore::Position::moveToOffset): 27641 (WebCore::Position::isNull): 27642 (WebCore::Position::isNotNull): 27643 (WebCore::operator==): 27644 * dom/Range.cpp: 27645 (WebCore::Range::create): 27646 (WebCore::Range::compareBoundaryPoints): 27647 * dom/RangeBoundaryPoint.h: 27648 (WebCore::RangeBoundaryPoint::container): 27649 (WebCore::RangeBoundaryPoint::set): 27650 (WebCore::RangeBoundaryPoint::setOffset): 27651 (WebCore::RangeBoundaryPoint::setToChild): 27652 (WebCore::RangeBoundaryPoint::setToStart): 27653 (WebCore::RangeBoundaryPoint::setToEnd): 27654 27655 2009-03-17 Eric Seidel <eric (a] webkit.org> 27656 27657 Reviewed by David Hyatt. 27658 27659 document.write() should be able to make a document strict mode 27660 https://bugs.webkit.org/show_bug.cgi?id=24336 27661 27662 Remove an implicit write of "<html>" on the first document.write call 27663 this was added as part of a KDE import http://trac.webkit.org/changeset/798 27664 with no layout test or explanation. I can't think of any reason why 27665 an implicit <html> write is necessary (or correct), so I'm removing it and 27666 adding a test for the correct behavior. The parser will add any necessary 27667 HTMLHTMLElements during the write() anyway. 27668 27669 Our behavior is now tested by fast/dom/Document/document-write-doctype 27670 and matches IE, FF fails this new test. Mozilla bug filed: 27671 https://bugzilla.mozilla.org/show_bug.cgi?id=483908 27672 27673 * dom/Document.cpp: 27674 (WebCore::Document::write): 27675 27676 2009-03-23 Sam Weinig <sam (a] webkit.org> 27677 27678 Reviewed by Dan Bernstein. 27679 27680 Fix for <rdar://problem/6140966> 27681 Empty Caches does not clear the Cross-site XMLHttpRequest preflight cache 27682 27683 * WebCore.base.exp: 27684 * WebCore.xcodeproj/project.pbxproj: 27685 * loader/CrossOriginPreflightResultCache.cpp: 27686 (WebCore::CrossOriginPreflightResultCache::empty): 27687 * loader/CrossOriginPreflightResultCache.h: 27688 27689 2009-03-23 Darin Adler <darin (a] apple.com> 27690 27691 Reviewed by Adele Peterson. 27692 27693 Bug 24726: hit testing doesn't work right when the click is on anonymous content 27694 https://bugs.webkit.org/show_bug.cgi?id=24726 27695 rdar://problem/6696992 27696 27697 Test: editing/selection/hit-test-anonymous.html 27698 27699 * rendering/RenderBR.cpp: 27700 (WebCore::RenderBR::positionForPoint): Call createVisiblePosition instead of 27701 creating a VisiblePosition directly. It will handle finding non-anonymous 27702 content nearby if node() is 0. 27703 * rendering/RenderBlock.cpp: 27704 (WebCore::positionForPointRespectingEditingBoundaries): Ditto. 27705 (WebCore::positionForPointWithInlineChildren): Ditto. 27706 (WebCore::RenderBlock::positionForPoint): Ditto. 27707 * rendering/RenderBox.cpp: 27708 (WebCore::RenderBox::positionForPoint): Ditto. 27709 * rendering/RenderObject.cpp: 27710 (WebCore::RenderObject::positionForPoint): Ditto. 27711 (WebCore::RenderObject::createVisiblePosition): Added. 27712 * rendering/RenderObject.h: Added createVisiblePosition. 27713 * rendering/RenderReplaced.cpp: 27714 (WebCore::RenderReplaced::positionForPoint): Call createVisiblePosition. 27715 * rendering/RenderSVGInlineText.cpp: 27716 (WebCore::RenderSVGInlineText::positionForPoint): Ditto. 27717 * rendering/RenderText.cpp: 27718 (WebCore::RenderText::positionForPoint): Ditto. 27719 27720 2009-03-23 Adele Peterson <adele (a] apple.com> 27721 27722 Reviewed by Darin Adler & Dave Hyatt. 27723 27724 Fix for <rdar://problem/6621310> REGRESSION(35185): Apple Travel HTML emails missing some style after Safari 4 upgrade 27725 27726 Leopard Mail doesn't expect <style> to be in the body. This change reverts back to the old behavior of 27727 moving <style> to <head> for that version of Mail. 27728 27729 * html/HTMLElement.cpp: (WebCore::HTMLElement::inEitherTagList): 27730 27731 2009-03-23 Adele Peterson <adele (a] apple.com> 27732 27733 Reviewed by Mark Rowe & Dave Hyatt. 27734 27735 Merge some of the individual Mail quirks into two settings that we can check for future quirks. 27736 27737 * WebCore.base.exp: 27738 * dom/Document.cpp: 27739 (WebCore::disableRangeMutation): 27740 (WebCore::Document::nodeChildrenChanged): 27741 (WebCore::Document::nodeWillBeRemoved): 27742 (WebCore::Document::textInserted): 27743 (WebCore::Document::textRemoved): 27744 (WebCore::Document::textNodesMerged): 27745 (WebCore::Document::textNodeSplit): 27746 * page/Settings.cpp: 27747 (WebCore::Settings::Settings): 27748 (WebCore::Settings::setNeedsLeopardMailQuirks): 27749 (WebCore::Settings::setNeedsTigerMailQuirks): 27750 * page/Settings.h: 27751 (WebCore::Settings::needsLeopardMailQuirks): 27752 (WebCore::Settings::needsTigerMailQuirks): 27753 27754 2009-03-23 Ada Chan <adachan (a] apple.com> 27755 27756 https://bugs.webkit.org/show_bug.cgi?id=24762 27757 Support text-indent in <option> elements on windows platform. 27758 27759 Reviewed by Adele Peterson. 27760 27761 * css/themeWin.css: 27762 * platform/PopupMenuStyle.h: We don't honor font specified on <option> elements right now. Make this 27763 explicit via windows themed default stylesheet. 27764 (WebCore::PopupMenuStyle::PopupMenuStyle): Also store text-indent and text-direction. 27765 (WebCore::PopupMenuStyle::textIndent): 27766 (WebCore::PopupMenuStyle::textDirection): 27767 * platform/win/PopupMenuWin.cpp: 27768 (WebCore::PopupMenu::paint): Adjust the text's x-coordinate if text-indent is supported for options and 27769 text-indent is specified with LTR direction. 27770 * rendering/RenderMenuList.cpp: 27771 (WebCore::RenderMenuList::updateOptionsWidth): Take text-indent into account if theme supports text-indent for options. 27772 (WebCore::RenderMenuList::itemStyle): Use new PopupMenuStyle constructor on windows. 27773 (WebCore::RenderMenuList::menuStyle): Ditto. 27774 * rendering/RenderTextControlSingleLine.cpp: 27775 (WebCore::RenderTextControlSingleLine::menuStyle): Ditto. 27776 * rendering/RenderTheme.h: 27777 (WebCore::RenderTheme::popupOptionSupportsTextIndent): Added. Default is false since we are only supporting it in windows for now. 27778 * rendering/RenderThemeWin.h: 27779 (WebCore::RenderThemeWin::popupOptionSupportsTextIndent): Returns true for windows. 27780 27781 2009-03-23 Sam Weinig <sam (a] webkit.org> 27782 27783 Reviewed by Anders Carlsson. 27784 27785 Fix for https://bugs.webkit.org/show_bug.cgi?id=24699 27786 REGRESSION: Java Applets broken 27787 <rdar://problem/6707494> 27788 27789 Fix loading Java applets without a codeBase. Only pass the base (up to the 27790 the last path component) of the baseURL to the plug-in. 27791 27792 * html/HTMLAppletElement.cpp: 27793 (WebCore::HTMLAppletElement::createRenderer): 27794 * platform/KURL.cpp: 27795 (WebCore::KURL::baseAsString): 27796 * platform/KURL.h: 27797 27798 2009-03-23 Darin Adler <darin (a] apple.com> 27799 27800 Reviewed by Sam Weinig. 27801 27802 * platform/KURL.h: Removed now-incorrect comments. 27803 None of the parts include the separator characters any more, now that 27804 query doesn't include the "?", so the comments explaining which do and do 27805 not are no-longer helpful. 27806 27807 2009-03-23 David Levin <levin (a] chromium.org> 27808 27809 Reviewed by Dimitri Glazkov. 27810 27811 https://bugs.webkit.org/show_bug.cgi?id=24764 27812 27813 Renamed files V8NodeFilter -> V8NodeFilterCondition to reflect 27814 class names. Also fixed some headers that got mangled in search/replace 27815 operations. 27816 27817 No change in behavior, so no test. 27818 27819 * bindings/v8/V8NodeFilter.h: Removed. 27820 * bindings/v8/V8NodeFilterCondition.cpp: Renamed from WebCore/bindings/v8/V8NodeFilter.cpp. 27821 * bindings/v8/V8NodeFilterCondition.h: Added. 27822 * bindings/v8/custom/V8ClipboardCustom.cpp: 27823 * bindings/v8/custom/V8DocumentCustom.cpp: 27824 * bindings/v8/custom/V8ElementCustom.cpp: 27825 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: 27826 * bindings/v8/custom/V8NavigatorCustom.cpp: 27827 27828 2009-03-23 Darin Fisher <darin (a] chromium.org> 27829 27830 Reviewed by Antti Koivisto. 27831 27832 https://bugs.webkit.org/show_bug.cgi?id=24741 27833 27834 Adds a unique across-browser-sessions identifier to FormData, which may 27835 be used by ResourceHandle as a secondary cache key to enable cached 27836 form submissions. 27837 27838 At issue: two otherwise identical form submissions may result in 27839 completely independent responses, which may each be appropriate to 27840 store and reuse from cache. 27841 27842 * html/HTMLFormElement.cpp: Added call to FormData::setIdentifier so that 27843 we only enable cached form submissions for those generated by HTML. This 27844 way we do not bother with POSTs generated by XMLHttpRequest. 27845 (WebCore::generateFormDataIdentifier): 27846 (WebCore::HTMLFormElement::createFormData): 27847 * platform/network/FormData.cpp: Initialize m_identifier to 0, which means 27848 the unspecified identifier. So by default there is no identifier and 27849 nothing changes. 27850 (WebCore::FormData::FormData): 27851 * platform/network/FormData.h: Added m_identifier with setter and getter. 27852 (WebCore::FormData::setIdentifier): 27853 (WebCore::FormData::identifier): 27854 27855 2009-03-23 Simon Fraser <simon.fraser (a] apple.com> 27856 27857 Reviewed by Antti Koivisto 27858 27859 https://bugs.webkit.org/show_bug.cgi?id=24733 27860 27861 Fix media controller with full-page zoom. Previously, the media controller 27862 shadow nodes never saw style changes on the RenderMedia, so did not respond 27863 to zooming at all. Now, we update the style on the shadow renderers 27864 whenever RenderMedia gets a style change. Also fix the video thumb in 27865 the theme to be scaled properly. 27866 27867 Test: media/video-controls-zoomed.html 27868 27869 * rendering/MediaControlElements.cpp: 27870 (WebCore::MediaControlShadowRootElement::updateStyle): 27871 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): 27872 (WebCore::MediaTextDisplayElement::updateStyle): 27873 (WebCore::MediaControlInputElement::MediaControlInputElement): 27874 (WebCore::MediaControlInputElement::updateStyle): 27875 * rendering/MediaControlElements.h: 27876 * rendering/RenderMedia.cpp: 27877 (WebCore::RenderMedia::styleDidChange): 27878 * rendering/RenderMedia.h: 27879 * rendering/RenderThemeMac.mm: 27880 (WebCore::RenderThemeMac::adjustSliderThumbSize): 27881 27882 2009-03-23 Mike Belshe <mike (a] belshe.com> 27883 27884 Reviewed by Darin Adler. 27885 27886 https://bugs.webkit.org/show_bug.cgi?id=24739 27887 27888 Rework StringImpl::create methods to try to allocate a single buffer 27889 rather than allocating both the StringImpl class and a separate data 27890 buffer. 27891 27892 * platform/text/StringImpl.cpp: 27893 * platform/text/StringImpl.h: 27894 27895 2009-03-23 Darin Adler <darin (a] apple.com> 27896 27897 Reviewed by Antti Koivisto. 27898 27899 Based on a patch by Nico Weber <nicolasweber (a] gmx.de> 27900 27901 Bug 24755: LayoutTests/http/tests/misc/url-in-utf16le.html regression 27902 https://bugs.webkit.org/show_bug.cgi?id=24755 27903 27904 * platform/text/TextEncoding.cpp: 27905 (WebCore::TextEncoding::isUTF7Encoding): Added. Checks if the current encoding 27906 is UTF7 without loading extended codecs. 27907 (WebCore::TextEncoding::encodingForFormSubmission): Use isUTF7Encoding() instead 27908 of comparing with UTF7Encoding(). Eliminate the explicit check of 27909 noExtendedTextEncodingNameUsed() because that's now handled by the functions 27910 that this function calls instead. 27911 27912 * platform/text/TextEncoding.h: Added isUTF7Encoding function. 27913 Also tweaked formatting a bit. 27914 27915 2009-03-20 Peter Kasting <pkasting (a] google.com> 27916 27917 Reviewed by Darin Fisher. 27918 27919 https://bugs.webkit.org/show_bug.cgi?id=24720 27920 RenderThemeChromium should draw something for Slider parts instead of 27921 dropping them on the floor. 27922 27923 * platform/chromium/ChromiumBridge.h: 27924 * rendering/RenderThemeChromiumWin.cpp: 27925 (WebCore::RenderThemeChromiumWin::adjustSliderThumbSize): 27926 (WebCore::RenderThemeChromiumWin::paintSliderTrack): 27927 (WebCore::RenderThemeChromiumWin::determineSliderThumbState): 27928 (WebCore::RenderThemeChromiumWin::getThemeData): 27929 * rendering/RenderThemeChromiumWin.h: 27930 (WebCore::RenderThemeChromiumWin::paintSliderThumb): 27931 27932 2009-03-23 Glen Murphy <glen (a] chromium.org> 27933 27934 Reviewed by Darin Fisher. 27935 27936 https://bugs.webkit.org/show_bug.cgi?id=24657 27937 27938 Fix Skia drawing of highly scaled bitmaps; the conversion to 27939 IntRect produced visible layout test failures in highly scaled 27940 coordinate systems. 27941 27942 Test: svg/custom/image-small-width-height.svg 27943 27944 * WebCore\platform\graphics\skia\ImageSkia.cpp: 27945 27946 2009-03-23 David Kilzer <ddkilzer (a] apple.com> 27947 27948 Provide JavaScript exception information after slow script timeout 27949 27950 Reviewed by Oliver Hunt. 27951 27952 * bindings/js/ScriptController.cpp: 27953 (WebCore::ScriptController::evaluate): Changed to report 27954 exceptions for the Interrupted completion type as well. 27955 27956 2009-03-23 Simon Fraser <simon.fraser (a] apple.com> 27957 27958 Reviewed by Darin Adler 27959 27960 https://bugs.webkit.org/show_bug.cgi?id=24736 27961 27962 Fix three mostly-unrelated problems with full-page zoom: 27963 27964 * dom/Document.cpp: 27965 (WebCore::Document::elementFromPoint): 27966 Document::elementFromPoint() needs to take full-page zoom into account. 27967 27968 * dom/MouseRelatedEvent.cpp: 27969 (WebCore::MouseRelatedEvent::receivedTarget): 27970 Take full-page zoom into account when computing offsetX/offsetY. 27971 27972 * html/HTMLSelectElement.cpp: 27973 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 27974 Don't use offsetX/offsetY when hit testing list boxes; offsets were broken 27975 with full-page zoom, and using pageX/pageY is easier because we don't 27976 have to worry about the event target, and we already have a point in 27977 absolute coordinates. 27978 27979 Tests: fast/forms/listbox-hit-test-zoomed.html 27980 fast/forms/search-zoomed.html 27981 fast/forms/slider-zoomed.html 27982 27983 2009-03-23 Simon Fraser <simon.fraser (a] apple.com> 27984 27985 Reviewed by Dan Bernstein 27986 27987 https://bugs.webkit.org/show_bug.cgi?id=24753 27988 27989 The rect for CSS 'clip' needs to have zooming applied to it. 27990 27991 Test: fast/css/clip-zooming.html 27992 27993 * css/CSSStyleSelector.cpp: 27994 (WebCore::CSSStyleSelector::applyProperty): 27995 27996 2009-03-23 Eric Carlson <eric.carlson (a] apple.com> 27997 27998 Reviewed by Adam Roben. 27999 28000 <rdar://problem/6704282> 28001 https://bugs.webkit.org/show_bug.cgi?id=24719 28002 QTMovieWinTimer logic inversion 28003 28004 Fix logic inversion in the Win32 timer used by QTMovieWin that caused it to always 28005 use SetTimer, even when the intervals was below USER_TIMER_MINIMUM. A side effect of 28006 this was that a movie timer would sometimes be blocked for significant amounts of time 28007 because WM_TIMER messages are not processed when the thread's message queue has any 28008 higher priority messages, and WebCore/Win's timer uses PostMessage for low interval 28009 timers. Also change SetTimer call to use HWND and custom message instead of 28010 timer function since the timer already has an HWND for processing PostMessage. 28011 28012 Not possible to make a test for this because it is so timing dependant. 28013 28014 * platform/graphics/win/QTMovieWinTimer.cpp: 28015 (TimerWindowWndProc): 28016 (setSharedTimerFireDelay): 28017 28018 2009-03-23 Eric Carlson <eric.carlson (a] apple.com> 28019 28020 Reviewed by Adele Peterson. 28021 28022 https://bugs.webkit.org/show_bug.cgi?id=24588 28023 28024 Update media element implementation to current HTML5 spec 28025 28026 New tests: 28027 media/media-constants.html 28028 media/video-seek-no-src-exception.html 28029 media/video-source-add-src.html 28030 media/video-src-invalid-remove.html 28031 media/video-src-plus-source.html 28032 media/video-timeupdate-during-playback.html 28033 28034 * dom/EventNames.h: Remove obsolute events, add new ones. 28035 * html/HTMLMediaElement.cpp: 28036 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize new member vars. 28037 (WebCore::HTMLMediaElement::attributeChanged): Trigger load() only when we don't 28038 have a source. 28039 (WebCore::HTMLMediaElement::removedFromDocument): Deal with state name changes. 28040 (WebCore::HTMLMediaElement::scheduleProgressEvent): New, create a progress event and 28041 add it to the event queue to be dispatch when the timer fires. 28042 (WebCore::HTMLMediaElement::scheduleEvent): New, create a generic event and add 28043 it to the event queue to be dispatch when the timer fires. 28044 (WebCore::HTMLMediaElement::enqueueEvent): Add an event to the queue and ticke the 28045 asynch event timer. 28046 (WebCore::HTMLMediaElement::asyncEventTimerFired): Dispatch all pending events. 28047 (WebCore::HTMLMediaElement::loadTimerFired): Either trigger the initial load or 28048 try to load the next <source> url. 28049 (WebCore::HTMLMediaElement::load): Minor style change. 28050 (WebCore::HTMLMediaElement::loadInternal): The first part of the spec load algorithm, cleanup 28051 the current load (if any) and set up state for a new load. 28052 (WebCore::HTMLMediaElement::selectMediaResource): Deal with no 'src' or <source>, post 'loadstart' 28053 event, and initiate load from 'src' if present. 28054 (WebCore::HTMLMediaElement::loadNextSourceChild): Initiate load from next <source> url, or trigger 28055 noneSupported() if no more to consider. 28056 (WebCore::HTMLMediaElement::loadResource): Instantiate a new MediaPlayer and ask it to load a url. 28057 (WebCore::HTMLMediaElement::startProgressEventTimer): Start the repeating progress event timer. 28058 (WebCore::HTMLMediaElement::noneSupported): Post error event and set up state when no valid 28059 media url was found. 28060 (WebCore::HTMLMediaElement::mediaEngineError): Post error event and set up state when no valid 28061 media engine failed with a decode error or a network error. 28062 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): 28063 (WebCore::HTMLMediaElement::setNetworkState): Updated for new spec network states. 28064 (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): 28065 (WebCore::HTMLMediaElement::setReadyState): Updated for new spec ready state. 28066 (WebCore::HTMLMediaElement::progressEventTimerFired): Bail if the network is not active. 28067 (WebCore::HTMLMediaElement::seek): Return INVALID_STATE_ERR exception if state is too low or 28068 if player hasn't been set up yet. This is necessary becase load() is async. Clear the flag 28069 we use to guard against sending 'ended' more than once. 28070 (WebCore::HTMLMediaElement::duration): Don't bother calling media engine before it has metadata. 28071 (WebCore::HTMLMediaElement::setDefaultPlaybackRate): Remove exception param, 0 is no longer an 28072 invalid rate. 28073 (WebCore::HTMLMediaElement::setPlaybackRate): Remove exception param, 0 is no longer an 28074 invalid rate. Cache rate being set so we can use it later if media engine isn't ready now. 28075 (WebCore::HTMLMediaElement::play): Remove exception param, play() before load() now just 28076 starts loading asynchronously. 28077 (WebCore::HTMLMediaElement::playInternal): Remove exception param. Fire 'waiting' or 'playing' 28078 event depending on current state. 28079 (WebCore::HTMLMediaElement::pause): Remove exception param, pause() before load() now just 28080 starts loading asynchronously. 28081 (WebCore::HTMLMediaElement::pauseInternal): Remove exception param. 28082 (WebCore::HTMLMediaElement::setVolume): dispatchEventAsync -> scheduleEvent 28083 (WebCore::HTMLMediaElement::setMuted): dispatchEventAsync -> scheduleEvent 28084 (WebCore::HTMLMediaElement::togglePlayState): Remove exception param. 28085 (WebCore::HTMLMediaElement::beginScrubbing): pause() doesn't take an exception param. 28086 (WebCore::HTMLMediaElement::startPlaybackProgressTimer): New, starts timer that fires 4 times per 28087 second when the movie is playing to timeupdate so we can post 'timeupdate' events. 28088 (WebCore::HTMLMediaElement::playbackProgressTimerFired): Timer proc. 28089 (WebCore::HTMLMediaElement::scheduleTimeupdateEvent): Bottleneck around scheduling a 'timeupdate' 28090 event because we both fire them them when the spec says we should and when the media engine 28091 says that time has jumped, but we don't want to fire more than one at a given movie time. We also 28092 use this bottleneck to keep track of the last time one was posted so we won't fire too often 28093 during playback. 28094 (WebCore::HTMLMediaElement::canPlay): readyState now tracks whether or not we have metadata. 28095 (WebCore::HTMLMediaElement::havePotentialSourceChild): New, checks to see if there are a <source> 28096 element with a 'src' attribute that we have not tried to load yet. 28097 (WebCore::HTMLMediaElement::nextSourceChild): New, returns the url and content type of the next 28098 <source> element that we haven't tried to load. 28099 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Schedule 'seeked' event when seeking completes. 28100 Set a flag when we post the 'ended' event, clear it when time changed and we aren't at the end since 28101 some media engines call this proc more than once when playback reaches the end and stops, but we 28102 don't want to post 'ended' more than once. 28103 (WebCore::HTMLMediaElement::mediaPlayerDurationChanged): New, added so media engine can inform 28104 when the movie duration changes and we can post 'durationchanged' event. 28105 (WebCore::HTMLMediaElement::mediaPlayerRateChanged): New, added so media engine can inform when 28106 the rate changed and we can updated our cached rate. This is useful because we only want to know 28107 post periodic 'timeupdate' events when the movie is actually playing, and because we want to know 28108 the actual playback rate when it differs from what we tried to set. 28109 (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): New, added so media engine can inform when 28110 a movie's intrinsic size changes and we can inform the renderer. 28111 (WebCore::HTMLMediaElement::potentiallyPlaying): Renamed from activelyPlaying since the spec now 28112 uses "actively playing" for this concept. Update logic for new state names and un-comment calls 28113 to stoppedDueToErrors() and pausedForUserInteraction() since the spec says those condiditons 28114 are part of the answer. 28115 (WebCore::HTMLMediaElement::endedPlayback): Update logic for new state names. 28116 (WebCore::HTMLMediaElement::stoppedDueToErrors): New, spec says this logic should be part of 28117 the determination of "potentially playing". 28118 (WebCore::HTMLMediaElement::pausedForUserInteraction): New, placeholder for when (if) user 28119 agent supports this spec concept. 28120 (WebCore::HTMLMediaElement::updatePlayState): Stop timer used to fire periodic 'timeupdate' 28121 events when we pauses the movie. Set the media engine rate before calling play() in case it 28122 wasn't set up when the rate was changed. 28123 (WebCore::HTMLMediaElement::stopPeriodicTimers): New, stop the progress event and 'timeupate' 28124 event timers. 28125 (WebCore::HTMLMediaElement::userCancelledLoad): New, logic pulled out of documentWillBecomeInactive 28126 and updated for the current spec. 28127 (WebCore::HTMLMediaElement::documentWillBecomeInactive): Moved some logic to userCancelledLoad. 28128 (WebCore::HTMLMediaElement::documentDidBecomeActive): Update comments. 28129 (WebCore::HTMLMediaElement::initialURL): Update for refactoring of code that determines the 28130 initial url. 28131 * html/HTMLMediaElement.h: Change ReadyState and NetworkState enums to match names in the spec, 28132 update for changes in .cpp. 28133 (WebCore::HTMLMediaElement::): 28134 28135 * html/HTMLMediaElement.idl: Update ready state and network state constants for spec changes. 28136 defaultPlaybackRate, playbackRate, play(), and pause() no longer raise exceptions. 28137 28138 * html/HTMLSourceElement.cpp: 28139 (WebCore::HTMLSourceElement::insertedIntoDocument): Update for network state name changes. 28140 28141 * html/HTMLVideoElement.cpp: 28142 (WebCore::HTMLVideoElement::updatePosterImage): Update for ready state name changes. 28143 28144 * html/MediaError.h: 28145 (WebCore::MediaError::): add MEDIA_ERR_NONE_SUPPORTED. 28146 28147 * html/MediaError.idl: add MEDIA_ERR_NONE_SUPPORTED. 28148 28149 * loader/MediaDocument.cpp: 28150 (WebCore::MediaDocument::defaultEventHandler): play() and pause() don't take an exception. 28151 28152 * platform/graphics/MediaPlayer.cpp: 28153 (WebCore::NullMediaPlayerPrivate::readyState): Update for newtork state name changes. 28154 (WebCore::MediaPlayer::sizeChanged): New, so engine can report intrinsic size changes. 28155 (WebCore::MediaPlayer::rateChanged): New, so engine can report rate changes. 28156 (WebCore::MediaPlayer::durationChanged): New, so engine can report duration changes. 28157 * platform/graphics/MediaPlayer.h: Update NetworkState and ReadyState enum names to match spec 28158 states. 28159 (WebCore::MediaPlayerClient::mediaPlayerDurationChanged): New. 28160 (WebCore::MediaPlayerClient::mediaPlayerRateChanged): New. 28161 (WebCore::MediaPlayerClient::mediaPlayerSizeChanged): New. 28162 (WebCore::MediaPlayer::): 28163 28164 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 28165 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. 28166 (WebCore::MediaPlayerPrivate::load): Ditto. 28167 (WebCore::MediaPlayerPrivate::updateStates): Ditto. 28168 (WebCore::MediaPlayerPrivate::loadingFailed): Ditto. 28169 28170 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Update for network/ready state name changes. 28171 Remove endPointTimer, it is no longer necessary. Add m_enabledTrackCount and m_duration. 28172 (WebCore::MediaPlayerPrivate::metaDataAvailable): 28173 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 28174 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer or m_endTime. Initialize 28175 m_enabledTrackCount and m_duration. Update for network/ready state name changes. 28176 (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. 28177 (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. 28178 (WebCore::MediaPlayerPrivate::pause): Ditto. 28179 (WebCore::MediaPlayerPrivate::currentTime): No more m_endTime. 28180 (WebCore::MediaPlayerPrivate::seek): Ditto. 28181 (WebCore::MediaPlayerPrivate::doSeek): Ditto, plus don't call setRate(0) when the rate is 28182 already zero. 28183 (WebCore::MediaPlayerPrivate::setEndTime): No more m_endTime. 28184 (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. Return 28185 different errors depending on what causes a failure. Watch for and report duration changes. 28186 (WebCore::MediaPlayerPrivate::rateChanged): Report rate changes. 28187 (WebCore::MediaPlayerPrivate::sizeChanged): Report size changes. 28188 (WebCore::MediaPlayerPrivate::didEnd): No more endpoint timer. 28189 (WebCore::MediaPlayerPrivate::setVisible): Update for network/ready state name changes. 28190 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): Don't return number of unsupported 28191 tracks, store in m_enabledTrackCount so we can use it to help determine causes of failure. 28192 28193 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 28194 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Update for network/ready state name changes. 28195 (WebCore::MediaPlayerPrivate::load): Ditto. 28196 (WebCore::MediaPlayerPrivate::duration): Ditto. 28197 (WebCore::MediaPlayerPrivate::updateStates): Ditto. 28198 (WebCore::MediaPlayerPrivate::naturalSize): Ditto. 28199 28200 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 28201 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): No more m_endPointTimer. Update for 28202 network/ready state name changes. 28203 (WebCore::MediaPlayerPrivate::load): Update for network/ready state name changes. No more 28204 m_endPointTimer. 28205 (WebCore::MediaPlayerPrivate::play): No more m_endPointTimer. 28206 (WebCore::MediaPlayerPrivate::pause): Ditto. 28207 (WebCore::MediaPlayerPrivate::setEndTime): Ditto. 28208 (WebCore::MediaPlayerPrivate::updateStates): Update for network/ready state name changes. 28209 (WebCore::MediaPlayerPrivate::didEnd): No more m_endPointTimer. 28210 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 28211 28212 * rendering/MediaControlElements.cpp: 28213 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Update for network/ready state 28214 name changes. 28215 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): Ditto. 28216 28217 2009-03-22 Kevin Ollivier <kevino (a] theolliviers.com> 28218 28219 wxGTK build fix. Add missing header. 28220 28221 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: 28222 28223 2009-03-22 Simon Fraser <simon.fraser (a] apple.com> 28224 28225 Reviewed by Dan Bernstein 28226 28227 https://bugs.webkit.org/show_bug.cgi?id=24665 28228 28229 Image-map code in RenderImage could result in RenderImage::nodeAtPoint() 28230 setting HitTestResult::innerNode(), but returning false, which violates 28231 hit testing rules. Use a temporary HitTestResult so that we only fill in 28232 result when we know we've hit. 28233 28234 * rendering/RenderImage.cpp: 28235 (WebCore::RenderImage::nodeAtPoint): 28236 28237 2009-03-22 Simon Fraser <simon.fraser (a] apple.com> 28238 28239 Reviewed by Dan Bernstein 28240 28241 https://bugs.webkit.org/show_bug.cgi?id=24743 28242 28243 Fix hit testing regression from r41840. We need to pass the temporary 28244 HitTestResult when testing sublayers, then only copy to 'result' when 28245 the layer is known to have been hit. 28246 28247 Test: fast/layers/zindex-hit-test.html 28248 28249 * rendering/RenderLayer.cpp: 28250 (WebCore::RenderLayer::hitTestLayer): 28251 28252 2009-03-20 Simon Fraser <simon.fraser (a] apple.com> 28253 28254 Reviewed by Darin Adler 28255 28256 https://bugs.webkit.org/show_bug.cgi?id=24733 28257 28258 Fix hit testing on video controls after full page zoom by fixing wider issue 28259 with event->pageX(), pageY() with zooming. pageX and pageY are "fixed" to be 28260 invariant under zooming (for JavaScript), so we keep an actual page point around 28261 in MouseEvent::absoluteLocation() to avoid the need to factor in zooming everywhere. 28262 28263 * dom/MouseRelatedEvent.cpp: 28264 (WebCore::MouseRelatedEvent::initCoordinates): 28265 (WebCore::MouseRelatedEvent::computePageLocation): 28266 * dom/MouseRelatedEvent.h: 28267 (WebCore::MouseRelatedEvent::absoluteLocation): 28268 (WebCore::MouseRelatedEvent::setAbsoluteLocation): 28269 Member var, and getter and setter for absoluteLocation. 28270 New method, computePageLocation(), to compute the actual page point, 28271 and call it when creating and initting mouse-related events. 28272 28273 * dom/Node.cpp: 28274 (WebCore::Node::dispatchMouseEvent): 28275 (WebCore::Node::dispatchWheelEvent): 28276 Keep non-adjusted pageX and pageY around, and call setAbsoluteLocation() 28277 on the event to replace a potentially rounded point. 28278 28279 * html/HTMLInputElement.cpp: 28280 (WebCore::HTMLInputElement::defaultEventHandler): 28281 Clean up slider handling code. 28282 28283 * html/HTMLSelectElement.cpp: 28284 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 28285 Add FIXME comment for use of offsetX/offsetY. 28286 28287 * page/ContextMenuController.cpp: 28288 (WebCore::ContextMenuController::handleContextMenuEvent): 28289 Use absoluteLocation() when hit testing for context menus. 28290 28291 * rendering/RenderFrameSet.cpp: 28292 (WebCore::RenderFrameSet::userResize): 28293 Use absoluteLocation() when resizing frames. 28294 28295 * rendering/RenderMedia.cpp: 28296 (WebCore::RenderMedia::forwardEvent): 28297 Use absoluteLocation() when hit testing media controls. 28298 28299 * rendering/RenderSlider.cpp: 28300 (WebCore::HTMLSliderThumbElement::defaultEventHandler): 28301 (WebCore::RenderSlider::mouseEventIsInThumb): 28302 Use absoluteLocation() when handling slider events. 28303 28304 (WebCore::RenderSlider::forwardEvent): 28305 Factor some code out of HTMLInputElement::defaultEventHandler(). 28306 28307 * rendering/RenderTextControlSingleLine.cpp: 28308 (WebCore::RenderTextControlSingleLine::forwardEvent): 28309 Use absoluteLocation() when hit testing search field buttons, which fixees 28310 bugs in the search field with zooming. 28311 28312 2009-03-21 David Levin <levin (a] chromium.org> 28313 28314 Reviewed by Dimitri Glazkov. 28315 28316 https://bugs.webkit.org/show_bug.cgi?id=24727 28317 Add V8XMLHttpRequest*. 28318 28319 * bindings/v8/V8XMLHttpRequestUtilities.cpp: Added. 28320 * bindings/v8/V8XMLHttpRequestUtilities.h: Added. 28321 * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: Added. 28322 * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Added. 28323 * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Added. 28324 28325 2009-03-21 David Levin <levin (a] chromium.org> 28326 28327 Reviewed by Dimitri Glazkov. 28328 28329 https://bugs.webkit.org/show_bug.cgi?id=24725 28330 Add V8NodeFilter. 28331 28332 * bindings/v8/V8NodeFilter.cpp: Added. 28333 * bindings/v8/V8NodeFilter.h: Added. 28334 28335 2009-03-21 Dan Bernstein <mitz (a] apple.com> 28336 28337 Rubber-stamped by Kevin Decker 28338 28339 - remove some redundant #include statements 28340 28341 * bindings/js/JSDOMWindowBase.cpp: 28342 28343 2009-03-20 Dan Bernstein <mitz (a] apple.com> 28344 28345 Reviewed by Mark Rowe. 28346 28347 - fix <rdar://problem/6574185> REGRESSION (3.2.2-TOT): hang in text drawing code 28348 28349 * platform/graphics/win/FontCGWin.cpp: 28350 (WebCore::drawGDIGlyphs): Changed glyph stroking to fill and stroke each 28351 glyph as a separate path, instead of all glyphs as a single path. This 28352 matches what CGContextShowGlyphsWithAdvances() does, and has comparable 28353 performance. 28354 28355 2009-03-20 Dean Jackson <dino (a] apple.com> 28356 28357 Reviewed by Simon Fraser 28358 28359 Build fix for ENABLE(3D_RENDERING) 28360 28361 * rendering/RenderObject.h: 28362 (WebCore::makeMatrixRenderable): 28363 28364 2009-03-20 Dave Moore <davemoore (a] google.com> 28365 28366 Reviewed by Dimitri Glazkov. 28367 28368 https://bugs.webkit.org/show_bug.cgi?id=24705 28369 28370 A bug in the V8 bindings is preventing chromium from setting the href on the 28371 location object...any attempt throws a security error, not just for javascript 28372 protocol 28373 28374 * page/Location.idl: 28375 28376 2009-03-20 Craig Schlenter <craig.schlenter (a] gmail.com> 28377 28378 Reviewed by Dimitri Glazkov. 28379 28380 https://bugs.webkit.org/show_bug.cgi?id=24608 28381 28382 Include stdio.h needed for printf on gcc 4.4.0 28383 28384 * platform/KURLGoogle.cpp: 28385 28386 2009-03-20 Mike Belshe <mike (a] belshe.com> 28387 28388 Reviewed by Darin Fisher. 28389 28390 https://bugs.webkit.org/show_bug.cgi?id=24577 28391 28392 Don't let comments at the end of an event handler 28393 break the event handler. 28394 28395 No change in behavior, so no test. 28396 28397 * bindings/v8/V8LazyEventListener.cpp: 28398 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 28399 28400 2009-03-20 Norbert Leser <norbert.leser (a] nokia.com> 28401 28402 Reviewed by Darin Adler. 28403 28404 https://bugs.webkit.org/show_bug.cgi?id=24535 28405 28406 Fixes missing line terminator character (;) after macro call. 28407 It is common practice to add the trailing ";" where macros are substituted 28408 and not where they are defined with #define. 28409 This change is consistent with other macro declarations across webkit, 28410 and it also solves compilation failure with symbian compilers. 28411 28412 No change in behavior, so no test. 28413 28414 * bindings/js/JSDOMWindowShell.cpp: 28415 * bindings/js/JSEventListener.cpp: 28416 * bindings/js/JSImageConstructor.cpp: 28417 * bindings/js/JSInspectedObjectWrapper.cpp: 28418 * bindings/js/JSInspectorCallbackWrapper.cpp: 28419 * bindings/js/JSNamedNodesCollection.cpp: 28420 * bindings/js/JSNodeFilterCondition.cpp: 28421 * bindings/js/JSOptionConstructor.cpp: 28422 * bindings/js/JSQuarantinedObjectWrapper.cpp: 28423 * bindings/js/JSRGBColor.cpp: 28424 * bindings/js/JSWorkerContextBase.cpp: 28425 * bindings/js/JSXMLHttpRequestConstructor.cpp: 28426 * bindings/js/JSXSLTProcessorConstructor.cpp: 28427 * bindings/scripts/CodeGeneratorJS.pm: 28428 28429 2009-03-20 Mike Belshe <mike (a] belshe.com> 28430 28431 Reviewed by Dimitri Glazkov and Dave Hyatt. 28432 28433 https://bugs.webkit.org/show_bug.cgi?id=24324 28434 28435 Make the minimum timer configurable for different platforms. 28436 28437 * page/DOMTimer.cpp: 28438 (WebCore::DOMTimer::DOMTimer): 28439 (WebCore::DOMTimer::fired): 28440 * page/DOMTimer.h: 28441 (WebCore::DOMTimer::minTimerInterval): 28442 (WebCore::DOMTimer::setMinTimerInterval): 28443 28444 2009-03-20 Dean McNamee <deanm (a] chromium.org> 28445 28446 Reviewed by Darin Adler. 28447 28448 https://bugs.webkit.org/show_bug.cgi?id=22834 28449 28450 Make sure to consistently match new/delete and fastMalloc/fastFree. 28451 28452 * css/CSSSelectorList.cpp: 28453 (WebCore::CSSSelectorList::adoptSelectorVector): 28454 (WebCore::CSSSelectorList::deleteSelectors): 28455 28456 2009-03-20 Dan Bernstein <mitz (a] apple.com> 28457 28458 Reviewed by Dave Hyatt. 28459 28460 - fix https://bugs.webkit.org/show_bug.cgi?id=23739 28461 <rdar://problem/6556371> REGRESSION (r36513): iframe isn't sized properly upon load 28462 28463 * rendering/RenderBlock.cpp: 28464 (WebCore::RenderBlock::percentHeightDescendants): Added this accessor. 28465 * rendering/RenderBlock.h: 28466 * rendering/RenderTableSection.cpp: 28467 (WebCore::RenderTableSection::layoutRows): Extended the check for 28468 children that flex to include other descendants with percent height 28469 which is relative to the cell. 28470 28471 2009-03-20 Dmitry Titov <dimich (a] chromium.org> 28472 28473 Reviewed by Alexey Proskuryakov. 28474 28475 https://bugs.webkit.org/show_bug.cgi?id=24706 28476 Remove ScriptExecutionContext::encoding() since Workers do not need it. 28477 WorkerContext::encoding() is simply removed, while Document::encoding() 28478 made non-virtual and private. Workers use UTF-8 now except when instructed 28479 otherwise by http header. Also updated test. 28480 28481 * dom/Document.h: Made encoding() non-virtual and private. 28482 * dom/ScriptExecutionContext.h: removed encoding(). 28483 28484 * workers/Worker.cpp: 28485 (WebCore::Worker::Worker): 28486 (WebCore::Worker::notifyFinished): 28487 * workers/WorkerContext.cpp: removed encoding() implementation. 28488 (WebCore::WorkerContext::WorkerContext): 28489 (WebCore::WorkerContext::completeURL): 28490 * workers/WorkerContext.h: removed encoding() 28491 (WebCore::WorkerContext::create): 28492 * workers/WorkerContextProxy.h: 28493 * workers/WorkerImportScriptsClient.cpp: 28494 (WebCore::WorkerImportScriptsClient::didReceiveData): 28495 * workers/WorkerMessagingProxy.cpp: 28496 (WebCore::WorkerMessagingProxy::startWorkerContext): 28497 * workers/WorkerMessagingProxy.h: 28498 * workers/WorkerThread.cpp: 28499 (WebCore::WorkerThreadStartupData::create): 28500 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): 28501 (WebCore::WorkerThread::create): 28502 (WebCore::WorkerThread::WorkerThread): 28503 (WebCore::WorkerThread::workerThread): 28504 * workers/WorkerThread.h: 28505 In all these, removed storing encoding and 'inheriting' it from the parent. 28506 Instead, they are all using UTF-8 now. 28507 28508 2009-03-20 Timothy Hatcher <timothy (a] apple.com> 28509 28510 Change how threading exceptions are checked so they are reported 28511 by what round they were added. That way WebKit can decided the 28512 behavior per-round based on linked-on-or-after checks. 28513 28514 <rdar://problem/6626741&6648478&6635474&6674079> 28515 28516 Reviewed by Darin Adler. 28517 28518 * WebCore.base.exp: Export the new symbols. 28519 * bindings/objc/DOMAbstractView.mm: Use the new WebCoreThreadViolationCheckRoundOne macro. 28520 * bindings/scripts/CodeGeneratorObjC.pm: Ditto. 28521 * platform/ThreadCheck.h: 28522 * platform/mac/ThreadCheck.mm: 28523 (WebCore::readThreadViolationBehaviorFromUserDefaults): Refactor how the default is read. 28524 (WebCore::setDefaultThreadViolationBehavior): Take a round argument. 28525 (WebCore::reportThreadViolation): Ditto. 28526 (WebCoreReportThreadViolation): Ditto. 28527 28528 2009-03-20 Geoffrey Garen <ggaren (a] apple.com> 28529 28530 Reviewed by Sam Weinig. 28531 28532 Fixed up an out-of-date comment. 28533 28534 * bindings/js/JSDOMWindowCustom.h: 28535 (WebCore::JSDOMWindow::customPut): 28536 28537 2009-03-20 Beth Dakin <bdakin (a] apple.com> 28538 28539 Reviewed by Dave Hyatt. 28540 28541 Fix for https://bugs.webkit.org/show_bug.cgi?id=20909 REGRESSION 28542 (r35318): A press release at pfizer.com does not display correctly 28543 - and corresponding - 28544 <rdar://problem/6680073> 28545 28546 * rendering/RenderObject.cpp: 28547 (WebCore::RenderObject::invalidateContainerPrefWidths): 28548 * rendering/RenderObject.h: 28549 (WebCore::RenderObject::markContainingBlocksForLayout): 28550 28551 2009-03-20 Eric Seidel <eric (a] webkit.org> 28552 28553 Reviewed by Justin Garcia. 28554 28555 maxDeepOffset is confusing and should be removed 28556 https://bugs.webkit.org/show_bug.cgi?id=24586 28557 28558 Abstract some hard-to-read (but shared) logic into a new renderedAsNonInlineTableOrHR function. 28559 Add first/lastDeepEditingPositionForNode Position creation functions 28560 and deploy them to places we used to call maxDeepOffset. 28561 28562 Rename Position::atStart and atEnd to atStartOfTree atEndOfTree 28563 Add a new Position::atFirst/atLastEditingPositionForNode() and use these 28564 to replace a few more callers for maxDeepOffset() 28565 28566 Rename maxDeepOffset to lastEditingOffsetForNode (so that we mere mortals have some clue what it does) 28567 28568 "Editing positions" are confusing because they have one 28569 of two behaviors, depending on if the container node is ignored 28570 by editing (if editingIgnoresContent(node) returns true) or not. 28571 Positions referring to nodes ignored by editing are 28572 neighbor-relative (they are before or after the node) where as 28573 positions reffering to other nodes are container-relative 28574 (they are between two child nodes of the container, identified 28575 by the offset() member). I will be fixing this confusion in 28576 future patches. These renames hopefully make the current behavior clearer. 28577 28578 * dom/Position.cpp: 28579 (WebCore::Position::previous): 28580 (WebCore::Position::next): 28581 (WebCore::Position::atFirstEditingPositionForNode): 28582 (WebCore::Position::atLastEditingPositionForNode): 28583 (WebCore::Position::atStartOfTree): 28584 (WebCore::Position::atEndOfTree): 28585 (WebCore::Position::previousCharacterPosition): 28586 (WebCore::Position::nextCharacterPosition): 28587 (WebCore::Position::upstream): 28588 (WebCore::Position::isCandidate): 28589 (WebCore::firstDeepEditingPositionForNode): 28590 (WebCore::lastDeepEditingPositionForNode): 28591 * dom/Position.h: 28592 * dom/PositionIterator.cpp: 28593 (WebCore::PositionIterator::operator Position): 28594 (WebCore::PositionIterator::increment): 28595 (WebCore::PositionIterator::decrement): 28596 (WebCore::PositionIterator::atEnd): 28597 (WebCore::PositionIterator::atEndOfNode): 28598 * editing/CompositeEditCommand.cpp: 28599 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 28600 * editing/DeleteSelectionCommand.cpp: 28601 (WebCore::isTableCellEmpty): 28602 (WebCore::DeleteSelectionCommand::removeNode): 28603 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 28604 * editing/Editor.cpp: 28605 (WebCore::Editor::advanceToNextMisspelling): 28606 * editing/InsertLineBreakCommand.cpp: 28607 (WebCore::InsertLineBreakCommand::doApply): 28608 * editing/InsertListCommand.cpp: 28609 (WebCore::InsertListCommand::doApply): 28610 * editing/ReplaceSelectionCommand.cpp: 28611 (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): 28612 * editing/TypingCommand.cpp: 28613 (WebCore::TypingCommand::forwardDeleteKeyPressed): 28614 * editing/VisiblePosition.cpp: 28615 (WebCore::VisiblePosition::previous): 28616 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 28617 (WebCore::VisiblePosition::left): 28618 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 28619 (WebCore::VisiblePosition::right): 28620 * editing/VisibleSelection.cpp: 28621 (WebCore::VisibleSelection::selectionFromContentsOfNode): 28622 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): 28623 * editing/htmlediting.cpp: 28624 (WebCore::nextVisuallyDistinctCandidate): 28625 (WebCore::previousVisuallyDistinctCandidate): 28626 (WebCore::firstEditablePositionAfterPositionInRoot): 28627 (WebCore::lastEditablePositionBeforePositionInRoot): 28628 (WebCore::lastOffsetForEditing): 28629 (WebCore::isFirstPositionAfterTable): 28630 (WebCore::isLastPositionBeforeTable): 28631 (WebCore::positionBeforeNode): 28632 (WebCore::positionAfterNode): 28633 (WebCore::enclosingEmptyListItem): 28634 (WebCore::caretMaxOffset): 28635 * editing/htmlediting.h: 28636 * editing/visible_units.cpp: 28637 (WebCore::renderedAsNonInlineTableOrHR): 28638 (WebCore::startOfParagraph): 28639 (WebCore::endOfParagraph): 28640 (WebCore::startOfEditableContent): 28641 (WebCore::endOfEditableContent): 28642 * page/AccessibilityObject.cpp: 28643 (WebCore::endOfStyleRange): 28644 * page/AccessibilityRenderObject.cpp: 28645 (WebCore::AccessibilityRenderObject::visiblePositionRange): 28646 * rendering/RenderBox.cpp: 28647 (WebCore::RenderBox::positionForPoint): 28648 28649 2009-03-20 Dmitry Titov <dimich (a] chromium.org> 28650 28651 Reviewed by Dimitri Glazkov. 28652 28653 https://bugs.webkit.org/show_bug.cgi?id=24689 28654 Add (upstream) V8 bindings for Workers. Mostly style cleaning. 28655 28656 * bindings/v8/WorkerContextExecutionProxy.cpp: Added. 28657 * bindings/v8/WorkerContextExecutionProxy.h: Added. 28658 * bindings/v8/WorkerScriptController.cpp: Added. 28659 * bindings/v8/WorkerScriptController.h: Added. 28660 * bindings/v8/V8Index.h: Added. This is just a wrapper for v8_index.h, like V8Proxy.h 28661 * bindings/v8/V8Proxy.h: Added domObjectMap() function that wraps GetDOMObjectMap(). 28662 * bindings/v8/V8WorkerContextEventListener.cpp: 28663 (WebCore::V8WorkerContextEventListener::callListenerFunction): TrackEvent() renamed trackEvent() 28664 28665 2009-03-20 Stephen White <senorblanco (a] chromium.org> 28666 28667 Reviewed by Eric Seidel. 28668 28669 Fix for LayoutTests/fast/canvas/canvas-text-alignment.html 28670 on chromium/skia. The problem was that the gradient matrix 28671 for text was being applied twice. Fixed by reverting some of 28672 https://bugs.webkit.org/show_bug.cgi?id=23957, so that skiaDrawText 28673 is no longer responsible for measuring the text and scaling up 28674 the gradient matrix. Instead, the text bounding box is passed 28675 in from SVGPaintServerGradient. I didn't make this change for CG, 28676 since it uses a different method (the gradient is drawn using the 28677 text as a pre-rendered mask). 28678 https://bugs.webkit.org/show_bug.cgi?id=24687 28679 28680 * platform/graphics/skia/SkiaFontWin.cpp: 28681 (WebCore::skiaDrawText): 28682 * svg/graphics/SVGPaintServerGradient.cpp: 28683 (WebCore::SVGPaintServerGradient::setup): 28684 28685 2009-03-20 Xan Lopez <xlopez (a] igalia.com> 28686 28687 Rubber-stamped by Holger Freyther. 28688 28689 There seems to be some rounding error in cairo (or in how we use 28690 cairo) with some fonts, like DejaVu Sans Mono, which makes cairo 28691 report a height smaller than ascent + descent, which is wrong and 28692 confuses WebCore's layout system. Workaround this while we figure 28693 out what's going on. 28694 28695 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 28696 (WebCore::SimpleFontData::platformInit): 28697 * platform/graphics/gtk/SimpleFontDataPango.cpp: 28698 (WebCore::SimpleFontData::platformInit): 28699 28700 2009-03-19 Alexey Proskuryakov <ap (a] webkit.org> 28701 28702 Reviewed by Darin Adler. 28703 28704 https://bugs.webkit.org/show_bug.cgi?id=24122 28705 <rdar://problem/6674179> 28706 REGRESSION: DOM Range extractContents/deleteContents failures seen on Moxiecode tests 28707 28708 Test: fast/dom/Range/deleted-range-endpoints.html 28709 28710 * dom/Range.cpp: (WebCore::Range::processContents): Set the final range in accordance 28711 to the specification. 28712 28713 2009-03-19 Anders Carlsson <andersca (a] apple.com> 28714 28715 Reviewed by Dan Bernstein. 28716 28717 <rdar://problem/6682554> Flash content not being rendered (Shockwave Flash 10.0 r22) 28718 28719 If calling updateWidget for some reason resulted in another widget being added to m_widgetUpdateSet, then 28720 that object would never be updated. 28721 28722 * page/FrameView.cpp: 28723 (WebCore::FrameView::updateWidgets): 28724 Factor the widget updating code out into this method. Return true if the update set is empty. 28725 28726 (WebCore::FrameView::performPostLayoutTasks): 28727 Loop over the update set multiple times until all widgets have been updated or until we reach the cap. 28728 28729 * page/FrameView.h: 28730 28731 2009-03-18 Timothy Hatcher <timothy (a] apple.com> 28732 28733 Make the defered data loading timer honor the Page's scheduled runloop pairs. 28734 Introduces a new RunLoopTimer class that has an API mimicking Timer but 28735 allows it to be scheduled with one or more SchedulePairs. 28736 28737 <rdar://problem/6687342> -[WebView scheduleInRunLoop:forMode:] has no affect on timers 28738 28739 Reviewed by Darin Adler. 28740 28741 * WebCore.xcodeproj/project.pbxproj: Adds the new RunLoopTimer.{cpp,h} files. 28742 * loader/MainResourceLoader.cpp: 28743 (WebCore::MainResourceLoader::handleDataLoadNow): Use the MainResourceLoaderTimer typedef. 28744 (WebCore::MainResourceLoader::startDataLoadTimer): Added. Start the timer and on 28745 Mac platforms also schedule with the Page's SchedulePairs. 28746 (WebCore::MainResourceLoader::handleDataLoadSoon): Call startDataLoadTimer(). 28747 (WebCore::MainResourceLoader::setDefersLoading): Ditto. 28748 * loader/MainResourceLoader.h: 28749 * platform/cf/RunLoopTimerCF.cpp: Added. 28750 (WebCore::RunLoopTimerBase::~RunLoopTimerBase): 28751 (WebCore::timerFired): 28752 (WebCore::RunLoopTimerBase::start): 28753 (WebCore::RunLoopTimerBase::schedule): 28754 (WebCore::RunLoopTimerBase::stop): 28755 (WebCore::RunLoopTimerBase::isActive): 28756 * platform/RunLoopTimer.h: Added. 28757 (WebCore::RunLoopTimerBase::RunLoopTimerBase): 28758 (WebCore::RunLoopTimerBase::startRepeating): 28759 (WebCore::RunLoopTimerBase::startOneShot): 28760 (WebCore::RunLoopTimer::RunLoopTimer): 28761 (WebCore::RunLoopTimer::fired): 28762 28763 2009-03-19 Dimitri Glazkov <dglazkov (a] chromium.org> 28764 28765 Reviewed by Darin Fisher. 28766 28767 https://bugs.webkit.org/show_bug.cgi?id=24702 28768 Upstream miscellaneous bindings changes. 28769 28770 * bindings/v8/ScheduledAction.cpp: 28771 (WebCore::ScheduledAction::execute): Changed to call lower-case evaluate. 28772 * bindings/v8/ScriptCallStack.h: Added an extra include. 28773 28774 2009-03-19 Simon Fraser <simon.fraser (a] apple.com> 28775 28776 Reviewed by Dave Hyatt 28777 28778 https://bugs.webkit.org/show_bug.cgi?id=24686 28779 28780 When hit testing a RenderLayer whose parent lives in a preserves-3D hierarchy, 28781 we need to compare the computed z-offset with the depth-test z-offset before 28782 deciding that such a RenderLayer was hit. This fixes an issue, tested by the 28783 3d-point-mapping-overlapping.html test, where the child of a transformed element 28784 is found by hit testing, even when some other element with greater Z overlaps 28785 them both. 28786 28787 Improved the code by adding a utility method, isHitCandidate(), which computes and tests 28788 z-depth when necessary. 28789 28790 Tests: transforms/3d/point-mapping/3d-point-mapping-coplanar.html 28791 transforms/3d/point-mapping/3d-point-mapping-overlapping.html 28792 28793 * rendering/RenderLayer.cpp: 28794 (WebCore::isHitCandidate): 28795 (WebCore::RenderLayer::hitTestLayer): 28796 28797 2009-03-19 Jeremy Moskovich <jeremy (a] chromium.org> 28798 28799 Reviewed by Dimitri Glazkov. 28800 28801 https://bugs.webkit.org/show_bug.cgi?id=24456 28802 Split ColorChromium.cpp into Mac & Windows variants. 28803 Remove Chromium Dependency on platform/graphics/mac/ColorMac.mm since we 28804 ultimately need to take a different approach. For now, createCGColor() 28805 is copied from ColorMac.mm. 28806 28807 No observable change in behavior, so no test. 28808 28809 * platform/graphics/chromium/ColorChromium.cpp: 28810 (WebCore::focusRingColor): 28811 * platform/graphics/chromium/ColorChromiumMac.mm: Added. 28812 28813 2009-03-19 Pavel Feldman <pfeldman (a] chromium.org> 28814 28815 Reviewed by Dimitri Glazkov. 28816 28817 https://bugs.webkit.org/show_bug.cgi?id=24675 28818 Unforking frontend: add custom InspectorController methods 28819 implementation. 28820 28821 * bindings/v8/custom/V8InspectorControllerCustom.cpp: Added. 28822 28823 2009-03-19 Jay Campan <jcampan (a] google.com> 28824 28825 Reviewed by Dimitri Glazkov. 28826 28827 https://bugs.webkit.org/show_bug.cgi?id=24625 28828 Adding an accessor to the currently selected index in the PopupMenuChromium. 28829 This is required for implementing the deletion of an autocomplete entry in Chromium. 28830 28831 * platform/chromium/PopupMenuChromium.cpp: 28832 (WebCore::PopupContainer::selectedIndex): 28833 * platform/chromium/PopupMenuChromium.h: 28834 28835 2009-03-19 Evan Stade <estade (a] chromium.org> 28836 28837 Reviewed by Dimitri Glazkov. 28838 28839 https://bugs.webkit.org/show_bug.cgi?id=24526 28840 Improve windows skia text stroking. 28841 28842 Test: LayoutTests/svg/custom/struct-use-09-b.svg 28843 28844 * platform/graphics/skia/SkiaFontWin.cpp: Close the path representing 28845 each font glyph polygon, rather than only closing the path once per 28846 letter. This fixes stroking for letters with multiple polygons, such 28847 as 'A' or 'D'. 28848 (WebCore::getPathForGlyph): 28849 (WebCore::skiaDrawText): 28850 28851 2009-03-19 Simon Hausmann <simon.hausmann (a] nokia.com> 28852 28853 Reviewed by Tor Arne Vestb. 28854 28855 Fixed support for doing calls from JavaScript into NPAPI Plugins for the Qt port on Windows. 28856 28857 Removed dead code for distinguishing between Widget and PluginView in the Qt port. 28858 28859 * bindings/js/ScriptControllerQt.cpp: 28860 (WebCore::ScriptController::createScriptInstanceForWidget): Removed incorrect isNPAPI check. 28861 * plugins/PluginView.cpp: 28862 (WebCore::PluginView::PluginView): Removed m_isNPAPIPlugin variable. 28863 * plugins/PluginView.h: Removed setter/getter. 28864 * plugins/mac/PluginViewMac.cpp: 28865 (WebCore::PluginView::init): Removed call to setIsNPAPIPlugin. 28866 * plugins/qt/PluginViewQt.cpp: 28867 (WebCore::PluginView::init): Ditto. 28868 28869 2009-03-19 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 28870 28871 Reviewed by Oliver Hunt. 28872 28873 Bug 24596: ASSERT in JSC::PropertySlot::slotBase @ iGoogle homepage 28874 <https://bugs.webkit.org/show_bug.cgi?id=24596> 28875 <rdar://problem/6686493> 28876 28877 JSDOMWindow::customGetOwnPropertySlot() does an access check after calling 28878 JSGlobalObject::getOwnPropertySlot(). This causes the PropertySlot to be 28879 set twice, once to the value that is illegal to access, and then to undefined 28880 This causes an assertion failure in property access caching code. 28881 28882 The fix is to do the access check before calling JSGlobalObject::getOwnPropertySlot(). 28883 28884 * bindings/js/JSDOMWindowCustom.h: 28885 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 28886 28887 2009-03-18 Alexey Proskuryakov <ap (a] webkit.org> 28888 28889 Reviewed by Sam Weinig. 28890 28891 https://bugs.webkit.org/show_bug.cgi?id=24676 28892 Simple cross-origin requests shouldn't dispatch upload progress events 28893 28894 Test: http/tests/xmlhttprequest/simple-cross-origin-progress-events.html 28895 28896 * loader/CrossOriginAccessControl.cpp: (WebCore::passesAccessControlCheck): Added a comment 28897 explaining the somewhat unexpected behavior of this function. 28898 28899 * xml/XMLHttpRequestUpload.cpp: (WebCore::XMLHttpRequestUpload::hasListeners): 28900 * xml/XMLHttpRequestUpload.h: 28901 Report whether there are any event listeners registered. 28902 28903 * xml/XMLHttpRequest.h: Added m_uploadEventsAllowed. 28904 28905 * xml/XMLHttpRequest.cpp: 28906 (WebCore::XMLHttpRequest::createRequest): Set m_uploadEventsAllowed flag. 28907 (WebCore::XMLHttpRequest::makeSameOriginRequest): Ditto. 28908 (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest): Ditto. 28909 (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): Set request body - it can be 28910 non-empty for POST requests. 28911 (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight): Set m_uploadEventsAllowed flag. 28912 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): Ditto. 28913 (WebCore::XMLHttpRequest::abort): Only dispatch upload progress events if allowed. 28914 (WebCore::XMLHttpRequest::networkError): Ditto. 28915 (WebCore::XMLHttpRequest::abortError): Ditto. 28916 (WebCore::XMLHttpRequest::didSendData): Ditto. 28917 28918 2009-03-18 Marc-Antoine Ruel <maruel (a] chromium.org> 28919 28920 Reviewed by Darin Fisher. 28921 28922 https://bugs.webkit.org/show_bug.cgi?id=24398 28923 Fix a crash when loading a svg file in Chromium's test_shell and 28924 then reloading the page. 28925 28926 * history/BackForwardListChromium.cpp: 28927 (WebCore::BackForwardList::BackForwardList): 28928 (WebCore::BackForwardList::close): 28929 28930 2009-03-18 Eric Carlson <eric.carlson (a] apple.com> 28931 28932 Reviewed by Simon Fraser. 28933 28934 Fix for <rdar://problem/6685235> 28935 <video> element poster cannot be set dynamically if not originally set up in HTML 28936 28937 Allocate the media engine immediately so the plug-in proxy is available for 28938 scripting right away. 28939 28940 * platform/graphics/MediaPlayer.cpp: 28941 (WebCore::MediaPlayer::MediaPlayer): 28942 28943 2009-03-18 Beth Dakin <bdakin (a] apple.com> 28944 28945 Reviewed by Dave Hyatt. 28946 28947 Fix for <rdar://problem/6636747> REGRESSION (Safari 4 PB-r41326): 28948 Popup menu appears at the wrong location on page at http:// 28949 www.signonsandiego.com/ 28950 28951 This was a regression from http://trac.webkit.org/changeset/40769, 28952 which changed the base class of RenderInline to 28953 RenderBoxModelObject rather than RenderBox. 28954 28955 * rendering/RenderObject.cpp: 28956 (WebCore::RenderObject::offsetParent): offsetParent should return a 28957 RenderBoxModelObject rather than just a RenderBox, which is more 28958 restrictive. 28959 28960 2009-03-18 Anders Carlsson <andersca (a] apple.com> 28961 28962 Reviewed by Darin Adler. 28963 28964 <rdar://problem/6504776> 28965 CrashTracer: [USER] 188 crashes in Safari at com.apple.WebCore WTF::HashTableIterator<WTF::RefPtr<WebCore::ResourceLoader>, ... 28966 28967 Return early in case calling the client ends up spinning the run loop and completing/cancelling the load. 28968 28969 * loader/NetscapePlugInStreamLoader.cpp: 28970 (WebCore::NetscapePlugInStreamLoader::didCancel): 28971 28972 2009-03-18 David Levin <levin (a] chromium.org> 28973 28974 Reviewed by Dimitri Glazkov. 28975 28976 https://bugs.webkit.org/show_bug.cgi?id=24664 28977 Upstreaming v8 collection.h 28978 28979 No change in behavior, so no test. 28980 28981 * bindings/v8/V8Collection.h: Added. 28982 28983 2009-03-18 Sam Weinig <sam (a] webkit.org> 28984 28985 Reviewed by Simon Fraser. 28986 28987 Fix for https://bugs.webkit.org/show_bug.cgi?id=23966 28988 REGRESSION: Custom arrow navigation functionality doesn't work at dropular.net 28989 <rdar://problem/6589657> 28990 28991 Match the CSSOM spec for getClientRects and getBoundingClientRect by 28992 returning a 0x0 rect at the correct top/left position for empty inline 28993 boxes. 28994 28995 * rendering/RenderInline.cpp: 28996 (WebCore::RenderInline::absoluteRects): 28997 (WebCore::RenderInline::absoluteQuads): 28998 28999 2009-03-18 David Levin <levin (a] chromium.org> 29000 29001 Reviewed by Eric Seidel. 29002 29003 Match the changes done for windows in the bug 29004 https://bugs.webkit.org/show_bug.cgi?id=24530. 29005 29006 No change in behavior, so no test. 29007 29008 * rendering/RenderThemeChromiumLinux.cpp: 29009 (WebCore::RenderThemeChromiumLinux::extraDefaultStyleSheet): 29010 29011 2009-03-18 Dirk Schulze <krit (a] webkit.org> 29012 29013 Reviewed by Holger Freyther. 29014 29015 Added support for SVG's stroked texts to Qt. 29016 29017 [Qt] SVGs stroked text support missing 29018 https://bugs.webkit.org/show_bug.cgi?id=24262 29019 29020 * platform/graphics/qt/FontQt.cpp: 29021 (WebCore::Font::drawComplexText): 29022 29023 2009-03-18 Mark Rowe <mrowe (a] apple.com> 29024 29025 Reviewed by Alexey Proskuryakov. 29026 29027 Fix fast/encoding/char-decoding.html with recent ICU. 29028 29029 * platform/text/TextCodecICU.cpp: 29030 (WebCore::TextCodecICU::decode): Look for gb18030 case-insensitively, 29031 as newer versions of ICU use GB18030 as the canonical name. 29032 29033 2009-03-17 David Levin <levin (a] chromium.org> 29034 29035 Reviewed by Dimitri Glazkov. 29036 29037 https://bugs.webkit.org/show_bug.cgi?id=24662 29038 Chromium build fixes. 29039 29040 Bug https://bugs.webkit.org/show_bug.cgi?id=24663 tracks 29041 the invalid implementation of ScriptCallStack. 29042 29043 No change in behavior, so no test. 29044 29045 * bindings/v8/ScriptCallStack.h: 29046 (WebCore::ScriptCallStack::state): 29047 * platform/graphics/skia/PlatformContextSkia.cpp: 29048 (PlatformContextSkia::drawRect): 29049 29050 2009-03-17 David Carson <dacarson (a] apple.com> 29051 29052 Reviewed by David Hyatt. 29053 29054 Add anchor elements to the simple style sheet so that applications that 29055 are using WebKit just for simple text and links will also take advantage 29056 of the fast path. 29057 29058 * css/CSSStyleSelector.cpp: 29059 (WebCore::elementCanUseSimpleDefaultStyle): 29060 29061 2009-03-17 Darin Adler <darin (a] apple.com> 29062 29063 Reviewed by Adele Peterson. 29064 29065 <rdar://problem/6687005> Need support for new move-left/right selectors. 29066 29067 * editing/EditorCommand.cpp: 29068 (WebCore::executeMoveToLeftEndOfLine): Added. 29069 (WebCore::executeMoveToLeftEndOfLineAndModifySelection): Added. 29070 (WebCore::executeMoveToRightEndOfLine): Added. 29071 (WebCore::executeMoveToRightEndOfLineAndModifySelection): Added. 29072 Added command entries for the functions above. 29073 29074 2009-03-17 Ojan Vafai <ojan (a] chromium.org> 29075 29076 Reviewed by Adele Peterson. 29077 29078 Put the padding inside scrollbars on textareas. 29079 https://bugs.webkit.org/show_bug.cgi?id=24370 29080 29081 Put the padding inside the scrollbars on textareas. This is done by moving the 29082 overflow from the shadowNode to the RenderTextControlMultiline. As a result, 29083 all of the scroll handing methods that RenderTextControl overrides can be moved 29084 down into RenderTextControlSingleLine since RenderTextControlMultiline can now 29085 just use RenderBlock's versions. This also allows RenderTextControlMultiLine to 29086 no longer need a custom layout method since the shadowNode can now just size 29087 like a regular DIV. 29088 29089 * css/CSSStyleSelector.cpp: 29090 (WebCore::CSSStyleSelector::adjustRenderStyle): 29091 * rendering/RenderTextControl.cpp: 29092 (WebCore::RenderTextControl::styleDidChange): 29093 (WebCore::RenderTextControl::selection): 29094 (WebCore::RenderTextControl::calcHeight): 29095 (WebCore::RenderTextControl::hitInnerTextElement): 29096 * rendering/RenderTextControl.h: 29097 * rendering/RenderTextControlMultiLine.cpp: 29098 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 29099 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 29100 * rendering/RenderTextControlMultiLine.h: 29101 * rendering/RenderTextControlSingleLine.cpp: 29102 (WebCore::RenderTextControlSingleLine::styleDidChange): 29103 (WebCore::RenderTextControlSingleLine::autoscroll): 29104 (WebCore::RenderTextControlSingleLine::scrollWidth): 29105 (WebCore::RenderTextControlSingleLine::scrollHeight): 29106 (WebCore::RenderTextControlSingleLine::scrollLeft): 29107 (WebCore::RenderTextControlSingleLine::scrollTop): 29108 (WebCore::RenderTextControlSingleLine::setScrollLeft): 29109 (WebCore::RenderTextControlSingleLine::setScrollTop): 29110 (WebCore::RenderTextControlSingleLine::scroll): 29111 * rendering/RenderTextControlSingleLine.h: 29112 * rendering/TextControlInnerElements.cpp: 29113 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): 29114 (WebCore::RenderTextControlInnerBlock::positionForPoint): 29115 (WebCore::TextControlInnerTextElement::createRenderer): 29116 29117 2009-03-17 Darin Adler <darin (a] apple.com> 29118 29119 Reviewed by David Hyatt. 29120 29121 Bug 24517: REGRESSION (r41552): innerHTML does an updateLayout -- unneeded and can be slow 29122 https://bugs.webkit.org/show_bug.cgi?id=24517 29123 29124 * editing/DeleteButtonController.cpp: 29125 (WebCore::DeleteButtonController::enable): Added a call to updateRendering, since 29126 determining whether to display the delete button involves style and updateRendering 29127 also updates style (should probably be named updateStyle, in fact). Not needed to fix 29128 this bug, but would have prevented the crash that led to this bug in the first place. 29129 29130 * editing/EditCommand.cpp: 29131 (WebCore::EditCommand::EditCommand): Get rid of unneeded null check. All frames have 29132 delete button controllers. 29133 * editing/Editor.cpp: 29134 (WebCore::Editor::rangeForPoint): Ditto. 29135 29136 * editing/markup.cpp: 29137 (WebCore::appendStartMarkup): Changed a "&" to a "&&" so that generating markup 29138 doesn't depend on renderers at all when the convertBlocksToInlines boolean is false. 29139 This allows us to omit the call to updateLayoutIgnorePendingStylesheets in the 29140 createMarkup function that's called by innerHTML. 29141 (WebCore::MarkupAccumulator::appendMarkup): Turned this into a class with a member 29142 function. Added a feature where the accumulator will skip a node. Moved arguments 29143 that don't change during recursion into an object. This function still is a bit 29144 inefficient, since it creates a new HashMap at every level as it recurses, but for now 29145 I did not tackle that. Also replaced the onlyIncludeChildren boolean with EChildrenOnly 29146 for consistency and clarity. 29147 (WebCore::createMarkup): Removed the call to updateLayoutIgnorePendingStylesheets. 29148 Instead of calling disable/enable on the delete button controller's container element, 29149 pass it in to the markup accumulator as a node to skip. 29150 29151 2009-03-17 Scott Violet <sky (a] google.com> 29152 29153 Reviewed by Eric Seidel. 29154 29155 https://bugs.webkit.org/show_bug.cgi?id=24651 29156 Skia does not always render text fill/stroke pattern/gradient/color correctly 29157 29158 Changes Skia's font rendering to only render gradient/pattern if current 29159 color space indicates the gradient/pattern should be used. 29160 This is covered by LayoutTests/fast/canvas/canvas-text-alignment.html . 29161 29162 * platform/graphics/GraphicsContext.cpp: 29163 (WebCore::GraphicsContext::strokeColorSpace): 29164 (WebCore::GraphicsContext::fillColorSpace): 29165 * platform/graphics/GraphicsContext.h: 29166 (WebCore::): 29167 * platform/graphics/GraphicsContextPrivate.h: 29168 * platform/graphics/skia/SkiaFontWin.cpp: 29169 (WebCore::paintSkiaText): 29170 29171 2009-03-17 Adele Peterson <adele (a] apple.com> 29172 29173 Reviewed by Darin Adler. 29174 29175 Fix for https://bugs.webkit.org/show_bug.cgi?id=24655 29176 <rdar://problem/6633727> Hitting return at the end of a line with an anchor jumps me to the bottom of the message 29177 29178 Test: editing/inserting/6633727.html 29179 29180 This changes does a few things: 29181 1) Renames pos to insertionPosition. 29182 2) Eliminates "startNode". It doesn't work well to consider the node separately from the insertionPosition. 29183 The insertionPosition gets updated at various times, and it seems likely that startNode can get out of sync. 29184 3) Before building up a list of ancestors to move around when we insert the new block, make sure to use the deepest 29185 representation of the insertionPosition, so all ancestor nodes are correctly included. 29186 29187 * editing/InsertParagraphSeparatorCommand.cpp: (WebCore::InsertParagraphSeparatorCommand::doApply): 29188 29189 2009-03-17 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 29190 29191 Reviewed by Kevin Ollivier. 29192 29193 https://bugs.webkit.org/show_bug.cgi?id=24115 29194 Introduce platform independent stubs for plugins. 29195 29196 * plugins/PluginDataNone.cpp: Copied from WebCore/plugins/wx/PluginDataWx.cpp. 29197 * plugins/PluginPackageNone.cpp: Copied from WebCore/plugins/wx/PluginPackageWx.cpp. 29198 * plugins/PluginViewNone.cpp: Copied from WebCore/plugins/wx/PluginViewWx.cpp. 29199 * plugins/wx/PluginDataWx.cpp: Removed. 29200 * plugins/wx/PluginPackageWx.cpp: Removed. 29201 * plugins/wx/PluginViewWx.cpp: Removed. 29202 * webcore-wx.bkl: 29203 29204 2009-03-17 Darin Adler <darin (a] apple.com> 29205 29206 Earlier version reviewed by Adele Peterson. 29207 29208 Bug 24304: REGRESSION (r39864): Hitting the space bar to select an <input type=radio> 29209 or push an <input type=button> or <button> causes the page to scroll down. 29210 29211 Would be best to add a regression test for Windows eventually; tested that this has 29212 no effect on the Mac OS X platform. 29213 29214 * html/HTMLInputElement.cpp: 29215 (WebCore::HTMLInputElement::defaultEventHandler): Added FIXMEs and tweaked formatting. 29216 Use the code that calls the base class's defaultEventHandler early only in the cases 29217 where it's needed: keydown and keypress events in text fields. In other cases, do the 29218 more typical thing and call the default handler only at the end of the function. 29219 This function already had code to make sure the keypress event for space never gets 29220 through, but it was running too late since the scrolling code was moved into the 29221 base class default event handler. 29222 29223 2009-03-17 Simon Fraser <simon.fraser (a] apple.com> 29224 29225 Reviewed by Dave Hyatt 29226 29227 https://bugs.webkit.org/show_bug.cgi?id=24632 29228 29229 Fix repaint issues when composited layers come and go (only applies 29230 when ACCELERATED_COMPOSITING is turned on). 29231 29232 * rendering/RenderLayer.cpp: 29233 (WebCore::RenderLayer::RenderLayer): 29234 * rendering/RenderLayer.h: 29235 (WebCore::RenderLayer::mustOverlayCompositedLayers): 29236 (WebCore::RenderLayer::setMustOverlayCompositedLayers): 29237 * rendering/RenderLayerBacking.cpp: 29238 (WebCore::RenderLayerBacking::RenderLayerBacking): 29239 * rendering/RenderLayerBacking.h: 29240 29241 Move what used to be the 'forceCompositingLayer' flag from RenderLayerBacking 29242 to RenderLayer, because we don't want the side-effects of creating RenderLayerBacking 29243 when setting this flag. 29244 29245 * rendering/RenderLayerCompositor.cpp: 29246 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 29247 When a RenderLayer flips into or out of compositing mode, compute a repaint 29248 rect relative to the containerForRepaint, and repaint it. 29249 29250 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 29251 Call layer->setMustOverlayCompositedLayers() rather than setForcedCompositingLayer(). 29252 29253 (WebCore::RenderLayerCompositor::needsToBeComposited): 29254 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 29255 (WebCore::RenderLayerCompositor::requiresCompositingForTransform): 29256 (WebCore::RenderLayerCompositor::requiresCompositingForAnimation): 29257 * rendering/RenderLayerCompositor.h: 29258 29259 Rename requiresCompositingLayerForTransform() to requiresCompositingForTransform() 29260 and make it a class static method to match requiresCompositingForAnimation(). Both 29261 now take RenderObjects, rathern than RenderLayers. 29262 29263 * rendering/style/RenderStyle.h: 29264 (WebCore::InheritedFlags::hasTransformRelatedProperty): 29265 Minor tidyup using convenience methods added in an earlier commit. 29266 29267 2009-03-17 Simon Fraser <simon.fraser (a] apple.com> 29268 29269 Reviewed by Darin Adler 29270 29271 https://bugs.webkit.org/show_bug.cgi?id=24396 29272 29273 * config.h: 29274 Add WTF_USE_ACCELERATED_COMPOSITING, defined to 0 for now, and add some 29275 comments to make the #ifdefs more readable. 29276 29277 * css/CSSComputedStyleDeclaration.cpp: 29278 (WebCore::computedTransform): 29279 Add a comment to mention that we don't flatten the matrix. 29280 29281 * css/MediaQueryEvaluator.cpp: 29282 (WebCore::transform_3dMediaFeatureEval): 29283 Have the 'transform-3d' media query evaluate to 'true' if 3d-rendering 29284 is supported. 29285 29286 * platform/graphics/mac/GraphicsLayerCA.mm: 29287 (WebCore::GraphicsLayerCA::animateTransform): 29288 No need for the #ifdef here. If we don't support 3d, we will have already flattened 29289 the matrix. 29290 29291 * platform/graphics/transforms/TransformationMatrix.cpp: 29292 (WebCore::TransformationMatrix::makeAffine): 29293 * platform/graphics/transforms/TransformationMatrix.h: 29294 New method to convert the matrix to an affine matrix by throwing a way the non-affine 29295 parts. 29296 29297 * rendering/RenderLayer.cpp: 29298 (WebCore::RenderLayer::updateTransform): 29299 (WebCore::RenderLayer::currentTransform): 29300 * rendering/RenderLayerBacking.cpp: 29301 (WebCore::RenderLayerBacking::updateLayerTransform): 29302 If 3d rendering is not supported, convert the matrix to an affine matrix 29303 which can be rendered, and used for hit testing. 29304 29305 * rendering/RenderLayerCompositor.cpp: 29306 Change the name of the exported symbol that webkitdirs.pm uses to know if 29307 3d rendering is supported. There is no other 3d-rendering-specific symbol we can sniff. 29308 29309 * rendering/RenderObject.cpp: 29310 (WebCore::RenderObject::transformFromContainer): 29311 Only take perspective into account if 3d rendering is supported. 29312 29313 * rendering/RenderObject.h: 29314 (WebCore::makeMatrixRenderable): 29315 Utility method that flattens a matrix if 3d rendering is not supported. 29316 29317 2009-03-17 Kevin Ollivier <kevino (a] theolliviers.com> 29318 29319 wx build fix. Fix typo after mouse wheel changes. 29320 29321 * platform/wx/MouseWheelEventWx.cpp: 29322 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 29323 29324 2009-03-17 Darin Adler <darin (a] apple.com> 29325 29326 * inspector/ConsoleMessage.cpp: 29327 (WebCore::ConsoleMessage::isEqual): Fix build, remove stray parenthesis. 29328 29329 2009-03-17 Darin Adler <darin (a] apple.com> 29330 29331 Fix crash seen right away when running run-webkit-tests. 29332 29333 * inspector/ConsoleMessage.cpp: 29334 (WebCore::ConsoleMessage::isEqual): Restore assertion to its behavior pre-refactoring. 29335 Also tweaked formatting a bit. 29336 29337 2009-03-17 Alexey Proskuryakov <ap (a] webkit.org> 29338 29339 Reviewed by Darin Adler. 29340 29341 HTMLSelectElement::add() doesn't look at exception code returned from insertBefore(), so 29342 it doesn't need to zero it out before calling. 29343 29344 * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): Removed "ec = 0" line. 29345 29346 2009-03-17 Dan Bernstein <mitz (a] apple.com> 29347 29348 Reviewed by Adam Roben. 29349 29350 - WebCore part of adding a mechanism for controlling the caching of 29351 responses through WebFrameLoaderClient 29352 29353 Mac already has such a mechanism, and this adds one for CFNetwork ports. 29354 29355 * WebCore.vcproj/WebCore.vcproj: Added EmptyClients.h 29356 and ResourceLoaderCFNet.cpp. 29357 29358 * loader/EmptyClients.h: 29359 (WebCore::EmptyFrameLoaderClient::shouldCacheResponse): Added an 29360 implementation that always returns true. 29361 29362 * loader/FrameLoaderClient.h: Declared shouldCacheResponse(). 29363 29364 * loader/ResourceLoader.h: Ditto. 29365 29366 * loader/cf/ResourceLoaderCFNet.cpp: Added. 29367 (WebCore::ResourceLoader::shouldCacheResponse): Added. Calls through to 29368 FrameLoaderClient::shouldCacheResponse(). 29369 29370 * platform/network/ResourceHandleClient.h: 29371 (WebCore::ResourceHandleClient::shouldCacheResponse): Added an 29372 implementation that always returns true. 29373 29374 * platform/network/cf/ResourceHandleCFNet.cpp: 29375 (WebCore::willCacheResponse): Added a call to 29376 ResourceHandleClient::shouldCacheResponse(). If the client returns 29377 false, return 0, which will prevent CFNetwork from caching the response. 29378 29379 2009-03-17 Alexey Proskuryakov <ap (a] webkit.org> 29380 29381 Reviewed by Darin Adler. 29382 29383 https://bugs.webkit.org/show_bug.cgi?id=13287 29384 Cannot change SELECT to a dynamically created option 29385 29386 Tests: fast/forms/add-and-remove-option.html 29387 fast/forms/add-remove-option-modification-event.html 29388 fast/forms/add-selected-option.html 29389 fast/forms/select-cache-desynchronization.html 29390 29391 * dom/ContainerNode.cpp: 29392 (WebCore::dispatchChildInsertionEvents): Increment DOM tree version. This will happen when 29393 dispatching DOMSubtreeModified again, but the version should be incremented for event 29394 listeners to have an up to date view of the DOM. 29395 (WebCore::dispatchChildRemovalEvents): Ditto. 29396 29397 * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::insertedIntoTree): 29398 Make sure that the select element knows about its new selected option. 29399 29400 * html/HTMLOptionElement.h: Use insertedIntoTree() instead of insertedIntoDocument(), 29401 because DOM also needs to be updated for forms that are not in document yet. Similar 29402 problems exist for node removing, but removedFromTree() is called at a wrong time, so 29403 those problems cannot be fixed without deeper refactoring. 29404 29405 * html/HTMLSelectElement.cpp: 29406 (WebCore::HTMLSelectElement::setRecalcListItems): Reset m_activeSelectionAnchorIndex - it 29407 doesn't make sense to keep the anchor after programmatically changing the selection, and 29408 keeping it was causing a failure in fast/forms/listbox-selection.html. 29409 29410 * html/HTMLSelectElement.h: Removed overrides for ContainerNode methods that only called 29411 base class versions. 29412 29413 2009-03-17 Steve Falkenburg <sfalken (a] apple.com> 29414 29415 <rdar://problem/6690324> Accessing FTP sites reads unallocated memory, can result in garbled entries or crashes 29416 29417 Reviewed by Darin Adler. 29418 29419 * loader/FTPDirectoryDocument.cpp: 29420 (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Assign CString to a local while we hold pointers into it. 29421 29422 2009-03-16 David Hyatt <hyatt (a] apple.com> 29423 29424 <rdar://problem/6648411> REGRESSION: Layout of page is wrong at http://www.popcap.com/ 29425 29426 Make sure that the initial shouldPaint check that looks at enclosingLayers properly skips over 29427 layers that don't paint themselves. This is done by adding a new enclosingSelfPaintingLayer method 29428 so that RenderObjects can walk up the enclosing layer chain and skip any layers that don't paint 29429 themselves. 29430 29431 Reviewed by Darin Adler. 29432 29433 Added fast/block/float/overlapping-floats-with-overflow-hidden.html 29434 29435 * WebCore.base.exp: 29436 * rendering/RenderBlock.cpp: 29437 (WebCore::RenderBlock::addOverhangingFloats): 29438 * rendering/RenderObject.cpp: 29439 (WebCore::RenderObject::enclosingSelfPaintingLayer): 29440 * rendering/RenderObject.h: 29441 29442 2009-03-17 Xan Lopez <xlopez (a] igalia.com> 29443 29444 Reviewed by Holger Freyther. 29445 29446 https://bugs.webkit.org/show_bug.cgi?id=24592 29447 [GTK] Crash in FcPatternHash 29448 29449 Style fixes. 29450 29451 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 29452 (WebCore::FontPlatformData::operator=): 29453 * platform/graphics/gtk/FontPlatformDataPango.cpp: 29454 29455 2009-03-17 Xan Lopez <xlopez (a] igalia.com> 29456 29457 Reviewed by Holger Freyther. 29458 29459 https://bugs.webkit.org/show_bug.cgi?id=24592 29460 [GTK] Crash in FcPatternHash 29461 29462 Sanitize memory management in pango fonts. 29463 29464 Release memory allocated by FontPlatformDataPango in its own 29465 destructor instead of doing it from other classes, and add copy 29466 constructor and '=' operator to be able to track referenced 29467 objects properly. 29468 29469 * platform/graphics/gtk/FontPlatformDataPango.cpp: 29470 (WebCore::FontPlatformData::~FontPlatformData): 29471 (WebCore::FontPlatformData::operator=): 29472 (WebCore::FontPlatformData::FontPlatformData): 29473 * platform/graphics/gtk/SimpleFontDataPango.cpp: 29474 29475 2009-03-17 Darin Adler <darin (a] apple.com> 29476 29477 Reviewed by Alexey Proskuryakov. 29478 29479 Bug 24624: Crash in imageLoadEventTimerFired after adoptNode used on <img>, 29480 seen with inspector, which uses adoptNode 29481 https://bugs.webkit.org/show_bug.cgi?id=24624 29482 rdar://problem/6422850 29483 29484 Test: fast/dom/HTMLImageElement/image-load-cross-document.html 29485 29486 * dom/Document.cpp: 29487 (WebCore::Document::Document): Removed m_imageLoadEventTimer. 29488 (WebCore::Document::detach): Removed m_imageLoadEventDispatchSoonList and 29489 m_imageLoadEventDispatchingList. 29490 (WebCore::Document::implicitClose): Called ImageLoader::dispatchPendingLoadEvents 29491 instead of dispatchImageLoadEventsNow. 29492 29493 * dom/Document.h: Removed ImageLoader, dispatchImageLoadEventSoon, 29494 dispatchImageLoadEventsNow, removeImage, m_imageLoadEventDispatchSoonList, 29495 m_imageLoadEventDispatchingList, m_imageLoadEventTimer, and imageLoadEventTimerFired. 29496 29497 * loader/ImageLoader.cpp: 29498 (WebCore::loadEventSender): Added. Returns the single global ImageLoadEventSender 29499 object used privately as the target of the load event timer. 29500 (WebCore::ImageLoader::~ImageLoader): Call ImageLoadEventSender::cancelLoadEvent 29501 rather than Document::removeImage. 29502 (WebCore::ImageLoader::setImage): Use m_element directly, not element(). 29503 (WebCore::ImageLoader::updateFromElement): Ditto. Also name the local variable 29504 document instead of doc. 29505 (WebCore::ImageLoader::notifyFinished): Call ImageLoadEventSender::dispatchLoadEventSoon 29506 rather than Document::dispatchImageLoadEventSoon. 29507 (WebCore::ImageLoader::dispatchPendingLoadEvent): Added. Handles the common logic 29508 about when load events can be dispatched so that dispatchLoadEvent only has to 29509 have the specific part for each derived class. This includes a check that the 29510 document is attached, which used to be handled by having documents empty out the 29511 image load event vectors in the detach function. 29512 (WebCore::ImageLoader::dispatchPendingLoadEvents): Added. Calls the appropriate 29513 function on the ImageLoadEventSender, which avoids the need to have that class be 29514 public in the ImageLoader header. 29515 (WebCore::ImageLoadEventSender::ImageLoadEventSender): Added. Has the code that 29516 was previously in the Document constructor. 29517 (WebCore::ImageLoadEventSender::dispatchLoadEventSoon): Added. Has the code that 29518 was previously in Document::dispatchImageLoadEventSoon. 29519 (WebCore::ImageLoadEventSender::cancelLoadEvent): Added. Has the code that was 29520 previously in Document::removeImage. 29521 (WebCore::ImageLoadEventSender::dispatchPendingLoadEvents): Added. Has the code 29522 that was previously in Document::dispatchImageLoadEventsNow. 29523 (WebCore::ImageLoadEventSender::timerFired): Added. Calls dispatchPendingLoadEvents. 29524 29525 * loader/ImageLoader.h: Improved comments. Made the virtual functions private 29526 or protected rather than public. Added static dispatchPendingLoadEvents function 29527 for use by Document and private dispatchPendingLoadEvent function for use by 29528 ImageLoadEventSender. Made setLoadingImage private and eliminated 29529 setHaveFiredLoadEvent since that can all be done inside the class without any 29530 member functions. 29531 29532 * html/HTMLImageLoader.cpp: 29533 (WebCore::HTMLImageLoader::dispatchLoadEvent): Removed logic to check whether a 29534 load event already fired and whether image() is 0. These are now both base class 29535 responsibilities. 29536 * svg/SVGImageLoader.cpp: 29537 (WebCore::SVGImageLoader::dispatchLoadEvent): Ditto. 29538 * wml/WMLImageLoader.cpp: 29539 (WebCore::WMLImageLoader::dispatchLoadEvent): Ditto. 29540 29541 2009-03-17 Dimitri Glazkov <dglazkov (a] chromium.org> 29542 29543 Reviewed by Timothy Hatcher. 29544 29545 https://bugs.webkit.org/show_bug.cgi?id=24623 29546 Refactor ConsoleMessage to use ScriptFuncitonCall and eliminate JSC 29547 dependencies. 29548 29549 * bindings/js/ScriptFunctionCall.cpp: 29550 (WebCore::ScriptFunctionCall::appendArgument): Added uint and ScriptString-taking methods. 29551 * bindings/js/ScriptFunctionCall.h: 29552 * bindings/js/ScriptObjectQuarantine.cpp: 29553 (WebCore::quarantineValue): Added generic ScriptValue quarantine helper. 29554 * bindings/js/ScriptObjectQuarantine.h: 29555 * bindings/js/ScriptValue.cpp: 29556 (WebCore::ScriptValue::isEqual): Added. 29557 * bindings/js/ScriptValue.h: 29558 * inspector/ConsoleMessage.cpp: 29559 (WebCore::ConsoleMessage::ConsoleMessage): 29560 (WebCore::ConsoleMessage::addToConsole): Added. 29561 (WebCore::ConsoleMessage::isEqual): Changed to use ScriptValue::isEqual. 29562 * inspector/ConsoleMessage.h: 29563 (WebCore::ConsoleMessage::incrementCount): Added. 29564 * inspector/InspectorController.cpp: 29565 (WebCore::InspectorController::addConsoleMessage): Changed to use ConsoleMessage::addToConsole. 29566 (WebCore::InspectorController::populateScriptObjects): Ditto. 29567 * inspector/InspectorController.h: 29568 29569 2009-03-17 Kevin Ollivier <kevino (a] theolliviers.com> 29570 29571 Reviewed by Mark Rowe. 29572 29573 Get BUILDING_ON_* defines from Platform.h. 29574 29575 https://bugs.webkit.org/show_bug.cgi?id=24630 29576 29577 * WebCorePrefix.h: 29578 29579 2009-03-16 Xan Lopez <xlopez (a] igalia.com> 29580 29581 Reviewed by Holger Freyther. 29582 29583 https://bugs.webkit.org/show_bug.cgi?id=24592 29584 [GTK] Crash in FcPatternHash 29585 29586 Sanitize memory management in gtk fonts. 29587 29588 Release memory allocated by FontPlatformDataGtk in its own 29589 destructor instead of doing it from other classes, and add copy 29590 constructor and '=' operator to be able to track referenced 29591 objects properly. 29592 29593 * platform/graphics/gtk/FontPlatformData.h: 29594 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 29595 (WebCore::FontPlatformData::operator=): 29596 (WebCore::FontPlatformData::FontPlatformData): 29597 (WebCore::FontPlatformData::~FontPlatformData): 29598 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 29599 (WebCore::SimpleFontData::platformDestroy): 29600 29601 2009-03-17 Ariya Hidayat <ariya.hidayat (a] nokia.com> 29602 29603 Build fix for Qt < 4.5. 29604 29605 As reported by Yael Aharon <yael.aharon (a] nokia.com> 29606 29607 * platform/graphics/qt/GraphicsContextQt.cpp: 29608 (WebCore::GraphicsContext::drawLine): 29609 29610 2009-03-17 Alexey Proskuryakov <ap (a] webkit.org> 29611 29612 Reviewed by Sam Weinig. 29613 29614 https://bugs.webkit.org/show_bug.cgi?id=24614 29615 Access control checks are different in cached and uncached cases 29616 29617 Test: http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html 29618 29619 * loader/CrossOriginAccessControl.cpp: 29620 (WebCore::isOnAccessControlSimpleRequestMethodWhitelist): Factored out simple method 29621 check for use in both cached and uncached cases. In cached case, an old definition that 29622 omitted HEAD was still used. 29623 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Check that content type has an 29624 allowed value. This is needed in all call sites. Also changed to compare MIME type, not 29625 content type. 29626 (WebCore::isSimpleCrossOriginAccessRequest): Use the above methods. 29627 29628 * loader/CrossOriginAccessControl.h: Expose isOnAccessControlSimpleRequestMethodWhitelist. 29629 29630 * loader/CrossOriginPreflightResultCache.cpp: 29631 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod): 29632 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): 29633 Use the new checks for simple method and header. 29634 29635 2009-03-16 Gustavo Noronha Silva <gns (a] gnome.org> and Thadeu Lima de Souza Cascardo <cascardo (a] holoscopio.com> 29636 29637 Reviewed by Mark Rowe. 29638 29639 https://bugs.webkit.org/show_bug.cgi?id=24638 29640 [GTK] HTML5 media tags do not work 29641 29642 Add a repaint-requested signal to the video sink, and use it to 29643 call MediaPlayerPrivate::repaint, so that the video actually 29644 plays. 29645 29646 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 29647 (WebCore::mediaPlayerPrivateRepaintCallback): 29648 (WebCore::MediaPlayerPrivate::createGSTPlayBin): 29649 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 29650 (webkit_video_sink_idle_func): 29651 (webkit_video_sink_render): 29652 (webkit_video_sink_class_init): 29653 29654 2009-03-16 Gustavo Noronha Silva <gns (a] gnome.org> and Thadeu Lima de Souza Cascardo <cascardo (a] holoscopio.com> 29655 29656 Reviewed by Holger Freyther. 29657 29658 https://bugs.webkit.org/show_bug.cgi?id=24638 29659 [GTK] HTML5 media tags do not work 29660 29661 Work-around the fact that gst_element_query_duration returns true even 29662 though it is unable to figure out the duration when in stream (push) 29663 mode. 29664 29665 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 29666 (WebCore::MediaPlayerPrivate::duration): 29667 29668 2009-03-16 Darin Adler <darin (a] apple.com> 29669 29670 Reviewed by Kevin Decker. 29671 29672 <rdar://problem/6642742> Top Sites malfunction when switching text zoom mode 29673 29674 * page/Frame.cpp: 29675 (WebCore::Frame::setNeedsReapplyStyles): Dont do anything if the frame is 29676 currently showing a non-HTML view. 29677 29678 2009-03-16 Darin Adler <darin (a] apple.com> 29679 29680 Reviewed by Adele Peterson. 29681 29682 Bug 24629: moving forward or backward a paragraph fails at edge of document 29683 https://bugs.webkit.org/show_bug.cgi?id=24629 29684 rdar://problem/6544413 29685 29686 Test: editing/selection/move-paragraph-document-edges.html 29687 29688 * editing/visible_units.cpp: 29689 (WebCore::previousParagraphPosition): Use the last result from 29690 previousLinePosition rather than going all the way back to what was originally 29691 passed in when we hit exception cases like null or not moving. This correctly 29692 inherits the behavior of previousLinePosition when we are in a paragraph at the 29693 edge of a document. 29694 (WebCore::nextParagraphPosition): Ditto. 29695 29696 2009-03-16 Darin Adler <darin (a] apple.com> 29697 29698 Reviewed by Adele Peterson. 29699 29700 Bug 24619: RenderObject::selectionStartEnd does not need to be a virtual function 29701 https://bugs.webkit.org/show_bug.cgi?id=24619 29702 29703 * rendering/RenderObject.h: Remove virtual keyword from selectionStartEnd declaration. 29704 * rendering/RenderView.h: Ditto. 29705 29706 2009-03-16 Peter Kasting <pkasting (a] google.com> 29707 29708 Reviewed by David Hyatt. 29709 29710 https://bugs.webkit.org/show_bug.cgi?id=24368 29711 DOM scroll events should be based off the actual number of wheel 29712 ticks, not off the number of lines scrolled. This matches IE. 29713 29714 * dom/Node.cpp: 29715 (WebCore::Node::dispatchWheelEvent): 29716 * dom/WheelEvent.cpp: 29717 (WebCore::WheelEvent::WheelEvent): 29718 * dom/WheelEvent.h: 29719 (WebCore::WheelEvent::create): 29720 * platform/PlatformWheelEvent.h: 29721 (WebCore::PlatformWheelEvent::wheelTicksX): 29722 (WebCore::PlatformWheelEvent::wheelTicksY): 29723 * platform/gtk/WheelEventGtk.cpp: 29724 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 29725 * platform/mac/WheelEventMac.mm: 29726 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 29727 * platform/qt/WheelEventQt.cpp: 29728 * platform/win/WheelEventWin.cpp: 29729 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 29730 * platform/wx/MouseWheelEventWx.cpp: 29731 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 29732 29733 2009-03-16 Simon Fraser <simon.fraser (a] apple.com> 29734 29735 Reviewed by Eric Seidel 29736 29737 Clean up a few issues in the Animation code: 29738 29739 * page/animation/AnimationBase.cpp: 29740 (WebCore::AnimationBase::updateStateMachine): 29741 Whitespace 29742 29743 (WebCore::AnimationBase::willNeedService): 29744 Don't round to float, use std::max 29745 29746 * page/animation/AnimationController.cpp: 29747 (WebCore::AnimationControllerPrivate::startTimeResponse): 29748 Fix erroneously copied line to null out m_lastResponseWaiter. 29749 29750 2009-03-12 David Hyatt <hyatt (a] apple.com> 29751 29752 Reviewed by Eric Seidel 29753 29754 https://bugs.webkit.org/show_bug.cgi?id=13632 29755 29756 Overflow scrolling needs to account for the bottom/right padding on the object itself as well 29757 as for bottom/right margins on children. 29758 29759 Existing tests cover this. 29760 29761 * rendering/RenderBlock.cpp: 29762 (WebCore::RenderBlock::lowestPosition): 29763 (WebCore::RenderBlock::rightmostPosition): 29764 29765 2009-03-16 Sam Weinig <sam (a] webkit.org> 29766 29767 Reviewed by Anders Carlsson. 29768 29769 Fix for <rdar://problem/6320555> 29770 Add an upper limit for setting HTMLSelectElement.length. 29771 29772 Test: fast/forms/select-max-length.html 29773 29774 * html/HTMLSelectElement.cpp: 29775 (WebCore::HTMLSelectElement::setOption): 29776 (WebCore::HTMLSelectElement::setLength): 29777 29778 2009-03-16 Eric Carlson <eric.carlson (a] apple.com> 29779 29780 Reviewed by Simon Fraser. 29781 29782 <rdar://problem/6686721> Media document crash in 64-bit WebKit 29783 29784 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 29785 (WebCore::MediaPlayerPrivate::createQTMovieView): QTMovieContentViewClass is only used when 29786 rendering inline with old versions of QuickTime, so don't look for it when we are in a 29787 media document. 29788 29789 2009-03-16 Dimitri Glazkov <dglazkov (a] chromium.org> 29790 29791 Reviewed by Timothy Hatcher. 29792 29793 https://bugs.webkit.org/show_bug.cgi?id=24590 29794 Refactor InspectorDOMStorageResource to use ScriptFunctionCall. 29795 29796 * bindings/js/ScriptFunctionCall.cpp: 29797 (WebCore::ScriptFunctionCall::appendArgument): Added method for bool argument. 29798 * bindings/js/ScriptFunctionCall.h: Ditto, also cleaned up. 29799 * bindings/js/ScriptObjectQuarantine.cpp: 29800 (WebCore::getQuarantinedScriptObject): Added Storage helper. 29801 * bindings/js/ScriptObjectQuarantine.h: Ditto. 29802 * inspector/InspectorController.cpp: 29803 (WebCore::InspectorController::populateScriptObjects): Changed to use bind method. 29804 (WebCore::InspectorController::resetScriptObjects): Changed to use unbind method. 29805 (WebCore::InspectorController::didUseDOMStorage): Changed to use isSameHostAndType and bind methods. 29806 * inspector/InspectorController.h: Removed add/remove methods for DOM storage. 29807 * inspector/InspectorDOMStorageResource.cpp: 29808 (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): 29809 (WebCore::InspectorDOMStorageResource::isSameHostAndType): Added. 29810 (WebCore::InspectorDOMStorageResource::bind): Added. 29811 (WebCore::InspectorDOMStorageResource::unbind): Added. 29812 * inspector/InspectorDOMStorageResource.h: 29813 29814 2009-03-16 Mike Belshe <mike (a] belse.com> 29815 29816 Reviewed by Dimitri Glazkov. 29817 29818 https://bugs.webkit.org/show_bug.cgi?id=24580 29819 Fix query() to match KURL behavior, this time with the code that 29820 compiles. 29821 29822 * platform/KURLGoogle.cpp: 29823 (WebCore::KURL::query): Fix copy/paste mistake. 29824 29825 2009-03-16 Alexey Proskuryakov <ap (a] webkit.org> 29826 29827 Reviewed by Darin Adler. 29828 29829 https://bugs.webkit.org/show_bug.cgi?id=21752 29830 REGRESSION: referencing XHR constructor for a not yet loaded frame permanently breaks it 29831 29832 Test: fast/dom/Window/window-early-properties-xhr.html 29833 29834 For some transitions, the Window object is not replaced, but Document is. When this happened, 29835 window.document property was updated, but references to Document kept in cached constructors 29836 were not. 29837 29838 * bindings/js/JSAudioConstructor.cpp: 29839 (WebCore::JSAudioConstructor::JSAudioConstructor): 29840 (WebCore::JSAudioConstructor::document): 29841 (WebCore::JSAudioConstructor::mark): 29842 * bindings/js/JSAudioConstructor.h: 29843 * bindings/js/JSImageConstructor.cpp: 29844 (WebCore::JSImageConstructor::JSImageConstructor): 29845 (WebCore::JSImageConstructor::document): 29846 (WebCore::JSImageConstructor::mark): 29847 * bindings/js/JSImageConstructor.h: 29848 * bindings/js/JSMessageChannelConstructor.cpp: 29849 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 29850 (WebCore::JSMessageChannelConstructor::scriptExecutionContext): 29851 (WebCore::JSMessageChannelConstructor::mark): 29852 * bindings/js/JSMessageChannelConstructor.h: 29853 * bindings/js/JSOptionConstructor.cpp: 29854 (WebCore::JSOptionConstructor::JSOptionConstructor): 29855 (WebCore::JSOptionConstructor::document): 29856 (WebCore::JSOptionConstructor::mark): 29857 * bindings/js/JSOptionConstructor.h: 29858 * bindings/js/JSXMLHttpRequestConstructor.cpp: 29859 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 29860 (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext): 29861 (WebCore::JSXMLHttpRequestConstructor::mark): 29862 * bindings/js/JSXMLHttpRequestConstructor.h: 29863 Changed cached constructors to keep a reference to Window, not Document. 29864 29865 2009-03-15 Alexey Proskuryakov <ap (a] webkit.org> 29866 29867 Reviewed by Darin Adler. 29868 29869 https://bugs.webkit.org/show_bug.cgi?id=24549 29870 Impose a limit on Access-Control-Max-Age value 29871 29872 * loader/CrossOriginPreflightResultCache.cpp: 29873 (WebCore::CrossOriginPreflightResultCacheItem::parse): 29874 29875 2009-03-15 Greg Bolsinga <bolsinga (a] apple.com> 29876 29877 Reviewed by David Kilzer. 29878 29879 <rdar://problem/6668875> Normalize Geolocation results 29880 29881 * platform/mac/GeolocationServiceMac.mm: 29882 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): 29883 29884 2009-03-15 Greg Bolsinga <bolsinga (a] apple.com> 29885 29886 Reviewed by David Kilzer. 29887 29888 Update ::toString format as suggested by Darin Adler. 29889 29890 * page/Geoposition.cpp: 29891 (WebCore::Geoposition::toString): 29892 29893 2009-03-15 David Kilzer <ddkilzer (a] apple.com> 29894 29895 <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor. 29896 29897 Reviewed by Darin Adler. 29898 29899 Yet another case where we would trigger extended encoding loading needlessly. 29900 29901 * platform/text/TextEncoding.cpp: 29902 (WebCore::TextEncoding::encodingForFormSubmission): 29903 29904 2009-03-15 Simon Fraser <simon.fraser (a] apple.com> 29905 29906 Build fix: no review. 29907 29908 * rendering/style/ContentData.h: 29909 29910 2009-03-15 David Kilzer <ddkilzer (a] apple.com> 29911 29912 Bug 24542: Improve ContentData encapsulation 29913 29914 <https://bugs.webkit.org/show_bug.cgi?id=24542> 29915 29916 Reviewed by Simon Fraser. 29917 29918 No tests since there is no change in behavior. 29919 29920 * rendering/RenderObject.cpp: 29921 (WebCore::RenderObject::createObject): Used getter methods 29922 instead of data members on ContentData class. Used isImage() 29923 convenience method. 29924 * rendering/RenderObjectChildList.cpp: 29925 (WebCore::RenderObjectChildList::updateBeforeAfterContent): Ditto. 29926 29927 * rendering/style/ContentData.cpp: 29928 (WebCore::ContentData::clear): Extracted code into 29929 deleteContent() method. 29930 (WebCore::ContentData::dataEquivalent): Added. Extracted code 29931 from StyleRareNonInheritedData::contentDataEquivalent(). 29932 (WebCore::ContentData::deleteContent): Added. Used by setter 29933 methods. 29934 * rendering/style/ContentData.h: Made m_type, m_content and 29935 m_next private. 29936 (WebCore::ContentData::isCounter): Added. 29937 (WebCore::ContentData::isImage): Added. 29938 (WebCore::ContentData::isNone): Added. 29939 (WebCore::ContentData::isText): Added. 29940 (WebCore::ContentData::type): Added. 29941 (WebCore::ContentData::dataEquivalent): Added. 29942 (WebCore::ContentData::image): Added. 29943 (WebCore::ContentData::setImage): Added. 29944 (WebCore::ContentData::text): Added. 29945 (WebCore::ContentData::setText): Added. 29946 (WebCore::ContentData::counter): Added. 29947 (WebCore::ContentData::setCounter): Added. 29948 (WebCore::ContentData::next): Added. 29949 (WebCore::ContentData::setNext): Added. 29950 29951 * rendering/style/CounterContent.h: 29952 (WebCore::operator!=): Removed. 29953 (WebCore::operator==): Renamed operator!=() and reversed its 29954 logic after extracting code from 29955 StyleRareNonInheritedData::contentDataEquivalent() to create 29956 ContentData::dataEquivalent(). 29957 29958 * rendering/style/RenderStyle.cpp: 29959 (WebCore::RenderStyle::setContent): Used new getters and setters 29960 on ContentData class. Changed first argument from a StringImpl* 29961 to a PassRefPtr<StrimgImpl>. Used isText() convenience method. 29962 * rendering/style/RenderStyle.h: 29963 (WebCore::RenderStyle::setContent): Updated declaration. 29964 * rendering/style/StyleRareNonInheritedData.cpp: 29965 (WebCore::StyleRareNonInheritedData::contentDataEquivalent): 29966 Extracted most logic in while() loop into 29967 ContentData::dataEquivalent(). 29968 29969 2009-03-15 Gustavo Noronha Silva <gns (a] gnome.org> 29970 29971 Reviewed by Anders Carlsson. 29972 29973 https://bugs.webkit.org/show_bug.cgi?id=24602 29974 [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word 29975 29976 Reintroduce the URI into the soup message after having set it in 29977 the KURL, on redirects, to make sure it is properly encoded. This 29978 fixes bad request problems when servers give bad URIs on their 29979 response's Location header. 29980 29981 * platform/network/soup/ResourceHandleSoup.cpp: 29982 (WebCore::restartedCallback): 29983 29984 2009-03-15 Alexey Proskuryakov <ap (a] webkit.org> 29985 29986 Reviewed by Darin Adler. 29987 29988 https://bugs.webkit.org/show_bug.cgi?id=19737 29989 No cursor and paste not enabled right clicking text field/area 29990 29991 Test: fast/events/right-click-focus.html 29992 29993 * page/EventHandler.cpp: 29994 (WebCore::EventHandler::handleMousePressEventSingleClick): 29995 (WebCore::EventHandler::handleMousePressEvent): 29996 Take normal code path for right clicks (we were taking it for Ctrl-clicks anyway). 29997 29998 2009-03-15 Alexey Proskuryakov <ap (a] webkit.org> 29999 30000 Reviewed by Adele Peterson. 30001 30002 https://bugs.webkit.org/show_bug.cgi?id=23949 30003 HTMLSelectElement is in inconsistent state when handling mutation events 30004 30005 Test: fast/forms/mutation-event-recalc.html 30006 30007 * dom/ContainerNode.cpp: 30008 (WebCore::ContainerNode::insertBefore): 30009 (WebCore::ContainerNode::appendChild): 30010 Call childrenChanged() before dispatching modification events, not after. 30011 30012 * html/HTMLOptGroupElement.cpp: 30013 (WebCore::HTMLOptGroupElement::insertBefore): 30014 (WebCore::HTMLOptGroupElement::replaceChild): 30015 (WebCore::HTMLOptGroupElement::removeChild): 30016 (WebCore::HTMLOptGroupElement::appendChild): 30017 (WebCore::HTMLOptGroupElement::removeChildren): 30018 * html/HTMLSelectElement.cpp: 30019 (WebCore::HTMLSelectElement::add): 30020 (WebCore::HTMLSelectElement::remove): 30021 (WebCore::HTMLSelectElement::insertBefore): 30022 (WebCore::HTMLSelectElement::replaceChild): 30023 (WebCore::HTMLSelectElement::removeChild): 30024 (WebCore::HTMLSelectElement::appendChild): 30025 (WebCore::HTMLSelectElement::removeChildren): 30026 Remove calls to recalcSelectOptions(). It is too late to recalc now, after mutation events 30027 were already dispatched. 30028 30029 2009-03-14 Greg Bolsinga <bolsinga (a] apple.com> 30030 30031 <rdar://problem/6683465> 30032 30033 Geolocation has to be able to handle NULL Frames. 30034 30035 Reviewed by Mark Rowe 30036 30037 2009-03-14 Greg Bolsinga <bolsinga (a] apple.com> 30038 30039 Reviewed by David Kilzer. 30040 30041 Geoposition::toString was missing the Coordinates after the update. 30042 30043 * page/Geoposition.cpp: 30044 (WebCore::Geoposition::toString): 30045 30046 2009-03-14 Jan Michael Alonzo <jmalonzo (a] webkit.org> 30047 30048 Reviewed by Mark Rowe. 30049 30050 [Gtk] Build fix - pass a Coordinate to Geoposition::create 30051 https://bugs.webkit.org/show_bug.cgi?id=24603 30052 30053 Gtk build fix per r41650 30054 https://bugs.webkit.org/show_bug.cgi?id=24506 30055 Geolocation in Safari differs from the spec, no Coordinates attribute on Position 30056 30057 Pass a Coordinate to Geoposition::create. 30058 30059 * platform/gtk/GeolocationServiceGtk.cpp: 30060 (WebCore::GeolocationServiceGtk::updatePosition): 30061 30062 2009-03-14 Alexey Proskuryakov <ap (a] webkit.org> 30063 30064 Reviewed by Darin Adler. 30065 30066 https://bugs.webkit.org/show_bug.cgi?id=24545 30067 Make cross-site XHR simple request definition match current spec draft 30068 30069 Tests: http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type.html 30070 http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html 30071 30072 * loader/CrossOriginAccessControl.cpp: 30073 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Added Content-Language. 30074 (WebCore::isSimpleCrossOriginAccessRequest): Added HEAD. Restricted content types to those 30075 that could be sent via form submission. 30076 30077 2009-03-14 Alexey Proskuryakov <ap (a] webkit.org> 30078 30079 Reviewed by Darin Adler. 30080 30081 https://bugs.webkit.org/show_bug.cgi?id=15172 30082 object fallback - empty string for first argument of setAttributeNS does not work like null 30083 30084 https://bugs.webkit.org/show_bug.cgi?id=24548 30085 createElementNS("", name) should create an element in null namespace 30086 30087 Tests: fast/dom/createElementNS-empty-namespace.html 30088 fast/dom/setAttributeNS-empty-namespace.html 30089 30090 * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl): 30091 Convert empty namespaces to null. 30092 30093 2009-03-13 Mark Rowe <mrowe (a] apple.com> 30094 30095 Rubber-stamped by Dan Bernstein. 30096 30097 Take advantage of the ability of recent versions of Xcode to easily switch the active 30098 architecture. 30099 30100 * Configurations/DebugRelease.xcconfig: 30101 30102 2009-03-13 John Abd-El-Malek <jam (a] google.com> 30103 30104 Reviewed by Darin Fisher. 30105 30106 https://bugs.webkit.org/show_bug.cgi?id=24593 30107 Added requestorID so we can track the request to its WebView without using frame (which was removed). 30108 30109 * platform/network/chromium/ResourceRequest.h: 30110 (WebCore::ResourceRequest::ResourceRequest): 30111 (WebCore::ResourceRequest::requestorID): 30112 (WebCore::ResourceRequest::setRequestorID): 30113 (WebCore::ResourceRequest::setTargetType): 30114 (WebCore::ResourceRequest::policyURL): 30115 (WebCore::ResourceRequest::setPolicyURL): 30116 (WebCore::ResourceRequest::requestorPid): 30117 (WebCore::ResourceRequest::setRequestorPid): 30118 30119 2009-03-13 Mike Belshe <mike (a] belshe.com> 30120 30121 Reviewed by Dimitri Glazkov. 30122 30123 https://bugs.webkit.org/show_bug.cgi?id=24561 30124 Add custom V8 bindings for HTMLElementCanvas, Location. 30125 30126 * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Added. 30127 * bindings/v8/custom/V8LocationCustom.cpp: Added. 30128 30129 2009-03-13 Stephen White <senorblanco (a] chromium.org> 30130 30131 Reviewed by Eric Seidel. 30132 30133 https://bugs.webkit.org/show_bug.cgi?id=24584 30134 30135 Fix transparent text rendering on Chromium. FontChromiumWin 30136 was calling beginTransparencyLayer()/endTransparencyLayer(), with 30137 a TransparencyWin inside to do GDI ClearType rendering over an 30138 opaque background. TransparencyWin does its special sauce 30139 in the destructor, but it was being called too late to be used 30140 correctly in the layer. Put the special sauce into a new function, 30141 composite(), and call that explicitly instead. 30142 30143 * platform/graphics/chromium/FontChromiumWin.cpp: 30144 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 30145 * platform/graphics/chromium/TransparencyWin.cpp: 30146 (WebCore::TransparencyWin::~TransparencyWin): 30147 (WebCore::TransparencyWin::composite): 30148 (WebCore::TransparencyWin::init): 30149 * platform/graphics/chromium/TransparencyWin.h: 30150 * rendering/RenderThemeChromiumWin.cpp: 30151 (WebCore::): 30152 30153 2009-03-13 Mike Belshe <mike (a] belshe.com> 30154 30155 Reviewed by Dimitri Glazkov. 30156 30157 https://bugs.webkit.org/show_bug.cgi?id=24562 30158 Add custom implementation for getCSSCanvasContext to V8 bindings. 30159 30160 * bindings/v8/custom/V8DocumentCustom.cpp: Added new method. 30161 30162 2009-03-13 Mike Belshe <mike (a] belse.com> 30163 30164 Reviewed by Dimitri Glazkov. 30165 30166 https://bugs.webkit.org/show_bug.cgi?id=24580 30167 Fix query() to match KURL behavior. 30168 30169 * platform/KURLGoogle.cpp: 30170 (WebCore::KURL::query): remove extra logic around question mark. 30171 30172 2009-03-13 Chris Fleizach <cfleizach (a] apple.com> 30173 30174 Reviewed by Beth Dakin. 30175 30176 Bug 24474: AX: in multi-body tables, asking for a cell at a specific coordinate can return nil 30177 https://bugs.webkit.org/show_bug.cgi?id=24474 30178 30179 Test: platform/mac-snowleopard/accessibility/table-multi-bodies.html 30180 30181 * page/AccessibilityTable.cpp: 30182 (WebCore::AccessibilityTable::cellForColumnAndRow): 30183 30184 2009-03-13 Jian Li <jianli (a] chromium.org> 30185 30186 Reviewed by Dimitri Glazkov. 30187 30188 https://bugs.webkit.org/show_bug.cgi?id=24589 30189 Upstream changes to V8 event listeners (Chromium r11133) in order to 30190 fix worker functionality break in Chromium. 30191 30192 * bindings/v8/V8AbstractEventListener.cpp: 30193 (WebCore::V8AbstractEventListener::invokeEventHandler): 30194 (WebCore::V8AbstractEventListener::handleEvent): 30195 * bindings/v8/V8AbstractEventListener.h: 30196 * bindings/v8/V8WorkerContextEventListener.cpp: 30197 (WebCore::V8WorkerContextEventListener::handleEvent): 30198 30199 2009-03-13 Dimitri Glazkov <dglazkov (a] chromium.org> 30200 30201 Reviewed by Timothy Hatcher. 30202 30203 https://bugs.webkit.org/show_bug.cgi?id=24524 30204 Introduce ScriptObject and ScriptFunctionCall abstractions. 30205 30206 * GNUmakefile.am: Added ScriptObject and ScriptFunctionCall to project. 30207 * WebCore.pro: Ditto. 30208 * WebCore.vcproj/WebCore.vcproj: Ditto. 30209 * WebCore.xcodeproj/project.pbxproj: Ditto. 30210 * WebCoreSources.bkl: Ditto. 30211 * bindings/js/ScriptFunctionCall.cpp: Added. 30212 * bindings/js/ScriptFunctionCall.h: Added. 30213 * bindings/js/ScriptObject.cpp: Added. 30214 * bindings/js/ScriptObject.h: Added. 30215 * bindings/js/ScriptObjectQuarantine.cpp: Added. 30216 * bindings/js/ScriptObjectQuarantine.h: Added. 30217 * inspector/InspectorController.cpp: 30218 (WebCore::InspectorController::populateScriptObjects): Changed to use InspectorDatabaseResource::bind. 30219 (WebCore::InspectorController::resetScriptObjects): Changed to use InspectorDatabaseResource::unbind. 30220 (WebCore::InspectorController::didOpenDatabase): Changed to use InspectorDatabaseResource::unbind. 30221 * inspector/InspectorController.h: Removed addScriptDatabaseResource and 30222 removeScriptDatabaseResource declarations. 30223 * inspector/InspectorDatabaseResource.cpp: 30224 (WebCore::InspectorDatabaseResource::InspectorDatabaseResource): 30225 (WebCore::InspectorDatabaseResource::bind): Added. 30226 (WebCore::InspectorDatabaseResource::unbind): Added. 30227 * inspector/InspectorDatabaseResource.h: Added bind and unbind declarations. 30228 30229 2009-03-13 Peter Kasting <pkasting (a] google.com> 30230 30231 Reviewed by Eric Seidel. 30232 30233 https://bugs.webkit.org/show_bug.cgi?id=24467 30234 Make Skia drawRect() and stroke behavior match CG. 30235 30236 This makes drawRect() ignore the stroke width (like CG does), and 30237 adds a warning comment about that to the appropriate header. 30238 30239 It also eliminates some hacky code in Skia's stroke preparation, 30240 which tried to adjust odd-width strokes to fall on pixel boundaries. 30241 Not only did this not match CG, it wouldn't necessarily work right, 30242 because there could be other transforms (e.g. full-page zoom) that 30243 would affect the stroke before it reached the device pixel level. 30244 30245 * platform/graphics/GraphicsContext.h: 30246 * platform/graphics/skia/GraphicsContextSkia.cpp: 30247 (WebCore::GraphicsContext::drawRect): 30248 (WebCore::GraphicsContext::fillRect): 30249 * platform/graphics/skia/PlatformContextSkia.cpp: 30250 (PlatformContextSkia::drawRect): 30251 (PlatformContextSkia::setupPaintForStroking): 30252 30253 2009-03-13 Jian Li <jianli (a] chromium.org> 30254 30255 Reviewed by Dimitri Glazkov. 30256 30257 https://bugs.webkit.org/show_bug.cgi?id=24583 30258 Need to change scope of constructor and destructor of V8ObjectEventListener from private 30259 to protected so that they could be used in its derived class V8WorkerContextEventListener. 30260 30261 * bindings/v8/V8ObjectEventListener.h: 30262 30263 2009-03-13 David Levin <levin (a] chromium.org> 30264 30265 Reviewed by Dimitri Glazkov. 30266 30267 https://bugs.webkit.org/show_bug.cgi?id=24579 30268 Many V8*Event* files are misplaced. 30269 30270 This code is infrastructure for supporting the bindings and thus should 30271 be in the bindings/v8 directory. 30272 30273 * bindings/v8/V8AbstractEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.cpp. 30274 * bindings/v8/V8AbstractEventListener.h: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.h. 30275 * bindings/v8/V8LazyEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.cpp. 30276 * bindings/v8/V8LazyEventListener.h: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.h. 30277 * bindings/v8/V8ObjectEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.cpp. 30278 * bindings/v8/V8ObjectEventListener.h: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.h. 30279 * bindings/v8/V8WorkerContextEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.cpp. 30280 * bindings/v8/V8WorkerContextEventListener.h: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.h. 30281 30282 2009-03-13 Adele Peterson <adele (a] apple.com> 30283 30284 Reviewed by Justin Garcia. 30285 30286 Fix for <rdar://problem/5089327> Color of quoted content is wrong when pasted inside other quoted content 30287 30288 Test: editing/pasteboard/5089327.html 30289 30290 Handle spans being pasted within a quoted region in the same way we handle "paste as quotation" content. 30291 30292 * editing/ReplaceSelectionCommand.cpp: 30293 (WebCore::handleStyleSpansBeforeInsertion): 30294 (WebCore::ReplaceSelectionCommand::handleStyleSpans): 30295 30296 2009-03-13 Greg Bolsinga <bolsinga (a] apple.com> 30297 30298 Reviewed by Simon Fraser. 30299 30300 Update Geolocation perimission dialogs to be asynchronous. 30301 https://bugs.webkit.org/show_bug.cgi?id=24505 30302 30303 Geolocation now requests permission from the Chrome asynchronously. 30304 The Chrome is passed the Geolocation object, and the Chrome sets the permission 30305 on the Geolocation. Geolocation also tracks if the Chrome should clear its cache 30306 of SecurityOrigins with geolocation permission. This is so that the GeolocationService 30307 can inform the Chrome of its request, and the Chrome is also free to implement its 30308 own policy. 30309 30310 * WebCore.base.exp: 30311 * WebCore.xcodeproj/project.pbxproj: 30312 * page/Chrome.cpp: 30313 (WebCore::Chrome::requestGeolocationPermissionForFrame): 30314 * page/Chrome.h: 30315 * page/ChromeClient.h: 30316 (WebCore::ChromeClient::requestGeolocationPermissionForFrame): 30317 * page/Geolocation.cpp: 30318 (WebCore::Geolocation::Geolocation): 30319 (WebCore::Geolocation::getCurrentPosition): 30320 (WebCore::Geolocation::watchPosition): 30321 (WebCore::Geolocation::setIsAllowed): 30322 (WebCore::Geolocation::displayChallengeIfNecessary): 30323 (WebCore::Geolocation::geolocationServicePositionChanged): 30324 * page/Geolocation.h: 30325 (WebCore::Geolocation::isAllowed): 30326 (WebCore::Geolocation::setShouldClearCache): 30327 (WebCore::Geolocation::shouldClearCache): 30328 (WebCore::Geolocation::): 30329 30330 2009-03-13 Anders Carlsson <andersca (a] apple.com> 30331 30332 Reviewed by Dan Bernstein. 30333 30334 <rdar://problem/6610666> Revise the Cocoa event model text API 30335 30336 Add a NPCocoaEventTextInput event type. Remove the text input variables. 30337 30338 * bridge/npapi.h: 30339 (_NPCocoaEvent::): 30340 30341 2009-03-13 Kevin Decker <kdecker (a] apple.com> 30342 30343 Reviewed by Anders. 30344 30345 <rdar://problem/6630340> REGRESSION (39114-39115): Unity Web Player no longer works if Flip4Mac is also installed 30346 30347 The code assumed if we have a plug-in that supports "application/x-oleobject" we should always prefer the object tag 30348 over of an embed tag. That assumption can cause the Mac platform to load the wrong plug-in, as Flip4Mac claims supports 30349 for x-oleobject. 30350 30351 * rendering/RenderPartObject.cpp: 30352 (WebCore::shouldUseEmbedDescendant): Made the Mac platform always return true here. 30353 30354 2009-03-13 Jian Li <jianli (a] chromium.org> 30355 30356 Reviewed by Dimitri Glazkov. 30357 30358 https://bugs.webkit.org/show_bug.cgi?id=24559 30359 Need to port JSC fix (r41565) to V8 in order to fix layout test onload-single-line-comment.html. 30360 30361 * bindings/v8/custom/V8LazyEventListener.cpp: 30362 (WebCore::V8LazyEventListener::getListenerFunction): 30363 (WebCore::V8LazyEventListener::getWrappedListenerFunction): 30364 30365 2009-03-13 Jian Li <jianli (a] chromium.org> 30366 30367 Reviewed by Dimitri Glazkov. 30368 30369 https://bugs.webkit.org/show_bug.cgi?id=24557 30370 This is to support running multiple workers in a single worker process in chromium. 30371 30372 * bindings/v8/custom/V8WorkerContextEventListener.cpp: 30373 (WebCore::V8WorkerContextEventListener::handleEvent): 30374 Add locker to v8 event listener of worker context. 30375 30376 2009-03-13 Alexey Proskuryakov <ap (a] webkit.org> 30377 30378 Reviewed by Sam Weinig. 30379 30380 https://bugs.webkit.org/show_bug.cgi?id=24575 30381 XHR response is incorrect after a network error. 30382 30383 Tests: http/tests/xmlhttprequest/cross-site-denied-response-sync-2.html 30384 http/tests/xmlhttprequest/cross-site-denied-response-sync.html 30385 http/tests/xmlhttprequest/cross-site-denied-response.html 30386 30387 * xml/XMLHttpRequest.cpp: 30388 (WebCore::XMLHttpRequest::networkError): Call internalAbort() to fully reset the request. 30389 (WebCore::XMLHttpRequest::didFailRedirectCheck): No need to call internalAbort() here. Note 30390 that since internalAbort() can drop GC protection, it is not safe to use the object after 30391 this call. 30392 (WebCore::XMLHttpRequest::didReceiveData): Check that the request wasn't aborted, and 30393 return early if it was. This can happen during sync requests, as the loader does not know 30394 that it was aborted, and just synthesizes all callbacks. 30395 30396 2009-03-13 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 30397 30398 Reviewed by Alexey Proskuryakov. 30399 30400 https://bugs.webkit.org/show_bug.cgi?id=3547 30401 XMLHttpRequest.statusText returns always "OK" 30402 30403 Covered by existing tests (which now pass on all platforms but Mac). 30404 30405 * xml/XMLHttpRequest.cpp: 30406 (WebCore::XMLHttpRequest::statusText): Return ResourceResponse status text. It is now up 30407 to each platform to correctly set the status text or set it to "OK" to retain current 30408 behavior. 30409 30410 2009-03-13 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 30411 30412 Reviewed by Alexey Proskuryakov. 30413 30414 https://bugs.webkit.org/show_bug.cgi?id=24349 30415 [QT] HTTP status text is never set 30416 30417 Set HTTP status text to the reason phrase attribute of QNetworkReply. 30418 30419 * platform/network/qt/QNetworkReplyHandler.cpp: 30420 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 30421 30422 2009-03-12 Simon Fraser <simon.fraser (a] apple.com> 30423 30424 Reviewed by Mark Rowe 30425 30426 <rdar://problem/6622300>: Reproducible crash on 30427 <http://www.editgrid.com/explore/tnc/dave/FusionChart%3A_Candlestick> 30428 30429 Prevent CSSStyleSheet::checkLoaded() writing to freed memory when it gets 30430 deleted from under itself. The sheetLoaded() notification can allow scripts 30431 to run via HTMLTokenizer::executeScriptsWaitingForStylesheets(), 30432 which can cause the last ref to the CSSStyleSheet to be released. 30433 30434 * css/CSSStyleSheet.cpp: 30435 (WebCore::CSSStyleSheet::checkLoaded): 30436 30437 2009-03-12 Kevin Ollivier <kevino (a] theolliviers.com> 30438 30439 wx build fix. Allow make-generated-sources.sh to pass args down to DerivedSources.make 30440 30441 * make-generated-sources.sh: 30442 30443 2009-03-12 Adam Treat <adam.treat (a] torchmobile.com> 30444 30445 Reviewed by Oliver Hunt. 30446 30447 https://bugs.webkit.org/show_bug.cgi?id=24498 30448 Fix the Qt port to use the same algorithm for drawing dashed and dotted 30449 borders as the other ports. This makes the Qt port pixel-for-pixel perfect 30450 compared to border drawing with Apple's canonical mac port and much closer 30451 to konqueror and firefox behavior. 30452 30453 * platform/graphics/qt/GraphicsContextQt.cpp: 30454 (WebCore::GraphicsContext::drawLine): 30455 30456 2009-02-26 Eric Seidel <eric (a] webkit.org> 30457 30458 Reviewed by Justin Garcia. 30459 30460 Clean up DOMSelection to use some helper functions 30461 making the code smaller, and less error-prone. 30462 https://bugs.webkit.org/show_bug.cgi?id=19221 30463 30464 I tried moving DOMSelection off of rangeCompliantEquivalent 30465 but failed. VisibleSelection holds positions like (table, 1) to mean 30466 "after the table". 30467 30468 * page/DOMSelection.cpp: 30469 (WebCore::DOMSelection::visibleSelection): 30470 (WebCore::anchorPosition): 30471 (WebCore::focusPosition): 30472 (WebCore::basePosition): 30473 (WebCore::extentPosition): 30474 (WebCore::DOMSelection::anchorNode): 30475 (WebCore::DOMSelection::anchorOffset): 30476 (WebCore::DOMSelection::focusNode): 30477 (WebCore::DOMSelection::focusOffset): 30478 (WebCore::DOMSelection::baseNode): 30479 (WebCore::DOMSelection::baseOffset): 30480 (WebCore::DOMSelection::extentNode): 30481 (WebCore::DOMSelection::extentOffset): 30482 * page/DOMSelection.h: 30483 30484 2009-03-12 Dmitry Titov <dimich (a] chromium.org> 30485 30486 Reviewed by Dimitri Glazkov. 30487 30488 https://bugs.webkit.org/show_bug.cgi?id=24563 30489 Change ResourceRequest to be a struct rather then a class to match other declarations. 30490 30491 * platform/network/chromium/ResourceRequest.h: 30492 30493 2009-03-12 David Levin <levin (a] chromium.org> 30494 30495 Reviewed by Darin Fisher. 30496 30497 Bug 24530: width100percent-searchfield.html should be fixed for chromium. 30498 <https://bugs.webkit.org/show_bug.cgi?id=24530> 30499 30500 Compensate for r39924 in chromium, which broke LayoutTests/fast/replaced/width100percent-searchfield.html 30501 30502 * css/themeChromiumWin.css: Added. 30503 Overrides the changes to start supporting input[type="search"] on Windows (since 30504 Chromium doesn't do anything special for this). 30505 30506 * rendering/RenderThemeChromiumWin.cpp: 30507 (WebCore::supportsFocus): 30508 (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet): 30509 (WebCore::RenderThemeChromiumWin::determineState): 30510 (WebCore::RenderThemeChromiumWin::getThemeData): 30511 30512 2009-03-12 Greg Bolsinga <bolsinga (a] apple.com> 30513 30514 Reviewed by Antti Koivisto. 30515 30516 https://bugs.webkit.org/show_bug.cgi?id=24506 30517 Geolocation in Safari differs from the spec, no Coordinates attribute on Position 30518 30519 Get up to date. 30520 30521 * DerivedSources.make: 30522 * GNUmakefile.am: 30523 * WebCore.pro: 30524 * WebCore.scons: 30525 * WebCore.vcproj/WebCore.vcproj: 30526 * WebCore.xcodeproj/project.pbxproj: 30527 * WebCoreSources.bkl: 30528 * bindings/js/JSGeolocationCustom.cpp: 30529 (WebCore::createPositionOptions): 30530 * page/Coordinates.cpp: Added. 30531 (WebCore::Coordinates::toString): 30532 * page/Coordinates.h: Added. 30533 (WebCore::Coordinates::create): 30534 (WebCore::Coordinates::latitude): 30535 (WebCore::Coordinates::longitude): 30536 (WebCore::Coordinates::altitude): 30537 (WebCore::Coordinates::accuracy): 30538 (WebCore::Coordinates::altitudeAccuracy): 30539 (WebCore::Coordinates::heading): 30540 (WebCore::Coordinates::speed): 30541 (WebCore::Coordinates::Coordinates): 30542 * page/Coordinates.idl: Added. 30543 * page/Geoposition.cpp: 30544 (WebCore::Geoposition::toString): 30545 * page/Geoposition.h: 30546 (WebCore::Geoposition::create): 30547 (WebCore::Geoposition::coords): 30548 (WebCore::Geoposition::Geoposition): 30549 * page/Geoposition.idl: 30550 * page/PositionOptions.h: 30551 (WebCore::PositionOptions::create): 30552 (WebCore::PositionOptions::maximumAge): 30553 (WebCore::PositionOptions::setMaximumAge): 30554 (WebCore::PositionOptions::PositionOptions): 30555 * platform/mac/GeolocationServiceMac.mm: 30556 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): 30557 30558 2009-03-12 Dimitri Glazkov <dglazkov (a] chromium.org> 30559 30560 Reviewed by Darin Fisher. 30561 30562 https://bugs.webkit.org/show_bug.cgi?id=24496 30563 Fix console logging of non-string values by coercing the argument to 30564 a string, for V8 bindings. 30565 30566 Test: fast/js/console-non-string-values.html 30567 30568 * bindings/v8/ScriptValue.cpp: Added toString method. 30569 (WebCore::ScriptValue::toString): 30570 * bindings/v8/ScriptValue.h: Added PlatformString, ScriptState includes 30571 and toString declaration. 30572 30573 2009-03-12 Darin Fisher <darin (a] chromium.org> 30574 30575 Reviewed by Dimitri Glazkov. 30576 30577 Eliminate ChromiumBridge::uiResourceProtocol 30578 https://bugs.webkit.org/show_bug.cgi?id=24558 30579 30580 * platform/chromium/ChromiumBridge.h: 30581 30582 2009-03-12 Greg Bolsinga <bolsinga (a] apple.com> 30583 30584 Reviewed by Simon Fraser. 30585 30586 Missing breaks in switch statement 30587 https://bugs.webkit.org/show_bug.cgi?id=24556 30588 30589 * platform/mac/GeolocationServiceMac.mm: 30590 (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]): 30591 30592 2009-03-12 Darin Fisher <darin (a] chromium.org> 30593 30594 Reviewed by Dimitri Glazkov. 30595 30596 https://bugs.webkit.org/show_bug.cgi?id=24554 30597 Remove some unused functions from ChromiumBridge. 30598 30599 * platform/chromium/ChromiumBridge.h: 30600 30601 2009-03-02 Eric Seidel <eric (a] webkit.org> 30602 30603 Reviewed by Darin Fisher and Justin Garcia. 30604 30605 Safari crashes during drag and drop in Google presentations 30606 due to mutation event handlers removing DOM content during insertNode 30607 https://bugs.webkit.org/show_bug.cgi?id=22634 30608 30609 Added a bunch of "null" checks to make sure nodes are still 30610 in the document before we operate on them. This is an 30611 inelegant solution, but it's the best we have for now. 30612 30613 Test: editing/selection/crash-on-drag-with-mutation-events.html 30614 30615 * editing/CompositeEditCommand.cpp: 30616 (WebCore::CompositeEditCommand::insertNodeAt): 30617 * editing/ReplaceSelectionCommand.cpp: 30618 (WebCore::ReplaceSelectionCommand::doApply): 30619 30620 2009-03-12 Dimitri Glazkov <dglazkov (a] chromium.org> 30621 30622 Reviewed by Adam Treat. 30623 30624 https://bugs.webkit.org/show_bug.cgi?id=24525 30625 REGRESSION: Inspector window doesn't close when inspected page is 30626 destroyed. This is a revert of r41158, which became unnecessary when 30627 InspectorController became ref-counted in r41462. 30628 30629 * inspector/InspectorController.cpp: 30630 (WebCore::InspectorController::inspectedPageDestroyed): Reset m_inspectedPage 30631 after calling close(). 30632 (WebCore::InspectorController::stopUserInitiatedProfiling): Remove 30633 m_inspectedPage check guard around profile logic. 30634 30635 2009-03-12 Peter Kasting <pkasting (a] google.com> 30636 30637 Reviewed by Darin Fisher. 30638 30639 https://bugs.webkit.org/show_bug.cgi?id=24502 30640 Make horizontal scrolling on Windows always go the correct direction. 30641 30642 * platform/PlatformWheelEvent.h: 30643 * platform/win/WheelEventWin.cpp: 30644 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 30645 30646 2009-03-12 Dimitri Glazkov <dglazkov (a] chromium.org> 30647 30648 Reviewed by Simon Fraser. 30649 30650 https://bugs.webkit.org/show_bug.cgi?id=24496 30651 Fix console logging of non-string values by coercing the argument to 30652 a string. 30653 30654 Test: fast/js/console-non-string-values.html 30655 30656 * bindings/js/ScriptValue.cpp: Removed PlatformString include. 30657 * bindings/js/ScriptValue.h: Added toString method. 30658 (WebCore::ScriptValue::toString): 30659 * page/Console.cpp: 30660 (WebCore::getFirstArgumentAsString): Changed firstArgumentAsString method to use 30661 ScriptValue::toString. 30662 (WebCore::Console::addMessage): added extra ScriptState argument to callsite. 30663 (WebCore::Console::count): Ditto. 30664 30665 2009-03-12 Simon Fraser <simon.fraser (a] apple.com> 30666 30667 Reviewed by Adele Peterson. 30668 30669 https://bugs.webkit.org/show_bug.cgi?id=24508 30670 30671 Fix updating of text field with placeholder text when value is set 30672 by ensuring that updatePlaceholderVisibility() is called after 30673 the value has been updated, not before. 30674 30675 Test: fast/forms/placeholder-set-value.html 30676 30677 * html/HTMLInputElement.cpp: 30678 (WebCore::HTMLInputElement::setValue): 30679 30680 2009-03-12 Simon Fraser <simon.fraser (a] apple.com> 30681 30682 Reviewed by Dave Hyatt 30683 30684 https://bugs.webkit.org/show_bug.cgi?id=24552 30685 30686 Hit testing involving normal flow, self-painting layers (e.g. reflections) 30687 was broken because it was not null-testing the result of hitTestLayer(), 30688 so bailing early with a nil hit layer. 30689 30690 Test: fast/layers/normal-flow-hit-test.html 30691 30692 * rendering/RenderLayer.cpp: 30693 (WebCore::RenderLayer::hitTestLayer): 30694 30695 2009-03-12 Dimitri Glazkov <dglazkov (a] chromium.org> 30696 30697 Reviewed by Cameron Zwarich. 30698 30699 Removed zero-sized files, left over from improperly applied patch. 30700 30701 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Removed. 30702 * platform/graphics/chromium/ThemeHelperChromiumWin.h: Removed. 30703 30704 2009-03-12 Adam Treat <adam.treat (a] torchmobile.com> 30705 30706 Reviewed by George Staikos. 30707 30708 Do not ignore alpha color in optimization. Hard to believe, but there 30709 are websites that fill the entire page with a tiled image consisting of 30710 nothing but a 100% transparent 1x1 image. <cough>orbitz.com</cough> 30711 30712 * platform/graphics/qt/ImageQt.cpp: 30713 (WebCore::BitmapImage::checkForSolidColor): 30714 30715 2009-03-12 Julien Chaffraix <jchaffraix (a] webkit.org> 30716 30717 Reviewed by Darin Adler. 30718 30719 Bug 24110: cloneNode should call cloneElement and not the reverse 30720 30721 - Splitted the code from cloneNode into cloneElementWithChildren and cloneElementWithChildren. 30722 Now cloneNode calls one of the 2 previous methods. 30723 30724 - Renamed cloneElement to cloneElementWithoutChildren as it was the previous behaviour. 30725 30726 - Moved cloneNode to the Element private section so that WebCore callers cannot use it. 30727 30728 - Removed Element::cloneNode usage through WebCore. 30729 30730 * dom/Element.cpp: 30731 (WebCore::Element::cloneNode): Moved to Element's private section and it 30732 now calls the two next methods. 30733 (WebCore::Element::cloneElementWithChildren): Added. 30734 (WebCore::Element::cloneElementWithoutChildren): Renamed from cloneElement 30735 to avoid ambiguity. 30736 * dom/Element.h: 30737 30738 * editing/ApplyStyleCommand.cpp: 30739 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Changed call to cloneElement 30740 to call to cloneElementWithoutChildren. 30741 * editing/BreakBlockquoteCommand.cpp: 30742 (WebCore::BreakBlockquoteCommand::doApply): Ditto. 30743 * editing/IndentOutdentCommand.cpp: 30744 (WebCore::IndentOutdentCommand::indentRegion): Ditto. 30745 * editing/InsertParagraphSeparatorCommand.cpp: 30746 (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto. 30747 * editing/ModifySelectionListLevel.cpp: 30748 (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto. 30749 * editing/SplitElementCommand.cpp: 30750 (WebCore::SplitElementCommand::doApply): Ditto. 30751 * editing/markup.cpp: 30752 (WebCore::createFragmentFromText): Ditto. 30753 * svg/SVGUseElement.cpp: 30754 (WebCore::SVGUseElement::buildShadowTree): Ditto. 30755 (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto. 30756 30757 2009-03-12 Dirk Schulze <krit (a] webkit.org> 30758 30759 Reviewed by Oliver Hunt. 30760 30761 Fixed a crash on the 1x1 pixel check for background image in gtk. 30762 We need to load the image first and need to be sure that the image 30763 is not null before checking the type. 30764 30765 * platform/graphics/cairo/ImageCairo.cpp: 30766 (WebCore::BitmapImage::checkForSolidColor): 30767 30768 2009-03-12 Xan Lopez <xlopez (a] igalia.com> 30769 30770 Reviewed by Alexey Proskuryakov. 30771 30772 https://bugs.webkit.org/show_bug.cgi?id=24544 30773 Rename setUrl to setURL 30774 30775 Use proper case for setUrl method, rename it to setURL. 30776 30777 * platform/network/ResourceResponseBase.cpp: 30778 (WebCore::ResourceResponseBase::adopt): 30779 * platform/network/ResourceResponseBase.h: 30780 * platform/network/curl/ResourceHandleManager.cpp: 30781 (WebCore::writeCallback): 30782 (WebCore::headerCallback): 30783 * platform/network/soup/ResourceHandleSoup.cpp: 30784 (WebCore::fillResponseFromMessage): 30785 (WebCore::queryInfoCallback): 30786 30787 2009-03-12 Xan Lopez <xlopez (a] igalia.com> 30788 30789 Reviewed by Alexey Proskuryakov. 30790 30791 https://bugs.webkit.org/show_bug.cgi?id=24519 30792 [GTK] Use two argument KURL ctor in ResourceHandleSoup 30793 30794 Use two argument KURL ctor, the single argument ctor expects its 30795 input to be the output of a previous KURL::parse call, which is 30796 not the case here. 30797 30798 * platform/network/soup/ResourceHandleSoup.cpp: 30799 (WebCore::fillResponseFromMessage): 30800 (WebCore::queryInfoCallback): 30801 30802 2009-03-11 Jon Honeycutt <jhoneycutt (a] apple.com> 30803 30804 Fix for <rdar://6418681> 30805 https://bugs.webkit.org/show_bug.cgi?id=22644 30806 30807 Reviewed by Steve Falkenburg. 30808 30809 * plugins/win/PluginPackageWin.cpp: 30810 (WebCore::PluginPackage::isPluginBlacklisted): Add the Citrix ICA 30811 Client plug-in to the blacklist; it requires a Mozilla-based browser. 30812 30813 2009-03-12 Oliver Hunt <oliver (a] apple.com> 30814 30815 Reviewed by NOBODY (build fix). 30816 30817 build fix. 30818 30819 * html/CanvasRenderingContext2D.h: 30820 30821 2009-03-11 Oliver Hunt <oliver (a] apple.com> 30822 30823 Reviewed by Adele Peterson. 30824 30825 <rdar://problem/6673852> Widget "Simple World Clock" does not display with Safari 4 30826 30827 A number of dashboard widgets rely on canvas failing silently when given invalid 30828 colors for gradient stops, but both the spec and firefox throw exceptions here. 30829 So we work around this by creating a dashboard quirk that will only suppress the 30830 exception in dashboard compatibility mode. 30831 30832 Test: fast/canvas/canvas-gradient-addStop-error.html 30833 30834 * html/CanvasGradient.cpp: 30835 (WebCore::CanvasGradient::CanvasGradient): 30836 (WebCore::CanvasGradient::addColorStop): 30837 * html/CanvasGradient.h: 30838 (WebCore::CanvasGradient::setDashboardCompatibilityMode): 30839 * html/CanvasRenderingContext2D.cpp: 30840 (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard): 30841 (WebCore::CanvasRenderingContext2D::createLinearGradient): 30842 (WebCore::CanvasRenderingContext2D::createRadialGradient): 30843 * html/CanvasRenderingContext2D.h: 30844 30845 2009-03-11 David Kilzer <ddkilzer (a] apple.com> 30846 30847 Clarify comments regarding order of FEATURE_DEFINES 30848 30849 Rubber-stamped by Mark Rowe. 30850 30851 * Configurations/WebCore.xcconfig: Added warning about the 30852 consequences when FEATURE_DEFINES are not kept in sync. 30853 30854 2009-03-11 Gustavo Noronha Silva <gns (a] gnome.org> 30855 30856 Reviewed by Holger Freyther. 30857 30858 https://bugs.webkit.org/show_bug.cgi?id=24515 30859 [GTK] soup backend should use GMappedFile instead of mmap directly 30860 30861 Rewrite mmap code used to upload files to use GMappedFile, so that 30862 it is platform-independent. 30863 30864 * platform/network/soup/ResourceHandleSoup.cpp: 30865 (WebCore::ResourceHandle::startHttp): 30866 30867 2009-03-11 Dan Bernstein <mitz (a] apple.com> 30868 30869 Reviewed by Darin Adler. 30870 30871 - WebCore part of fixing <rdar://problem/3919124> Thai text selection 30872 in Safari is incorrect 30873 30874 Test: platform/mac/editing/selection/word-thai.html 30875 30876 Tested on Mac, but should work on all ICU platforms (or more precisely 30877 on all platforms that implement 30878 WTF::Unicode::hasLineBreakingPropertyComplexContext() correctly). 30879 30880 * editing/TextIterator.cpp: 30881 (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator): 30882 Added. 30883 (WebCore::BackwardsCharacterIterator::range): Added. 30884 (WebCore::BackwardsCharacterIterator::advance): Added. 30885 30886 * editing/TextIterator.h: Added BackwardsCharacterIterator with the 30887 minimal functionality required for this patch. 30888 (WebCore::BackwardsCharacterIterator::atEnd): Added. 30889 30890 * editing/visible_units.cpp: 30891 (WebCore::firstNonComplexContextLineBreak): Added this helper function 30892 that returns the index of the first character in the string whose 30893 Unicode line breaking property value is not SA ("Complex Context"), or 30894 the length of the string if there is no such character. 30895 (WebCore::lastNonComplexContextLineBreak): Added this helper function 30896 that returns the index of the last character in the string whose 30897 Unicode line breaking property value is not SA ("Complex Context"), or 30898 -1 if there is no such character. 30899 (WebCore::previousBoundary): Changed the signature of the search 30900 function to include an offset parameter. Renamed the 'exception' local 30901 variable to 'ec' and changed its type to ExceptionCode. Extend the 30902 string forwards until the first character with Unicode line breaking 30903 property value other than SA. This gives the boundary search function 30904 enough context in the forward direction. Changed to use a 30905 BackwardsCharacterIterator for translating the backwards offset into 30906 a position. 30907 (WebCore::nextBoundary): Changed the signature of the search 30908 function to include an offset parameter. Extend the string backwards 30909 until the first character with Unicode line breaking property value 30910 other than SA. This gives the boundary search function enough context in 30911 the backwards direction. Restricted the workaround for <rdar://5192593> 30912 only to the line break case, because it was causing an extra character 30913 to be selected following a word that ended with a combining mark. 30914 (WebCore::startWordBoundary): Added an offset parameter. Check that 30915 going backwards from the given offset, there is a character with Unicode 30916 line breaking property value other than SA, and otherwise return 0 to 30917 request more context. 30918 (WebCore::endWordBoundary): Similar, but in reverse. 30919 (WebCore::previousWordPositionBoundary): Similar. 30920 (WebCore::nextWordPositionBoundary): Similar. 30921 (WebCore::startSentenceBoundary): Updated for the new search function 30922 signature. 30923 (WebCore::endSentenceBoundary): Ditto. 30924 (WebCore::previousSentencePositionBoundary): Ditto. 30925 (WebCore::nextSentencePositionBoundary): Ditto. 30926 30927 2009-03-11 Darin Adler <darin (a] apple.com> 30928 30929 Reviewed by Mark Rowe. 30930 30931 Don't use "::" in thread names because it is ugly! 30932 30933 * loader/icon/IconDatabase.cpp: 30934 (WebCore::IconDatabase::open): Use "WebCore: " instead of "WebCore::". 30935 * platform/network/cf/ResourceHandleCFNet.cpp: 30936 (WebCore::ResourceHandle::loaderRunLoop): Call this "WebCore: CFNetwork Loader" to make 30937 it clear this is a WebCore-created thread. 30938 * storage/DatabaseThread.cpp: 30939 (WebCore::DatabaseThread::start): Use "WebCore: " instead of "WebCore::". 30940 * storage/LocalStorageThread.cpp: 30941 (WebCore::LocalStorageThread::start): Use "WebCore: " instead of "WebCore::". 30942 * workers/WorkerThread.cpp: 30943 (WebCore::WorkerThread::start): Use "WebCore: " instead of "WebCore::". 30944 30945 2009-03-11 Mark Rowe <mrowe (a] apple.com> 30946 30947 Rubber-stamped by Darin Adler. 30948 30949 <rdar://problem/6653286> WebCore's implementation of screenIsMonochrome is needlessly complex 30950 30951 * platform/mac/PlatformScreenMac.mm: 30952 (WebCore::screenIsMonochrome): Return false. 30953 30954 2009-03-11 Beth Dakin <bdakin (a] apple.com> 30955 30956 Reviewed by Dan Bernstein. 30957 30958 Fix for https://bugs.webkit.org/show_bug.cgi?id=14749 percentage 30959 top value on position:relative child not calculated correctly if 30960 parent has percentage height 30961 - and corresponding - 30962 <rdar://problem/6172925> 30963 30964 * rendering/RenderBoxModelObject.cpp: 30965 (WebCore::RenderBoxModelObject::relativePositionOffsetY): 30966 30967 2009-03-11 Jian Li <jianli (a] chromium.org> 30968 30969 Reviewed by Dimitri Glazkov. 30970 30971 Implement ScriptValue::hasNoValue for V8. 30972 https://bugs.webkit.org/show_bug.cgi?id=24507 30973 30974 * bindings/v8/ScriptValue.h: 30975 (WebCore::ScriptValue::hasNoValue): 30976 30977 2009-03-11 David Levin <levin (a] chromium.org> 30978 30979 Reviewed by Dimitri Glazkov. 30980 30981 Bug 24459: Add v8 bindings for event. 30982 <https://bugs.webkit.org/show_bug.cgi?id=24459> 30983 30984 Adding custom event bindings. 30985 30986 * bindings/v8/custom/V8AbstractEventListener.cpp: Added. 30987 * bindings/v8/custom/V8AbstractEventListener.h: Added. 30988 * bindings/v8/custom/V8AttrCustom.cpp: 30989 Fixed messed up copyright header. 30990 * bindings/v8/custom/V8CustomEventListener.cpp: Added. 30991 * bindings/v8/custom/V8CustomEventListener.h: 30992 Replaced forwarding header with the real implementation. 30993 * bindings/v8/custom/V8ElementCustom.cpp: 30994 * bindings/v8/custom/V8LazyEventListener.cpp: Added. 30995 * bindings/v8/custom/V8LazyEventListener.h: Added. 30996 * bindings/v8/custom/V8ObjectEventListener.cpp: Added. 30997 * bindings/v8/custom/V8ObjectEventListener.h: Added. 30998 * bindings/v8/custom/V8WorkerContextEventListener.cpp: Added. 30999 * bindings/v8/custom/V8WorkerContextEventListener.h: Added. 31000 31001 2009-03-11 Darin Fisher <darin (a] chromium.org> 31002 31003 Reviewed by Dimitri Glazkov. 31004 31005 https://bugs.webkit.org/show_bug.cgi?id=24521 31006 Add some missing includes for the non-JSC build. 31007 31008 * platform/text/PlatformString.h: added OwnPtr.h 31009 * xml/XMLHttpRequest.cpp: added SecurityOrigin.h 31010 31011 2009-03-11 Simon Fraser <simon.fraser (a] apple.com> 31012 31013 Reviewed by Darin Adler 31014 31015 https://bugs.webkit.org/show_bug.cgi?id=24531 31016 31017 Make sure that AnimationControllerPrivate::getAnimatedStyleForRenderer() never 31018 returns a null style if it has a valid renderer, which could happen if a 31019 CompositeAnimation existed, but wasn't running any animations or transitions. 31020 31021 * page/animation/AnimationController.cpp: 31022 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): 31023 31024 2009-03-11 Simon Fraser <simon.fraser (a] apple.com> 31025 31026 Fix Scons build. Patch from Alexander Guy. 31027 31028 * WebCore.scons: 31029 31030 2009-03-11 Simon Fraser <simon.fraser (a] apple.com> 31031 31032 Reviewed by Dan Bernstein 31033 31034 https://bugs.webkit.org/show_bug.cgi?id=23093 31035 31036 When the cancel button in the search field is shown or hidden, 31037 we need to explicitly setStyle() on the cancel button's renderer, 31038 to ensure that repaint happens. Changing the style without telling 31039 the renderer won't work. 31040 31041 Test: fast/repaint/search-field-cancel.html 31042 31043 * rendering/RenderTextControlSingleLine.cpp: 31044 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 31045 (WebCore::RenderTextControlSingleLine::updateFromElement): 31046 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle): 31047 (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): 31048 (WebCore::RenderTextControlSingleLine::visibilityForCancelButton): 31049 * rendering/RenderTextControlSingleLine.h: 31050 31051 2009-03-11 Hironori Bono <hbono (a] chromium.org> 31052 31053 Reviewed by Alexey Proskuryakov. 31054 31055 https://bugs.webkit.org/show_bug.cgi?id=15790 31056 Ligatures aren't accounted for when manipulating VisiblePositions 31057 31058 Changed cursorMovementIterator rules to prevent a cursor from moving in the middle of an 31059 Indic ligature which uses a virama sign. 31060 31061 Test: editing/deleting/skip-virama-001.html 31062 31063 * platform/text/TextBreakIteratorICU.cpp: 31064 (WebCore::cursorMovementIterator): 31065 31066 2009-03-11 Alexey Proskuryakov <ap (a] webkit.org> 31067 31068 Reviewed by George Staikos. 31069 31070 https://bugs.webkit.org/show_bug.cgi?id=24513 31071 REGRESSION: Cursor movement doesn't work on Tiger (ICU 3.2) 31072 31073 Fixes existing tests on Tiger. 31074 31075 * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): 31076 Use characterBreakIterator on Tiger (like we used to do). 31077 31078 2009-03-11 Alexey Proskuryakov <ap (a] webkit.org> 31079 31080 Reviewed by Oliver Hunt. 31081 31082 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled 31083 31084 * platform/network/mac/ResourceRequestMac.mm: 31085 (WebCore::ResourceRequest::doUpdatePlatformRequest): Correct selector name 31086 in instancesRespondToSelector. 31087 31088 2009-03-11 Jan Michael Alonzo <jmalonzo (a] webkit.org> 31089 31090 Reviewed by Holger Freyther. 31091 31092 [GTK]DumpRenderTree doesn't compile for non-X11 GTK ports anymore 31093 https://bugs.webkit.org/show_bug.cgi?id=2260 31094 31095 Add missing stdio.h include to get the build going 31096 31097 * plugins/gtk/PluginPackageGtk.cpp: 31098 31099 2009-03-10 Justin Garcia <justin.garcia (a] apple.com> 31100 31101 Reviewed by Ken Kocienda. 31102 31103 * dom/Range.cpp: 31104 (WebCore::Range::addLineBoxRects): If the range ended at [div, 0], addLineBoxRects 31105 would include rects for the divs contents. Set the correct RenderObject to stop at. 31106 31107 2009-03-10 Alexey Proskuryakov <ap (a] webkit.org> 31108 31109 Reviewed by Sam Weinig. 31110 31111 <rdar://problem/6123770> Restrict access to document.cookie when making a cross-site XHR 31112 31113 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Removed an incorrect 31114 comment about cookie support. Firefox doesn't expose cookies on responseXML at all, and 31115 there are security concerns with exposing them for cross-origin requests, so it's not clear 31116 if we want to change anything here. 31117 31118 2009-03-10 Simon Fraser <simon.fraser (a] apple.com> 31119 31120 Reviewed by Darin Adler 31121 31122 https://bugs.webkit.org/show_bug.cgi?id=24503 31123 31124 Fix hit testing of absolutely positioned single line text controls by 31125 ensuring that we set result.innerNode() correctly. If the hit node is 31126 a descendant of the inner text element or if it is the <input> itself, 31127 then we say we hit the innerTextElement. 31128 31129 Rename hitInnerTextBlock() to hitInnerTextElement() to match the 31130 'innerTextElement' terminology used elsewhere. 31131 31132 Assert that if renderer()->hitTest() returns false, no-one set 31133 result.innerNode(). 31134 31135 Test: fast/forms/search-abs-pos-cancel-button.html 31136 31137 * rendering/RenderLayer.cpp: 31138 (WebCore::RenderLayer::hitTestContents): 31139 * rendering/RenderTextControl.cpp: 31140 (WebCore::RenderTextControl::hitInnerTextElement): 31141 * rendering/RenderTextControl.h: 31142 * rendering/RenderTextControlMultiLine.cpp: 31143 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 31144 * rendering/RenderTextControlSingleLine.cpp: 31145 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 31146 31147 2009-03-10 Antti Koivisto <antti (a] apple.com> 31148 31149 Reviewed by Mark Rowe. 31150 31151 <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor. 31152 31153 Another case where we would trigger extended encoding loading needlessly. 31154 31155 * platform/text/TextEncoding.cpp: 31156 (WebCore::TextEncoding::isNonByteBasedEncoding): 31157 31158 2009-03-10 Beth Dakin <bdakin (a] apple.com> 31159 31160 Reviewed by Darin Adler. 31161 31162 Fix for <rdar://problem/6624769> REGRESSION (Safari 4 PB): No 31163 scroll bar appears for long line of text with NOWRAP set 31164 31165 This is a regression from http://trac.webkit.org/changeset/32226 31166 I talked with Dan about the original change, and we decided that 31167 the best fix was to remove his small potential-optimization that 31168 only created a separate line box for whitespace under certain 31169 circumstances. This new code will always create a separate line 31170 box. 31171 31172 * rendering/bidi.cpp: 31173 (WebCore::RenderBlock::layoutInlineChildren): 31174 31175 2009-03-10 Sam Weinig <sam (a] webkit.org> 31176 31177 Reviewed by Geoffrey Garen. 31178 31179 Fix for <rdar://problem/6166844> 31180 https://bugs.webkit.org/show_bug.cgi?id=24495 31181 31182 Use same rule for loading java applets as we do for images. 31183 31184 * html/HTMLAppletElement.cpp: 31185 (WebCore::HTMLAppletElement::createRenderer): 31186 * loader/FrameLoader.cpp: 31187 (WebCore::FrameLoader::createJavaAppletWidget): 31188 31189 2009-03-10 Justin Garcia <justin.garcia (a] apple.com> 31190 31191 Reviewed by David Kilzer. 31192 31193 Get rid of revealCaret and use revealSelection instead. 31194 31195 * WebCore.base.exp: 31196 * editing/SelectionController.cpp: 31197 (WebCore::SelectionController::setSelection): 31198 * page/Frame.cpp: 31199 (WebCore::Frame::revealSelection): 31200 * page/Frame.h: 31201 31202 2009-03-10 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 31203 31204 Reviewed by Geoff Garen. 31205 31206 Bug 23736: WebKit Crashes on http://g-conquest.fr/~server2 31207 <https://bugs.webkit.org/show_bug.cgi?id=23736> 31208 <rdar://problem/6560278> 31209 31210 Before replacing the document, FrameLoader::executeIfJavaScriptURL() 31211 should call stopAllLoaders(), just like continueLoadAfterNavigationPolicy(). 31212 31213 * loader/FrameLoader.cpp: 31214 (WebCore::FrameLoader::executeIfJavaScriptURL): 31215 31216 2009-03-10 Darin Adler <darin (a] apple.com> 31217 31218 Reviewed by Alexey Proskuryakov. 31219 31220 Bug 24494: crash when deleting at end of document and merging paragraphs 31221 https://bugs.webkit.org/show_bug.cgi?id=24494 31222 rdar://problem/6571537 31223 31224 Test: editing/deleting/merge-at-end-of-document.html 31225 31226 * dom/Range.cpp: 31227 (WebCore::Range::compareBoundaryPoints): Split out assertion. It's better not to 31228 use && in assertions since we'd like to know which condition is failing. 31229 31230 * editing/ApplyStyleCommand.cpp: 31231 (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check before 31232 calling compareBoundaryPoints, since a 0 for the node is ambiguous and so the 31233 function doesn't know which value to return. 31234 31235 2009-03-10 Dirk Schulze <krit (a] webkit.org> 31236 31237 Reviewed by Eric Seidel. Math checked by Oliver Hunt. 31238 31239 Implement the Cairo version of the checkForSolidColor() method. This halfes the 31240 time to draw on 1x1 px background images. 31241 I added two new calls to Color for the pixel manipulation on cairo_surface's. 31242 They are neede to premultiply/unpremultiply the colors of the surface. 31243 31244 [CAIRO] Introduce single-pixel image optimizations 31245 https://bugs.webkit.org/show_bug.cgi?id=17284 31246 31247 * platform/graphics/Color.cpp: 31248 (WebCore::colorFromPremultipliedARGB): 31249 (WebCore::premultipliedARGBFromColor): 31250 * platform/graphics/Color.h: 31251 * platform/graphics/cairo/ImageBufferCairo.cpp: 31252 (WebCore::ImageBuffer::getImageData): 31253 (WebCore::ImageBuffer::putImageData): 31254 * platform/graphics/cairo/ImageCairo.cpp: 31255 (WebCore::BitmapImage::checkForSolidColor): 31256 31257 2009-03-06 Darin Fisher <darin (a] chromium.org> 31258 31259 Reviewed by Sam Weinig. 31260 31261 https://bugs.webkit.org/show_bug.cgi?id=24437 31262 31263 Add support for registering noAccess URL schemes: 31264 1- Add FrameLoader::registerURLSchemeAsNoAccess, and have SecurityOrigin check 31265 that list upon construction (similar to how isLocal is implemented). 31266 2- Make InspectorController call grantUniversalAccess on its Document's 31267 SecurityOrigin at the time when windowScriptObjectAvailable is called. 31268 31269 This enables content such as the inspector to be loaded from a custom (non-file) 31270 URL, which is how Chromium loads the inspector. It also allows other URL schemes 31271 to be treated like data: URLs, which Chromium utilizes for its various HTML-based 31272 UI panels. 31273 31274 * inspector/InspectorController.cpp: 31275 (WebCore::InspectorController::windowScriptObjectAvailable): 31276 * loader/FrameLoader.cpp: 31277 (WebCore::localSchemes): 31278 (WebCore::noAccessSchemes): 31279 (WebCore::FrameLoader::loadItem): 31280 * loader/FrameLoader.h: 31281 * page/SecurityOrigin.cpp: 31282 (WebCore::SecurityOrigin::SecurityOrigin): 31283 (WebCore::SecurityOrigin::isLocal): 31284 31285 2009-03-10 Xan Lopez <xlopez (a] igalia.com> 31286 31287 Build fix, no review 31288 31289 * page/mac/AccessibilityObjectWrapper.mm: 31290 (textMarkerForVisiblePosition): 31291 (visiblePositionForTextMarker): 31292 31293 2009-03-10 Xan Lopez <xlopez (a] igalia.com> 31294 31295 Reviewed by Darin Adler. 31296 31297 https://bugs.webkit.org/show_bug.cgi?id=24491 31298 Rename posOffset to m_offset, get rid of accessor 31299 31300 As suggested in dom/Position.h, this patch gets rid of the 31301 'offset()' accessor and renames posOffset to m_offset. I've used 31302 m_offset instead of offset to follow the style guide lines, since 31303 Position is still a class and not a structure. If the long term 31304 plan is still to make it a structure it would be pretty easy to 31305 just s/m_offset/offset/ globally when that is achieved. 31306 31307 * dom/Position.cpp: 31308 (WebCore::Position::previous): 31309 (WebCore::Position::next): 31310 (WebCore::Position::atStart): 31311 (WebCore::Position::atEnd): 31312 (WebCore::Position::renderedOffset): 31313 (WebCore::Position::isCandidate): 31314 (WebCore::Position::inRenderedText): 31315 (WebCore::Position::isRenderedCharacter): 31316 (WebCore::Position::rendersInDifferentPosition): 31317 (WebCore::Position::leadingWhitespacePosition): 31318 (WebCore::Position::debugPosition): 31319 (WebCore::Position::formatForDebugger): 31320 * dom/Position.h: 31321 (WebCore::Position::Position): 31322 * dom/PositionIterator.h: 31323 (WebCore::PositionIterator::PositionIterator): 31324 * dom/Range.cpp: 31325 * dom/RangeBoundaryPoint.h: 31326 (WebCore::RangeBoundaryPoint::position): 31327 (WebCore::RangeBoundaryPoint::set): 31328 (WebCore::RangeBoundaryPoint::setOffset): 31329 (WebCore::RangeBoundaryPoint::setToChild): 31330 (WebCore::RangeBoundaryPoint::setToStart): 31331 (WebCore::RangeBoundaryPoint::setToEnd): 31332 (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved): 31333 * editing/ApplyStyleCommand.cpp: 31334 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 31335 (WebCore::ApplyStyleCommand::applyInlineStyleToRange): 31336 (WebCore::ApplyStyleCommand::removeInlineStyle): 31337 (WebCore::ApplyStyleCommand::nodeFullySelected): 31338 (WebCore::ApplyStyleCommand::nodeFullyUnselected): 31339 (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded): 31340 (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded): 31341 (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded): 31342 (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded): 31343 (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): 31344 (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): 31345 (WebCore::ApplyStyleCommand::joinChildTextNodes): 31346 * editing/BreakBlockquoteCommand.cpp: 31347 (WebCore::BreakBlockquoteCommand::doApply): 31348 * editing/CompositeEditCommand.cpp: 31349 (WebCore::CompositeEditCommand::insertNodeAt): 31350 (WebCore::CompositeEditCommand::positionOutsideTabSpan): 31351 (WebCore::CompositeEditCommand::rebalanceWhitespaceAt): 31352 (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit): 31353 (WebCore::CompositeEditCommand::deleteInsignificantText): 31354 (WebCore::CompositeEditCommand::removePlaceholderAt): 31355 (WebCore::CompositeEditCommand::moveParagraphs): 31356 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 31357 * editing/DeleteSelectionCommand.cpp: 31358 (WebCore::updatePositionForNodeRemoval): 31359 (WebCore::updatePositionForTextRemoval): 31360 (WebCore::DeleteSelectionCommand::handleGeneralDelete): 31361 (WebCore::DeleteSelectionCommand::fixupWhitespace): 31362 * editing/Editor.cpp: 31363 (WebCore::Editor::setComposition): 31364 (WebCore::Editor::advanceToNextMisspelling): 31365 (WebCore::Editor::getCompositionSelection): 31366 * editing/InsertLineBreakCommand.cpp: 31367 (WebCore::InsertLineBreakCommand::doApply): 31368 * editing/InsertParagraphSeparatorCommand.cpp: 31369 (WebCore::InsertParagraphSeparatorCommand::doApply): 31370 * editing/InsertTextCommand.cpp: 31371 (WebCore::InsertTextCommand::performTrivialReplace): 31372 (WebCore::InsertTextCommand::input): 31373 (WebCore::InsertTextCommand::insertTab): 31374 * editing/MoveSelectionCommand.cpp: 31375 (WebCore::MoveSelectionCommand::doApply): 31376 * editing/ReplaceSelectionCommand.cpp: 31377 (WebCore::ReplaceSelectionCommand::doApply): 31378 * editing/SelectionController.cpp: 31379 (WebCore::SelectionController::debugRenderer): 31380 * editing/TextIterator.cpp: 31381 (WebCore::TextIterator::rangeFromLocationAndLength): 31382 * editing/TypingCommand.cpp: 31383 (WebCore::TypingCommand::deleteKeyPressed): 31384 (WebCore::TypingCommand::forwardDeleteKeyPressed): 31385 * editing/VisiblePosition.cpp: 31386 (WebCore::VisiblePosition::characterAfter): 31387 (WebCore::VisiblePosition::debugPosition): 31388 (WebCore::makeRange): 31389 (WebCore::setStart): 31390 (WebCore::setEnd): 31391 * editing/VisibleSelection.cpp: 31392 (WebCore::VisibleSelection::toNormalizedRange): 31393 (WebCore::makeSearchRange): 31394 (WebCore::VisibleSelection::debugPosition): 31395 (WebCore::VisibleSelection::showTreeForThis): 31396 * editing/htmlediting.cpp: 31397 (WebCore::comparePositions): 31398 (WebCore::rangeCompliantEquivalent): 31399 (WebCore::isFirstPositionAfterTable): 31400 (WebCore::isLastPositionBeforeTable): 31401 * editing/visible_units.cpp: 31402 (WebCore::previousBoundary): 31403 (WebCore::nextBoundary): 31404 (WebCore::startPositionForLine): 31405 (WebCore::startOfLine): 31406 (WebCore::endPositionForLine): 31407 (WebCore::nextLinePosition): 31408 (WebCore::startOfParagraph): 31409 (WebCore::endOfParagraph): 31410 * page/AccessibilityObject.cpp: 31411 (WebCore::updateAXLineStartForVisiblePosition): 31412 * page/AccessibilityRenderObject.cpp: 31413 (WebCore::AccessibilityRenderObject::indexForVisiblePosition): 31414 * page/DOMSelection.cpp: 31415 (WebCore::DOMSelection::anchorOffset): 31416 (WebCore::DOMSelection::baseOffset): 31417 (WebCore::DOMSelection::focusOffset): 31418 (WebCore::DOMSelection::extentOffset): 31419 * page/EventHandler.cpp: 31420 (WebCore::EventHandler::handleMousePressEventSingleClick): 31421 * page/Frame.cpp: 31422 (WebCore::Frame::selectionLayoutChanged): 31423 * rendering/RenderTextControl.cpp: 31424 (WebCore::RenderTextControl::indexForVisiblePosition): 31425 * rendering/RenderTreeAsText.cpp: 31426 (WebCore::writeSelection): 31427 31428 2009-03-10 Darin Adler <darin (a] apple.com> 31429 31430 Reviewed by Dan Bernstein. 31431 31432 Bug 23564: REGRESSION (r39230-39286): crash loading page that changes <input> display type and then calls innerHTML 31433 https://bugs.webkit.org/show_bug.cgi?id=23564 31434 rdar://problem/6537238 31435 31436 Test: fast/dom/HTMLElement/innerHTML-selection-crash.html 31437 31438 * editing/markup.cpp: (WebCore::createMarkup): Added updateLayoutIgnorePendingStylesheets 31439 call to the one of the two overloads of this function that wasn't calling it. This fixes 31440 this crash and other possible crashes inside innerHTML. 31441 31442 2009-03-10 Alexey Proskuryakov <ap (a] webkit.org> 31443 31444 Reviewed by Darin Adler. 31445 31446 https://bugs.webkit.org/show_bug.cgi?id=24285 31447 Text resource loading checks for BOM twice 31448 31449 This removes TextDecoder class, since its only purpose was to check for BOM, which is 31450 already done in TextResourceDecoder. Callers that use TextEncoding::decode() won't get 31451 BOM checked, but I didn't find any cases where it would significantly change behavior. 31452 31453 * GNUmakefile.am: 31454 * WebCore.pro: 31455 * WebCore.scons: 31456 * WebCore.vcproj/WebCore.vcproj: 31457 * WebCore.xcodeproj/project.pbxproj: 31458 * WebCoreSources.bkl: 31459 Remove TextDecoder.{h,cpp}. 31460 31461 * platform/text/TextDecoder.cpp: Removed. 31462 * platform/text/TextDecoder.h: Removed. 31463 31464 * loader/TextResourceDecoder.h: Instead of a TextDecoder object, keep TextEncoding and 31465 TextCodec separately. 31466 31467 * loader/TextResourceDecoder.cpp: 31468 (WebCore::TextResourceDecoder::TextResourceDecoder): Updated for m_encoding being a member. 31469 (WebCore::TextResourceDecoder::setEncoding): Ditto. 31470 (WebCore::TextResourceDecoder::checkForBOM): Removed a FIXME saying that a BOM could override 31471 even a user-chosen encoding - this is how it already worked due to TextDecoder checking for 31472 BOM again. Made this function return the detected BOM length. 31473 (WebCore::TextResourceDecoder::decode): Skip the BOM if it was found at the beginning of 31474 a text resource. 31475 (WebCore::TextResourceDecoder::flush): Reset m_checkedForBOM, so that re-decoding the same 31476 resource again (as frequently done by CachedResource subclasses) will skip the BOM correctly. 31477 31478 * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode): 31479 Use TextCodec directly without a TextDecoder wrapper. This means that this method no longer 31480 checks for BOM, which was a counter-intuitive feature. 31481 31482 * loader/CachedScript.cpp: 31483 (WebCore::CachedScript::CachedScript): 31484 (WebCore::CachedScript::setEncoding): 31485 (WebCore::CachedScript::encoding): 31486 (WebCore::CachedScript::script): 31487 * loader/CachedScript.h: 31488 * loader/appcache/ManifestParser.cpp: 31489 (WebCore::parseManifest): 31490 Use TextResourceDecoder, as TextEncoding::decode() no longer checks for BOM. 31491 A side effect of this is that these resources will now be subject to encoding auto-detection. 31492 31493 * loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData): 31494 * page/Page.cpp: (WebCore::Page::userStyleSheet): 31495 Be sure to flush TextResourceDecoder, pushing any remaining bytes out, and making the decoder 31496 re-usable (for repeated decoding of the same resource). 31497 31498 * platform/text/TextEncodingRegistry.h: Updated comments for newTextCodec(). 31499 31500 2009-03-10 Alexey Proskuryakov <ap (a] webkit.org> 31501 31502 Reviewed by Darin Adler. 31503 31504 https://bugs.webkit.org/show_bug.cgi?id=24488 31505 An assertion failure when updating an offline application cache after emptying caches 31506 31507 Emptying appcache cannot be performed automatically, so no test. 31508 31509 * loader/appcache/ApplicationCacheGroup.cpp: 31510 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Ensure that the cache is in disk 31511 storage, even if the application wasn't updated server side. 31512 31513 2009-03-10 Oliver Hunt <oliver (a] apple.com> 31514 31515 Reviewed by Alexey Proskuryakov. 31516 31517 <rdar://problem/6425807> Implement WorkerUtils.importScripts() 31518 <https://bugs.webkit.org/show_bug.cgi?id=22721> 31519 31520 Implement importScripts, currently uses a series of synchronous loads 31521 to fetch the scripts, but this is simpler than a synchronous load of 31522 multiple loads in parallel. In future we'll want to switch to parallel 31523 loading, but this will do for now. 31524 31525 Test: http/tests/workers/worker-importScripts.html 31526 31527 * GNUmakefile.am: 31528 * WebCore.vcproj/WebCore.vcproj: 31529 * WebCore.xcodeproj/project.pbxproj: 31530 * bindings/js/JSWorkerContextCustom.cpp: 31531 (WebCore::JSWorkerContext::importScripts): 31532 * bindings/js/ScriptValue.h: 31533 (WebCore::ScriptValue::hasNoValue): 31534 * bindings/js/WorkerScriptController.cpp: 31535 (WebCore::WorkerScriptController::evaluate): 31536 (WebCore::WorkerScriptController::setException): 31537 * bindings/js/WorkerScriptController.h: 31538 * dom/Document.cpp: 31539 (WebCore::Document::scriptImported): 31540 * dom/Document.h: 31541 * dom/ScriptExecutionContext.h: 31542 * inspector/InspectorController.cpp: 31543 (WebCore::InspectorController::scriptImported): 31544 * inspector/InspectorController.h: 31545 * inspector/InspectorResource.cpp: 31546 (WebCore::InspectorResource::setScriptProperties): 31547 * inspector/InspectorResource.h: 31548 * workers/WorkerContext.cpp: 31549 (WebCore::WorkerContext::scriptImported): 31550 (WebCore::WorkerContext::importScripts): 31551 * workers/WorkerContext.h: 31552 * workers/WorkerContext.idl: 31553 * workers/WorkerImportScriptsClient.cpp: Added. 31554 (WebCore::WorkerImportScriptsClient::didReceiveResponse): 31555 (WebCore::WorkerImportScriptsClient::didReceiveData): 31556 (WebCore::WorkerImportScriptsClient::didFinishLoading): 31557 (WebCore::WorkerImportScriptsClient::didFail): 31558 (WebCore::WorkerImportScriptsClient::didFailRedirectCheck): 31559 (WebCore::WorkerImportScriptsClient::didReceiveAuthenticationCancellation): 31560 * workers/WorkerImportScriptsClient.h: Added. 31561 (WebCore::WorkerImportScriptsClient::WorkerImportScriptsClient): 31562 (WebCore::WorkerImportScriptsClient::script): 31563 (WebCore::WorkerImportScriptsClient::failed): 31564 31565 2009-03-10 Alexey Proskuryakov <ap (a] webkit.org> 31566 31567 Reviewed by Darin Adler. 31568 31569 https://bugs.webkit.org/show_bug.cgi?id=24462 31570 Move cross-origin access control code out of XMLHttpRequest 31571 31572 Step 1: move preflight result cache and access control helper functions. 31573 31574 No change in behavior, so no test. 31575 31576 * GNUmakefile.am: 31577 * WebCore.pro: 31578 * WebCore.scons: 31579 * WebCore.vcproj/WebCore.vcproj: 31580 * WebCore.xcodeproj/project.pbxproj: 31581 * WebCoreSources.bkl: 31582 * loader/CrossOriginAccessControl.cpp: Added. 31583 (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): 31584 (WebCore::isSimpleCrossOriginAccessRequest): 31585 (WebCore::createAllowedCrossOriginResponseHeadersSet): 31586 (WebCore::isOnAccessControlResponseHeaderWhitelist): 31587 (WebCore::passesAccessControlCheck): 31588 * loader/CrossOriginAccessControl.h: Added. 31589 * loader/CrossOriginPreflightResultCache.cpp: Added. 31590 (WebCore::parseAccessControlMaxAge): 31591 (WebCore::addToAccessControlAllowList): 31592 (WebCore::parseAccessControlAllowList): 31593 (WebCore::CrossOriginPreflightResultCacheItem::parse): 31594 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod): 31595 (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders): 31596 (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest): 31597 (WebCore::CrossOriginPreflightResultCache::shared): 31598 (WebCore::CrossOriginPreflightResultCache::appendEntry): 31599 (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): 31600 * loader/CrossOriginPreflightResultCache.h: Added. 31601 (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem): 31602 (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache): 31603 * xml/XMLHttpRequest.cpp: 31604 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): 31605 (WebCore::XMLHttpRequest::createRequest): 31606 (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest): 31607 (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest): 31608 (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight): 31609 (WebCore::XMLHttpRequest::didReceiveResponse): 31610 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 31611 * xml/XMLHttpRequest.h: 31612 31613 2009-03-10 Alexey Proskuryakov <ap (a] webkit.org> 31614 31615 Reviewed by Darin Adler. 31616 31617 https://bugs.webkit.org/show_bug.cgi?id=19797 31618 Bring the list of forbidden headers in sync with XMLHttpRequest spec draft 31619 31620 Added new checks to http/tests/xmlhttprequest/set-dangerous-headers.html. 31621 31622 * xml/XMLHttpRequest.cpp: 31623 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Added all headers from 31624 XMLHttpRequest 2 draft. 31625 31626 2009-03-10 Dan Bernstein <mitz (a] apple.com> 31627 31628 Reviewed by Adele Peterson. 31629 31630 - fix https://bugs.webkit.org/show_bug.cgi?id=23975 31631 <rdar://problem/6593610> REGRESSION: Scrollbar arrow not repainted 31632 31633 * rendering/RenderLayer.cpp: 31634 (WebCore::RenderLayer::invalidateScrollbarRect): Corrected the vertical 31635 scrollbar rect calculation. 31636 31637 2009-03-09 Simon Fraser <simon.fraser (a] apple.com> 31638 31639 Reviewed by Dan Bernstein, Oliver Hunt 31640 31641 https://bugs.webkit.org/show_bug.cgi?id=24475 31642 31643 When repainting replaced elements, need to union the selection 31644 and overflow rects because either may extend outside the other. 31645 31646 Test: fast/repaint/transform-replaced-shadows.html 31647 31648 * rendering/RenderReplaced.cpp: 31649 (WebCore::RenderReplaced::clippedOverflowRectForRepaint): 31650 31651 2009-03-09 Stephanie Lewis <slewis (a] apple.com> 31652 31653 Fix build. 31654 31655 * editing/Editor.cpp: 31656 (WebCore::Editor::advanceToNextMisspelling): 31657 (WebCore::markAllMisspellingsAndBadGrammarInRanges): 31658 31659 2009-03-09 Kim Christensen <kimworking (a] gmail.com> 31660 31661 Reviewed by Darin Fisher. 31662 31663 https://bugs.webkit.org/show_bug.cgi?id=24276 31664 Dropdown / select boxes do not consider the windows task bar in Chromium. 31665 31666 * platform/chromium/PopupMenuChromium.cpp: 31667 (WebCore::PopupContainer::showPopup): 31668 31669 2009-03-09 Dan Bernstein <mitz (a] apple.com> 31670 31671 Reviewed by Adele Peterson and Dave Hyatt. 31672 31673 - fix <rdar://problem/6654344> REGRESSION (r41041): Zillow.com has 31674 misaligned edit fields 31675 31676 Test: fast/forms/legend-display-none.html 31677 31678 * css/CSSStyleSelector.cpp: 31679 (WebCore::CSSStyleSelector::adjustRenderStyle): Change the display 31680 property of legend elements to 'block' unless it is 'none'. 31681 * css/html4.css: Do not force the display property of legend elements to 31682 'block' using CSS, because that prevents style rules from setting it to 31683 'none'. 31684 31685 2009-03-09 Alpha Lam <hclam (a] chromium.org> 31686 31687 Reviewed by Dave Hyatt. 31688 31689 https://bugs.webkit.org/show_bug.cgi?id=23024 31690 31691 Fix an incorrect criteria in the if statement that leaves references to 31692 deleted floating objects in RenderBlock. 31693 31694 Test: fast/block/float/crash-on-absolute-positioning.html 31695 31696 * rendering/RenderBlock.cpp: 31697 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 31698 31699 2009-03-09 Mike Belshe <mike (a] belshe.com> 31700 31701 Reviewed by Eric Seidel. 31702 31703 Unify JSC/V8 idl file. 31704 https://bugs.webkit.org/show_bug.cgi?id=24424 31705 31706 * page/Location.idl: 31707 31708 2009-03-09 Mike Belshe <mike (a] belshe.com> 31709 31710 Reviewed by Eric Seidel. 31711 31712 Unify JSC/V8 for History.idl. 31713 31714 * page/History.idl: 31715 31716 2009-03-09 Mike Belshe <mike (a] belshe.com> 31717 31718 Reviewed by Eric Seidel. 31719 31720 Unify JSC/V8 implementations of DOMWindow.idl. 31721 31722 * page/DOMWindow.idl: 31723 31724 2009-03-09 Simon Fraser <simon.fraser (a] apple.com> 31725 31726 Reviewed by Dave Hyatt 31727 31728 https://bugs.webkit.org/show_bug.cgi?id=24163 31729 31730 Implement mapping of FloatQuads through 3D transforms. 31731 31732 Removed the redundant localToContainerQuad() methods, which can now 31733 shared code with the old mapLocalToAbsolutePoint(), which was 31734 renamed to mapLocalToContainer(). This can now convert a point, 31735 and optionally a FloatQuad, which are carried along in the TransformState. 31736 31737 Optimized TransformState to reduce to simple FloatPoint.move() 31738 if there are no transforms, and to heap-allocate a transform only if 31739 necessary to accumulate transforms (when using preserve-3d). 31740 31741 Tested by 3d point mapping tests, and the inspector highlight (which now shows 31742 the correct quads for 3d-transformed elements). 31743 31744 * platform/graphics/transforms/TransformationMatrix.cpp: 31745 (WebCore::TransformationMatrix::projectQuad): 31746 (WebCore::TransformationMatrix::translateRight): 31747 (WebCore::TransformationMatrix::translateRight3d): 31748 * platform/graphics/transforms/TransformationMatrix.h: 31749 * rendering/RenderBox.cpp: 31750 (WebCore::RenderBox::mapLocalToContainer): 31751 (WebCore::RenderBox::mapAbsoluteToLocalPoint): 31752 * rendering/RenderBox.h: 31753 * rendering/RenderObject.cpp: 31754 (WebCore::RenderObject::localToAbsolute): 31755 (WebCore::RenderObject::absoluteToLocal): 31756 (WebCore::RenderObject::mapLocalToContainer): 31757 (WebCore::RenderObject::localToContainerQuad): 31758 * rendering/RenderObject.h: 31759 * rendering/RenderTableCell.cpp: 31760 (WebCore::RenderTableCell::mapLocalToContainer): 31761 * rendering/RenderTableCell.h: 31762 * rendering/RenderView.cpp: 31763 (WebCore::RenderView::mapLocalToContainer): 31764 * rendering/RenderView.h: 31765 * rendering/TransformState.cpp: 31766 (WebCore::TransformState::move): 31767 (WebCore::TransformState::applyTransform): 31768 (WebCore::TransformState::flatten): 31769 (WebCore::TransformState::mappedPoint): 31770 (WebCore::TransformState::mappedQuad): 31771 (WebCore::TransformState::flattenWithTransform): 31772 (WebCore::HitTestingTransformState::mappedQuad): 31773 * rendering/TransformState.h: 31774 (WebCore::TransformState::TransformState): 31775 (WebCore::TransformState::move): 31776 (WebCore::TransformState::lastPlanarPoint): 31777 (WebCore::TransformState::lastPlanarQuad): 31778 * rendering/style/RenderStyle.h: 31779 (WebCore::InheritedFlags::preserves3D): 31780 31781 2009-03-09 Simon Fraser <simon.fraser (a] apple.com> 31782 31783 Reviewed by Dave Hyatt 31784 31785 https://bugs.webkit.org/show_bug.cgi?id=24433 31786 31787 During hit testing with transforms, if a layer has backface-visibility: hidden, 31788 we need to check for it whether or not the layer has a transform, because it 31789 might be an ancestor that is transformed. 31790 31791 Test: transforms/3d/hit-testing/backface-no-transform-hit-test.html 31792 31793 * rendering/RenderLayer.cpp: 31794 (WebCore::RenderLayer::hitTestLayer): 31795 31796 2009-03-09 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 31797 31798 Reviewed by George Staikos. 31799 31800 https://bugs.webkit.org/show_bug.cgi?id=24353 31801 Allow to overrule default build options for Qt build. 31802 31803 * WebCore.pro: Allow to overrule ENABLE_VIDEO and ENABLE_NETSCAPE_PLUGIN_API 31804 31805 2009-03-09 Adam Treat <adam.treat (a] torchmobile.com> 31806 31807 Reviewed by George Staikos. 31808 31809 https://bugs.webkit.org/show_bug.cgi?id=24463 31810 WebCore::qstring is detaching and copying twice for every single 31811 WebCore::TextRun that is processed and drawn. This elevates this method 31812 to one of the top-ten most expensive methods in all of QtWebKit according 31813 to profiling. This changes the method so that QString only detaches 31814 when absolutely necessary. 31815 31816 * platform/graphics/qt/FontQt.cpp: 31817 (WebCore::qstring): 31818 (WebCore::fixSpacing): 31819 (WebCore::Font::drawComplexText): 31820 (WebCore::Font::floatWidthForComplexText): 31821 (WebCore::Font::offsetForPositionForComplexText): 31822 (WebCore::Font::selectionRectForComplexText): 31823 31824 2009-03-08 Mark Rowe <mrowe (a] apple.com> 31825 31826 Reviewed by Oliver Hunt. 31827 31828 Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that 31829 Frame.h no longer needs to include it. This cuts the size of the symbols 31830 for a debug build by around 3%. 31831 31832 * dom/Element.cpp: 31833 (WebCore::Element::scrollIntoView): 31834 (WebCore::Element::scrollIntoViewIfNeeded): 31835 * editing/Editor.cpp: 31836 (WebCore::Editor::insertTextWithoutSendingTextEvent): 31837 (WebCore::Editor::revealSelectionAfterEditingOperation): 31838 * editing/SelectionController.cpp: 31839 (WebCore::SelectionController::setSelection): 31840 * loader/FrameLoader.cpp: 31841 (WebCore::FrameLoader::gotoAnchor): 31842 * page/ContextMenuController.cpp: 31843 (WebCore::ContextMenuController::contextMenuItemSelected): 31844 * page/Frame.cpp: 31845 (WebCore::Frame::revealSelection): 31846 (WebCore::Frame::revealCaret): 31847 * page/Frame.h: 31848 * rendering/RenderLayer.cpp: 31849 (WebCore::RenderLayer::getRectToExpose): 31850 (WebCore::RenderLayer::autoscroll): 31851 * rendering/RenderLayer.h: 31852 * rendering/ScrollBehavior.cpp: Added. 31853 (WebCore::): 31854 * rendering/ScrollBehavior.h: Added. 31855 (WebCore::): 31856 (WebCore::ScrollAlignment::getVisibleBehavior): 31857 (WebCore::ScrollAlignment::getPartialBehavior): 31858 (WebCore::ScrollAlignment::getHiddenBehavior): 31859 31860 Add the new files to the build systems: 31861 * GNUmakefile.am: 31862 * WebCore.base.exp: 31863 * WebCore.pro: 31864 * WebCore.scons: 31865 * WebCore.vcproj/WebCore.vcproj: 31866 * WebCore.xcodeproj/project.pbxproj: 31867 * WebCoreSources.bkl: 31868 31869 Add includes that were previously pulled in by way of RenderLayer.h from Frame.h: 31870 * dom/Clipboard.cpp: 31871 * editing/EditorCommand.cpp: 31872 * editing/InsertLineBreakCommand.cpp: 31873 * editing/TypingCommand.cpp: 31874 * html/HTMLFormControlElement.cpp: 31875 * loader/archive/cf/LegacyWebArchive.cpp: 31876 * loader/icon/IconLoader.cpp: 31877 * page/animation/AnimationController.cpp: 31878 * rendering/RenderSlider.cpp: 31879 * rendering/RenderTextControl.cpp: 31880 31881 31882 2009-03-08 Mark Rowe <mrowe (a] apple.com> 31883 31884 Reviewed Dan Bernstein. 31885 31886 Push the include of Frame.h out of RenderView.h and down to those files 31887 that need it. This cuts the size of symbols for RenderFoo object files 31888 by around 15% in a debug build. 31889 31890 * bindings/objc/DOM.mm: 31891 * rendering/RenderFileUploadControl.cpp: 31892 * rendering/RenderInline.cpp: 31893 * rendering/RenderObject.cpp: 31894 * rendering/RenderReplaced.cpp: 31895 * rendering/RenderText.cpp: 31896 * rendering/RenderView.cpp: 31897 (WebCore::RenderView::zoomFactor): 31898 * rendering/RenderView.h: 31899 31900 2009-03-08 Mark Rowe <mrowe (a] apple.com> 31901 31902 Rubber-stamped by Dan Bernstein. 31903 31904 Remove some unnecessary or redundant includes from files related to the JS bindings. 31905 This cuts the size of the symbols for a debug build by around 3%. 31906 31907 * bindings/js/JSCustomPositionCallback.cpp: 31908 * bindings/js/JSCustomPositionErrorCallback.cpp: 31909 * bindings/js/JSCustomSQLStatementCallback.cpp: 31910 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 31911 * bindings/js/JSCustomSQLTransactionCallback.cpp: 31912 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 31913 * bindings/js/JSCustomVoidCallback.cpp: 31914 * bindings/js/JSCustomXPathNSResolver.cpp: 31915 * bindings/js/JSDocumentCustom.cpp: 31916 * bindings/js/JSPluginElementFunctions.cpp: 31917 * bindings/js/JSSVGPODTypeWrapper.h: 31918 31919 2009-03-08 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 31920 31921 Reviewed by Oliver Hunt. 31922 31923 Remove the unused methods previousHistoryItem(), setPreviousHistoryItem() 31924 and provisionalHistoryItem() from FrameLoader. 31925 31926 * WebCore.base.exp: 31927 * WebCore.order: 31928 * loader/FrameLoader.cpp: 31929 (WebCore::FrameLoader::frameLoadCompleted): 31930 (WebCore::FrameLoader::loadItem): 31931 * loader/FrameLoader.h: 31932 31933 2009-03-08 Gustavo Noronha Silva <gns (a] gnome.org> 31934 31935 Reviewed by Holger Freyther. 31936 31937 Implement proper logging for the GTK+ port, inspired by the one in 31938 Qt. We use the WEBKIT_DEBUG environment variable which was already 31939 being used to decide whether to setup a logger for soup or not. 31940 31941 * platform/gtk/LoggingGtk.cpp: 31942 (WebCore::getChannelFromName): 31943 (WebCore::InitializeLoggingChannelsIfNecessary): 31944 * platform/network/soup/ResourceHandleSoup.cpp: 31945 (WebCore::ensureSessionIsInitialized): 31946 31947 2009-03-07 Dan Bernstein <mitz (a] apple.com> 31948 31949 Reviewed by Mark Rowe. 31950 31951 - WebCore part of removing build-time and run-time support for legacy 31952 versions of CFNetwork and Core Graphics 31953 31954 * platform/graphics/win/FontCGWin.cpp: 31955 (WebCore::Font::drawGlyphs): 31956 * platform/graphics/win/FontCustomPlatformData.cpp: 31957 (WebCore::FontCustomPlatformData::fontPlatformData): 31958 * platform/graphics/win/FontPlatformDataCGWin.cpp: 31959 (WebCore::FontPlatformData::platformDataInit): 31960 * platform/network/cf/FormDataStreamCFNet.cpp: 31961 (WebCore::setHTTPBody): 31962 (WebCore::httpBodyFromRequest): 31963 * platform/network/cf/ResourceHandleCFNet.cpp: 31964 (WebCore::didSendBodyData): 31965 (WebCore::shouldUseCredentialStorageCallback): 31966 (WebCore::ResourceHandle::start): 31967 * platform/network/win/CookieJarCFNetWin.cpp: 31968 (WebCore::filterCookies): 31969 31970 2009-03-07 Adele Peterson <adele (a] apple.com> 31971 31972 Reviewed by Dan Bernstein. 31973 31974 Fix for https://bugs.webkit.org/show_bug.cgi?id=24444 31975 No multiple JS property for <input type="file" multiple /> 31976 31977 * html/HTMLInputElement.cpp: 31978 (WebCore::HTMLInputElement::multiple): 31979 (WebCore::HTMLInputElement::setMultiple): 31980 * html/HTMLInputElement.h: 31981 * html/HTMLInputElement.idl: 31982 31983 2009-03-07 Xan Lopez <xan (a] gnome.org> 31984 31985 Reviewed by Holger Freyther. 31986 31987 https://bugs.webkit.org/show_bug.cgi?id=24358 31988 [GTK] Scrollbars not clipped correctly 31989 31990 ScrollView scrollbars in subframes are *not* native, so take that 31991 into account again. 31992 31993 * platform/gtk/ScrollbarGtk.cpp: 31994 (ScrollbarGtk::getLocationInParentWindow): 31995 (ScrollbarGtk::frameRectsChanged): 31996 (ScrollbarGtk::paint): 31997 * platform/gtk/ScrollbarGtk.h: 31998 31999 2009-03-06 Peter Kasting <pkasting (a] google.com> 32000 32001 Reviewed by Darin Fisher. 32002 32003 https://bugs.webkit.org/show_bug.cgi?id=24405 32004 Horizontal scrolling on Windows was reversed from Mac (and intuition). 32005 32006 * platform/gtk/WheelEventGtk.cpp: 32007 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32008 * platform/win/WheelEventWin.cpp: 32009 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32010 32011 2009-03-06 Peter Kasting <pkasting (a] google.com> 32012 32013 Reviewed by Sam Weinig. 32014 32015 Convert some C-style casts to static_cast<>()s. 32016 32017 * platform/gtk/WheelEventGtk.cpp: 32018 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32019 * platform/mac/WheelEventMac.mm: 32020 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32021 * platform/win/WheelEventWin.cpp: 32022 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32023 * platform/wx/MouseWheelEventWx.cpp: 32024 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32025 32026 2009-03-06 Adele Peterson <adele (a] apple.com> 32027 32028 Reviewed by Oliver Hunt. 32029 32030 Fix for <rdar://problem/6607524> REGRESSION (Safari 3-4): I can't tab back to the URL field in an empty window (key loop is broken) 32031 32032 I haven't been able to make a test for this since the problem is not reproducible within an empty iframe. 32033 32034 * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): We used to ensure that every html document had a body element. 32035 That is no longer true, so we should return the document element for a truly empty document. 32036 32037 2009-03-06 Jay Campan <jcampan (a] google.com> 32038 32039 Reviewed by Darin Fisher. 32040 32041 https://bugs.webkit.org/show_bug.cgi?id=24306 32042 32043 Adding a flag to ResourceRequestBase to indicate whether or not upload 32044 progress notifications are needed for a resource. This is useful to 32045 avoid sending these notifications when there are no consumers 32046 (especially in the Chromium case where IPC is involved). 32047 32048 * platform/network/ResourceRequestBase.h: 32049 (WebCore::ResourceRequestBase::reportUploadProgress): 32050 (WebCore::ResourceRequestBase::setReportUploadProgress): 32051 (WebCore::ResourceRequestBase::ResourceRequestBase): 32052 * xml/XMLHttpRequest.cpp: 32053 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 32054 32055 2009-03-06 Dmitry Titov <dimich (a] chromium.org> 32056 32057 Reviewed by Alexey Proskuryakov. 32058 32059 https://bugs.webkit.org/show_bug.cgi?id=24150 32060 Add virtual ScriptExecutionContext::encoding() 32061 32062 Test: http/tests/workers/text-encoding.html 32063 32064 * dom/Document.cpp: 32065 (WebCore::Document::encoding): 32066 * dom/Document.h: 32067 (WebCore::Document::inputEncoding): 32068 (WebCore::Document::charset): 32069 (WebCore::Document::characterSet): 32070 Add new virtual method and route DOM synonym functions on Document through it. 32071 32072 * dom/ScriptExecutionContext.h: 32073 * workers/Worker.cpp: 32074 (WebCore::Worker::Worker): 32075 (WebCore::Worker::notifyFinished): 32076 * workers/WorkerContext.cpp: 32077 (WebCore::WorkerContext::WorkerContext): 32078 (WebCore::WorkerContext::encoding): 32079 (WebCore::WorkerContext::completeURL): Added comment on why this is different from Document::completeURL 32080 * workers/WorkerContext.h: 32081 (WebCore::WorkerContext::create): 32082 * workers/WorkerContextProxy.h: 32083 * workers/WorkerMessagingProxy.cpp: 32084 (WebCore::WorkerMessagingProxy::startWorkerContext): 32085 * workers/WorkerMessagingProxy.h: 32086 * workers/WorkerThread.cpp: 32087 (WebCore::WorkerThreadStartupData::create): 32088 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): 32089 (WebCore::WorkerThread::create): 32090 (WebCore::WorkerThread::WorkerThread): 32091 (WebCore::WorkerThread::workerThread): 32092 * workers/WorkerThread.h: 32093 All of the above route the 'encoding' parameter of parent context to the new 32094 instance of WorkerContext - from Worker::notifyFinished() via WorkerMessagingProxy 32095 through WorkerThread through WorkerThreadStartupData and into constructor of WorkerContext. 32096 32097 2009-03-06 Peter Kasting <pkasting (a] google.com> 32098 32099 Build bustage fix. 32100 32101 * dom/Node.cpp: 32102 (WebCore::Node::dispatchWheelEvent): 32103 32104 2009-03-06 Eric Carlson <eric.carlson (a] apple.com> 32105 32106 Reviewed by Antti Koivisto. 32107 32108 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 32109 (WebCore::MediaPlayerPrivate::createQTMovieView): Delay callback while setting up movieview. 32110 32111 2009-03-06 Douglas R. Davidson <ddavidso (a] apple.com> 32112 32113 Reviewed by Justin Garcia. 32114 32115 https://bugs.webkit.org/show_bug.cgi?id=24108 32116 32117 Update spelling and grammar checking to use the new combined text 32118 checking (with automatic language identification) on Snow Leopard. 32119 Tested manually in Mail and Safari; automated tests to come later. 32120 32121 * editing/Editor.cpp: 32122 (WebCore::findFirstMisspellingOrBadGrammarInRange): 32123 (WebCore::Editor::advanceToNextMisspelling): 32124 (WebCore::guessesForMisspelledOrUngrammaticalRange): 32125 (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection): 32126 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 32127 (WebCore::markAllMisspellingsAndBadGrammarInRanges): 32128 (WebCore::Editor::markMisspellingsAndBadGrammar): 32129 * editing/Editor.h: 32130 * loader/EmptyClients.h: 32131 (WebCore::EmptyEditorClient::checkSpellingAndGrammarOfParagraph): 32132 * page/EditorClient.h: 32133 * page/Frame.cpp: 32134 (WebCore::Frame::respondToChangedSelection): 32135 * platform/ContextMenu.cpp: 32136 (WebCore::ContextMenu::populate): 32137 32138 2009-03-06 Peter Kasting <pkasting (a] google.com> 32139 32140 Reviewed by Darin Fisher. 32141 32142 https://bugs.webkit.org/show_bug.cgi?id=24407 32143 Windows scroll amount was too small, and wheel scroll distance 32144 conversion code was overly complex. 32145 32146 * page/EventHandler.cpp: 32147 (WebCore::scrollAndAcceptEvent): 32148 * platform/PlatformWheelEvent.h: 32149 (WebCore::): 32150 * platform/ScrollView.cpp: 32151 (WebCore::ScrollView::wheelEvent): 32152 * platform/Scrollbar.h: 32153 * platform/gtk/WheelEventGtk.cpp: 32154 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32155 * platform/mac/WheelEventMac.mm: 32156 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32157 * platform/qt/WheelEventQt.cpp: 32158 * platform/win/WheelEventWin.cpp: 32159 (WebCore::horizontalScrollChars): 32160 (WebCore::verticalScrollLines): 32161 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32162 * platform/wx/MouseWheelEventWx.cpp: 32163 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 32164 32165 2009-03-06 Dimitri Glazkov <dglazkov (a] chromium.org> 32166 32167 Reviewed by Adam Roben. 32168 32169 Generate valid bindings with HTML5 database support disabled. 32170 32171 * inspector/InspectorController.idl: Added feature guard around 32172 databaseTableNames definition. 32173 32174 2009-03-04 Xan Lopez <xan (a] gnome.org> 32175 32176 Reviewed by Holger Freyther. 32177 32178 https://bugs.webkit.org/show_bug.cgi?id=24358 32179 [GTK] Scrollbars not clipped correctly 32180 32181 Do not take into account the case of being a ScrollView scrollbar, 32182 since those are native in our case. 32183 32184 * platform/gtk/ScrollbarGtk.cpp: 32185 (ScrollbarGtk::frameRectsChanged): 32186 32187 2009-03-04 Xan Lopez <xan (a] gnome.org> 32188 32189 Reviewed by Holger Freyther. 32190 32191 https://bugs.webkit.org/show_bug.cgi?id=24358 32192 [GTK] Scrollbars not clipped correctly 32193 32194 Move Widget::paint to ScrollbarGtk::paint, since it's scrollbar 32195 specific and it's our only Widget anyway. 32196 32197 * platform/gtk/ScrollbarGtk.cpp: 32198 (ScrollbarGtk::paint): 32199 * platform/gtk/ScrollbarGtk.h: 32200 * platform/gtk/WidgetGtk.cpp: 32201 32202 2009-03-04 Xan Lopez <xan (a] gnome.org> 32203 32204 Reviewed by Holger Freyther. 32205 32206 https://bugs.webkit.org/show_bug.cgi?id=24358 32207 [GTK] Scrollbars not clipped correctly 32208 32209 Use correct clip rectangle and apply coordinate translation needed 32210 for non-ScrollView scrollbars. 32211 32212 We were ignoring the clip rectangle passed as parameter, which is 32213 wrong in the case of non coalesced expose events. This, in turn, 32214 uncovers the fact that we were not applying coordinate translation 32215 to our position. 32216 32217 * platform/gtk/WidgetGtk.cpp: 32218 (WebCore::Widget::paint): 32219 32220 2009-03-06 Eric Carlson <eric.carlson (a] apple.com> 32221 32222 Build fix, no review 32223 32224 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: fix setSize declaration 32225 32226 2009-03-06 Eric Carlson <eric.carlson (a] apple.com> 32227 32228 Reviewed by Simon Fraser. 32229 32230 https://bugs.webkit.org/show_bug.cgi?id=22790 32231 Bug 22790: [Transforms] MediaPlayer::setRect() makes no sense with transforms 32232 Replace media engine setRect with setSize since they don't use about the 32233 position anyway. 32234 32235 * platform/graphics/MediaPlayer.cpp: 32236 (WebCore::NullMediaPlayerPrivate::setSize): Changed from setRect. 32237 (WebCore::MediaPlayer::setSize): Ditto. 32238 * platform/graphics/MediaPlayer.h: 32239 (WebCore::MediaPlayer::size): Changed from rect(). 32240 32241 * platform/graphics/MediaPlayerPrivate.h: Changed setRect to setSize. 32242 32243 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Ditto. 32244 32245 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 32246 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_size instead of m_rect 32247 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect 32248 (WebCore::MediaPlayerPrivate::paint): update comment 32249 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: m_rect -> m_size. 32250 32251 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: m_rect 32252 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 32253 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_rect. 32254 (WebCore::MediaPlayerPrivate::createQTMovieView): setRect-> setSize. 32255 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect 32256 (WebCore::MediaPlayerPrivate::paint): Call view:setFrame: when in a media document so 32257 the movie is drawn in the correct location. 32258 32259 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 32260 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect 32261 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 32262 32263 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 32264 (WebCore::MediaPlayerPrivate::setSize): Changed from setRect 32265 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 32266 32267 * rendering/RenderVideo.cpp: 32268 (WebCore::RenderVideo::updatePlayer): Call setSize instead of setRect. 32269 32270 2009-03-06 Darin Adler <darin (a] apple.com> 32271 32272 Reviewed by Darin Fisher. 32273 32274 Bug 24422: REGRESSION: null-URL crash in FrameLoader setting location.hash on new window 32275 https://bugs.webkit.org/show_bug.cgi?id=24422 32276 rdar://problem/6402208 32277 32278 Test: fast/dom/location-new-window-no-crash.html 32279 32280 The issue here is empty (or null) URLs. I picked the "schedule navigation" bottleneck 32281 to add some checks for empty URLs. We could also put the empty URL checks at some 32282 other bottleneck level and add more assertions over time. I tried adding a few more 32283 assertions to functions like loadURL and hit them while running the regression tests, 32284 so it's probably going to be a bit tricky to clean this up throughout the loader. 32285 32286 * loader/FrameLoader.cpp: 32287 (WebCore::ScheduledRedirection::ScheduledRedirection): Explicitly marked this struct 32288 immutable by making all its members const. Added assertions about the arguments, 32289 including that the URL is not empty. Initialized one uninitialized member in one of 32290 the constructors. 32291 (WebCore::FrameLoader::scheduleHTTPRedirection): Added an early exit to make this 32292 a no-op if passed an empty URL. 32293 (WebCore::FrameLoader::scheduleLocationChange): Ditto. 32294 (WebCore::FrameLoader::scheduleRefresh): Ditto. 32295 32296 2009-03-06 Gustavo Noronha Silva <gns (a] gnome.org> 32297 32298 Reviewed by Holger Freyther. 32299 32300 https://bugs.webkit.org/show_bug.cgi?id=24423 32301 Use new soup_message_body_set_accumulate API in soup backend 32302 32303 Disable accumulating chunks for request_body on file uploads, 32304 using the new soup API. 32305 32306 * platform/network/soup/ResourceHandleSoup.cpp: 32307 (WebCore::ResourceHandle::startHttp): 32308 32309 2009-03-06 Gustavo Noronha Silva <gns (a] gnome.org> 32310 32311 Reviewed by Holger Freyther. 32312 32313 Replace use of deprecated SOUP_MESSAGE_OVERWRITE_CHUNKS flag with 32314 the new soup_message_body_set_accumulate API in soup. 32315 32316 * platform/network/soup/ResourceHandleSoup.cpp: 32317 (WebCore::gotHeadersCallback): 32318 (WebCore::ResourceHandle::startHttp): 32319 32320 2009-03-06 Gustavo Noronha Silva <gns (a] gnome.org> 32321 32322 Reviewed by Holger Freyther. 32323 32324 https://bugs.webkit.org/show_bug.cgi?id=24051 32325 Soup backend needs content sniffing capabilities 32326 32327 Perform content sniffing when using soup, so that we have a chance 32328 of figuring out the Content-Type of the file if it's not sent by 32329 the server. 32330 32331 * platform/network/ResourceHandleInternal.h: 32332 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 32333 * platform/network/soup/ResourceHandleSoup.cpp: 32334 (WebCore::gotHeadersCallback): 32335 (WebCore::gotChunkCallback): 32336 32337 2009-03-06 Hironori Bono <hbono (a] chromium.org> 32338 32339 Reviewed by Alexey Proskuryakov. 32340 32341 https://bugs.webkit.org/show_bug.cgi?id=24342 32342 Cannot insert a Thai character after a Thai prepend character when using ICU 4.0 32343 32344 This change creates a new break iterator "cursorMovementIterator" for 32345 moving cursors and use it when moving an input cursor. 32346 In "TextBreakIteratorICU.cpp", this break iterator uses custom ruleset 32347 based on the one of ICU 3.8. 32348 On the other hand, in "TextBreakIteratorQt.cpp", this break iterator 32349 just calls the characterBreakIterator() function. 32350 32351 Test: editing/inserting/insert-thai-characters-001.html 32352 32353 * platform/text/TextBreakIterator.h: Added a new function cursorMovementIterator(). 32354 * platform/text/TextBreakIteratorICU.cpp: Implemented the cursorMovementIterator() function for ICU. 32355 (WebCore::setUpIteratorWithRules): Ditto. 32356 (WebCore::cursorMovementIterator): Ditto. 32357 * platform/text/qt/TextBreakIteratorQt.cpp: Implemented the cursorMovementIterator() function for Qt. 32358 (WebCore::cursorMovementIterator): Ditto. 32359 * rendering/RenderText.cpp: Call the cursorMovementIterator() function when moving an input cursor. 32360 (WebCore::RenderText::previousOffset): Ditto. 32361 (WebCore::RenderText::nextOffset): Ditto. 32362 32363 2009-03-05 Alexey Proskuryakov <ap (a] webkit.org> 32364 32365 Reviewed by Oliver Hunt. 32366 32367 <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special 32368 Characters (a compatibility issue with widgets). 32369 32370 Test: http/tests/xmlhttprequest/broken-xml-encoding.html 32371 32372 Revert part of an Acid 3 fix - now we are no longer strict when decoding XMLHttpRequest XML 32373 responses. 32374 32375 * loader/TextResourceDecoder.cpp: 32376 (WebCore::TextResourceDecoder::TextResourceDecoder): 32377 (WebCore::TextResourceDecoder::decode): 32378 (WebCore::TextResourceDecoder::flush): 32379 * loader/TextResourceDecoder.h: 32380 (WebCore::TextResourceDecoder::useLenientXMLDecoding): 32381 Don't stop on XML decoding errors if useLenientXMLDecoding() was called. 32382 32383 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): Don't stop on XML 32384 decoding errors. This behavior is now limited to other kinds of XML content. 32385 32386 2009-03-05 Simone Fiorentino <simone.fiorentino (a] consulenti.fastweb.it> 32387 32388 Bug 24382: request to add SH4 platform 32389 32390 <https://bugs.webkit.org/show_bug.cgi?id=24382> 32391 32392 Reviewed by David Kilzer. 32393 32394 * platform/text/AtomicString.cpp: 32395 (WebCore::equal): Aligned memory access on SH4 platform. 32396 32397 2009-03-05 Jeremy Moskovich <jeremy (a] chromium.org> 32398 32399 Reviewed by Simon Fraser. 32400 32401 Fix for https://bugs.webkit.org/show_bug.cgi?id=24215 32402 32403 Gears expects an object tag with display:none to instantiate the plugin, 32404 so we add a workaround to make this work and fix Gears on WebKit trunk. 32405 32406 * html/HTMLObjectElement.cpp: 32407 (WebCore::HTMLObjectElement::rendererIsNeeded): 32408 32409 2009-03-05 Avi Drissman <avi (a] chromium.org> 32410 32411 Reviewed by Darin Fisher. 32412 32413 Need to have Chromium Mac match Safari Mac's accesskey handling 32414 https://bugs.webkit.org/show_bug.cgi?id=24404 32415 32416 * page/chromium/EventHandlerChromium.cpp: 32417 (WebCore::EventHandler::accessKeyModifiers): Share access key modifiers with Mac Safari when building for the Mac. 32418 32419 2009-03-05 Simon Fraser <simon.fraser (a] apple.com> 32420 32421 Reviewed by Dave Hyatt 32422 32423 https://bugs.webkit.org/show_bug.cgi?id=24412 32424 32425 Fix crash when hit-testing elements with -webkit-transform-style: preserve-3d 32426 but no transform. We need to make localTransformState if we see preserve-3d. 32427 Also need to call update3DTransformedDescendantStatus() before we test 32428 m_has3DTransformedDescendant. 32429 32430 Test: transforms/3d/hit-testing/hit-preserves-3d.html 32431 32432 * rendering/RenderLayer.cpp: 32433 (WebCore::RenderLayer::hitTestLayer): 32434 32435 2009-03-05 Eric Seidel <eric (a] webkit.org> 32436 32437 Reviewed by David Hyatt. 32438 32439 Changes to RenderLayer destruction to hopefully help catch an elusive crasher 32440 https://bugs.webkit.org/show_bug.cgi?id=24409 32441 32442 Added a new RenderBoxModelObject::destroyLayer() call which is 32443 now the only way which RenderLayers should ever be destroyed. 32444 This ensures that the pointer to the layer is cleared in the 32445 RenderObject after destruction, allowing us to ASSERT in the 32446 RenderBoxModelObject destructor. 32447 32448 * rendering/RenderBox.cpp: 32449 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 32450 * rendering/RenderBoxModelObject.cpp: 32451 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 32452 (WebCore::RenderBoxModelObject::destroyLayer): 32453 (WebCore::RenderBoxModelObject::destroy): 32454 (WebCore::RenderBoxModelObject::styleDidChange): 32455 * rendering/RenderBoxModelObject.h: 32456 * rendering/RenderLayer.cpp: 32457 (WebCore::RenderLayer::stackingContext): 32458 (WebCore::RenderLayer::destroy): 32459 (WebCore::RenderLayer::removeOnlyThisLayer): 32460 * rendering/RenderLayer.h: 32461 * rendering/RenderObject.cpp: 32462 (WebCore::RenderObject::destroy): 32463 * rendering/RenderWidget.cpp: 32464 (WebCore::RenderWidget::destroy): 32465 32466 2009-03-05 Eric Seidel <eric (a] webkit.org> 32467 32468 Reviewed by David Hyatt. 32469 32470 Remove old, unused IE 5.5 scrollbar-* CSS properties. 32471 Sort the unimplemented getComputedStyle properties so it's 32472 easier to see which ones actually need implementation. 32473 32474 * css/CSSComputedStyleDeclaration.cpp: 32475 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 32476 * css/CSSParser.cpp: 32477 (WebCore::CSSParser::parseValue): 32478 * css/CSSPropertyNames.in: 32479 * css/CSSStyleSelector.cpp: 32480 (WebCore::CSSStyleSelector::applyProperty): 32481 32482 2009-03-05 Justin Garcia <justin.garcia (a] apple.com> 32483 32484 Reviewed by Darin Adler. 32485 32486 WebViewDidChangeSelectionNotifications weren't being sent for commands that change the selection's position 32487 within the document without changing its position in the DOM. For example, pressing return in (caret marked by ^): 32488 <div contentEditable="true"><div>^Hello</div></div> 32489 Undo was being enabled, shouldDeleteDOMRange called, etc. when doing no-op deletes (a delete in an empty document 32490 for example). 32491 32492 Changes to layout tests demonstrate fix. 32493 32494 * editing/EditCommand.cpp: 32495 (WebCore::EditCommand::apply): Don't call applyEditing for a TypingCommand. The TypingCommand knows whether or 32496 not it did work that needs to be applied. 32497 * editing/Editor.cpp: 32498 (WebCore::Editor::appliedEditing): Moved code (but did not alter) to changeSelectionAfterCommand. 32499 (WebCore::Editor::unappliedEditing): Ditto. 32500 (WebCore::Editor::reappliedEditing): Ditto. 32501 (WebCore::Editor::changeSelectionAfterCommand): Moved code from *appliedEditing into here. Also call out to 32502 EditorClient::respondToChangedSelection() for commands that changed the selection's position in the document 32503 even if they did not change it's position in the DOM. Any TypingCommand that gets this far changed it's position 32504 in the document. 32505 * editing/Editor.h: 32506 * editing/TypingCommand.cpp: 32507 (WebCore::TypingCommand::TypingCommand): Removed unused m_appliedEditing. 32508 (WebCore::TypingCommand::typingAddedToOpenCommand): Always apply editing. We won't get this far if we don't need to. 32509 (WebCore::TypingCommand::deleteKeyPressed): Don't do any of the things that only make sense for Range selections, like 32510 adding to the killring and responding to a change in selections if the delete was a no-op. 32511 (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto. 32512 * editing/TypingCommand.h: 32513 32514 2009-03-05 Dimitri Glazkov <dglazkov (a] chromium.org> 32515 32516 Reviewed by Adam Roben. 32517 32518 Eliminate a ref-counting leak in InspectorController. 32519 32520 * inspector/InspectorController.h: Made constructor private, added static create method. 32521 * page/Page.cpp: 32522 (WebCore::Page::Page): Change initializer to use static create method. 32523 32524 2009-03-05 Dimitri Glazkov <dglazkov (a] chromium.org> 32525 32526 Reviewed by Timothy Hatcher. 32527 32528 https://bugs.webkit.org/show_bug.cgi?id=24355 32529 Add InspectorController.idl and convert InspectorController.cpp to use 32530 JSC bindings. 32531 32532 * DerivedSources.make: Added InspectorController.idl 32533 * WebCore.xcodeproj/project.pbxproj: Added idl, bindings files. 32534 * bindings/js/JSInspectorControllerCustom.cpp: Added. 32535 * bindings/scripts/CodeGeneratorJS.pm: Added Array to no-header types. 32536 * inspector/InspectorController.cpp: Removed hand-rolled bindings. 32537 * inspector/InspectorController.h: Added platform and addSourceToFrame methods. 32538 * inspector/InspectorController.idl: Added. 32539 * page/Page.h: Changed member to RefPtr since InspectorController is now ref-counted. 32540 32541 2009-03-05 Eric Carlson <eric.carlson (a] apple.com> 32542 32543 Reviewed by Simon Fraser. 32544 32545 https://bugs.webkit.org/show_bug.cgi?id=24400 32546 Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount" 32547 media element attributes 32548 32549 Test: media/video-loop.html 32550 32551 * html/HTMLMediaElement.cpp: 32552 (WebCore::HTMLMediaElement::HTMLMediaElement): 32553 (WebCore::HTMLMediaElement::loadInternal): 32554 (WebCore::HTMLMediaElement::setNetworkState): 32555 (WebCore::HTMLMediaElement::seek): 32556 (WebCore::HTMLMediaElement::playInternal): 32557 (WebCore::HTMLMediaElement::loop): 32558 (WebCore::HTMLMediaElement::setLoop): 32559 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): 32560 (WebCore::HTMLMediaElement::endedPlayback): 32561 (WebCore::HTMLMediaElement::updatePlayState): 32562 * html/HTMLMediaElement.h: 32563 * html/HTMLMediaElement.idl: 32564 32565 2009-03-05 Steve Falkenburg <sfalken (a] apple.com> 32566 32567 <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached 32568 32569 Reviewed by Ada Chan. 32570 32571 * platform/network/cf/ResourceHandleCFNet.cpp: 32572 (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version. 32573 32574 2009-03-05 David Hyatt <hyatt (a] apple.com> 32575 32576 Reviewed by Eric Seidel 32577 32578 https://bugs.webkit.org/show_bug.cgi?id=24248 32579 32580 Make sure painting of overflow controls checks that visibility:visible is set on the block before 32581 painting. Pixel tests caught this regression. 32582 32583 Make sure resizer painting pushes a clip of the corner rect. It was relying on the clip layers happened 32584 to do to their bounds (which had nothing to do with overflow). 32585 32586 * rendering/RenderBlock.cpp: 32587 (WebCore::RenderBlock::paint): 32588 * rendering/RenderLayer.cpp: 32589 (WebCore::RenderLayer::paintResizer): 32590 32591 2009-03-05 Yong Li <yong.li (a] torchmobile.com> 32592 32593 Reviewed by Simon Fraser. 32594 32595 https://bugs.webkit.org/show_bug.cgi?id=24386 32596 A faster implementation of extractMIMETypeFromMediaType. 32597 32598 * platform/network/HTTPParsers.cpp: 32599 (WebCore::extractMIMETypeFromMediaType): 32600 32601 2009-03-05 Yong Li <yong.li (a] torchmobile.com> 32602 32603 Reviewed by Antti Koivisto. 32604 32605 https://bugs.webkit.org/show_bug.cgi?id=24392 32606 Do not get the current time for unless we're doing PRELOAD_DEBUG as this 32607 can be unnecessarily expensive. 32608 32609 * html/PreloadScanner.cpp: 32610 (WebCore::PreloadScanner::write): 32611 32612 2009-03-04 Simon Fraser <simon.fraser (a] apple.com> 32613 32614 Reviewed by Dave Hyatt 32615 32616 https://bugs.webkit.org/show_bug.cgi?id=24327 32617 32618 When mapping points and hit testing through transforms, work 32619 correctly when acclerated animations of transforms are running. 32620 32621 Tested by LayoutTests/animations/animation-hit-test-transform.html, 32622 which only failed when ACCELERATED_COMPOSITING was turned on. 32623 32624 * rendering/RenderLayer.cpp: 32625 (WebCore::RenderLayer::currentTransform): 32626 * rendering/RenderLayer.h: 32627 * rendering/RenderObject.cpp: 32628 (WebCore::RenderObject::transformFromContainer): 32629 32630 2009-03-05 Mike Belshe <mike (a] belshe.com> 32631 32632 Reviewed by Darin Fisher. 32633 32634 https://bugs.webkit.org/show_bug.cgi?id=24391 32635 Frame.cpp uses JSC specific includes 32636 32637 * page/Frame.cpp: 32638 32639 2009-03-05 Gustavo Noronha Silva <gns (a] gnome.org> 32640 32641 Reviewed by Alexey Proskuryakov. 32642 32643 https://bugs.webkit.org/show_bug.cgi?id=24389 32644 WebKitGTK+ crashes when cancelling plugin loads 32645 32646 Remove bogus calls to the client's didFinishLoading method from 32647 our ResourceHandle::cancel implementation. Calling 32648 didFinishLoading here is mostly inoffensive for most loads, but 32649 causes crashes when plugin loads are cancelled. 32650 32651 * platform/network/soup/ResourceHandleSoup.cpp: 32652 (WebCore::ResourceHandle::cancel): 32653 32654 2009-03-05 Steve Falkenburg <sfalken (a] apple.com> 32655 32656 Windows build fix. 32657 32658 * WebCore.vcproj/QTMovieWin.vcproj: 32659 32660 2009-03-05 Adam Treat <adam.treat (a] torchmobile.com> 32661 32662 Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0. The method 32663 ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not 32664 protected by an #if and uses HTMLPlugInElement so it must be included. 32665 32666 * bindings/js/ScriptController.cpp: 32667 32668 2009-03-05 Dimitri Glazkov <dglazkov (a] chromium.org> 32669 32670 GTK Build fix. 32671 32672 * inspector/ConsoleMessage.h: Use proper header. 32673 32674 2009-03-05 Dimitri Glazkov <dglazkov (a] chromium.org> 32675 32676 Reviewed by Timothy Hatcher. 32677 32678 https://bugs.webkit.org/show_bug.cgi?id=24376 32679 Split InspectorController.cpp file into separate classes. 32680 32681 * GNUmakefile.am: Modified to include new files. 32682 * WebCore.pro: Ditto. 32683 * WebCore.scons: Ditto. 32684 * WebCore.vcproj/WebCore.vcproj: Ditto. 32685 * WebCore.xcodeproj/project.pbxproj: Ditto. 32686 * WebCoreSources.bkl: Ditto. 32687 * inspector/ConsoleMessage.cpp: Added. 32688 * inspector/ConsoleMessage.h: Added. 32689 * inspector/InspectorController.cpp: 32690 * inspector/InspectorDOMStorageResource.cpp: Added. 32691 * inspector/InspectorDOMStorageResource.h: Added. 32692 * inspector/InspectorDatabaseResource.cpp: Added. 32693 * inspector/InspectorDatabaseResource.h: Added. 32694 * inspector/InspectorResource.cpp: Added. 32695 * inspector/InspectorResource.h: Added. 32696 32697 2009-03-05 Eric Carlson <eric.carlson (a] apple.com> 32698 32699 Reviewed by Darin Adler 32700 32701 https://bugs.webkit.org/show_bug.cgi?id=24387 32702 Remove media element bufferingRate attribute. No test necessary as there 32703 were none for this attribute. 32704 32705 * html/HTMLMediaElement.cpp: 32706 (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate. 32707 (WebCore::HTMLMediaElement::loadInternal): Ditto. 32708 (WebCore::HTMLMediaElement::setNetworkState): Ditto. 32709 (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate. 32710 * html/HTMLMediaElement.h: Remove m_bufferingRate. 32711 * html/HTMLMediaElement.idl: Ditto. 32712 32713 2009-03-05 Xan Lopez <xan (a] gnome.org> 32714 32715 Reviewed by Mark Rowe. 32716 32717 https://bugs.webkit.org/show_bug.cgi?id=24377 32718 [GTK] Comply better with coding style guidelines in ResourceHandleSoup 32719 32720 Use C++ booleans, 0 instead of NULL, prefix boolean variables with 32721 'is', do not use 'else if' if the previous if had a return, delete 32722 trailing whitespace, etc. 32723 32724 * platform/network/ResourceHandleInternal.h: 32725 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 32726 * platform/network/soup/ResourceHandleSoup.cpp: 32727 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 32728 (WebCore::fillResponseFromMessage): 32729 (WebCore::restartedCallback): 32730 (WebCore::finishedCallback): 32731 (WebCore::parseDataUrl): 32732 (WebCore::ensureSessionIsInitialized): 32733 (WebCore::ResourceHandle::startHttp): 32734 (WebCore::reportUnknownProtocolError): 32735 (WebCore::ResourceHandle::start): 32736 (WebCore::cleanupGioOperation): 32737 (WebCore::closeCallback): 32738 (WebCore::readCallback): 32739 (WebCore::openCallback): 32740 (WebCore::queryInfoCallback): 32741 (WebCore::ResourceHandle::startGio): 32742 32743 2009-03-04 Simon Fraser <simon.fraser (a] apple.com> 32744 32745 Reviewed by Eric Seidel 32746 32747 https://bugs.webkit.org/show_bug.cgi?id=24328 32748 32749 If an element has backface-visibility: hidden, hit testing should not 32750 hit the back sides of elements. Test for that by inverting the accumulated 32751 transform and looking at the z vector. 32752 32753 Tested by transforms/3d/hit-testing/backface-hit-test.html 32754 32755 * rendering/RenderLayer.cpp: 32756 (WebCore::RenderLayer::hitTestLayer): 32757 32758 2009-03-04 Adam Langley <agl (a] google.com> 32759 32760 Reviewed by Darin Fisher. 32761 32762 r41362 mistakenly added functions "RenderThemeWin::" into 32763 RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed 32764 them to void return types. This patch switches them back to ints. 32765 32766 https://bugs.webkit.org/show_bug.cgi?id=24360 32767 32768 * rendering/RenderThemeChromiumLinux.cpp: 32769 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft): 32770 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight): 32771 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop): 32772 (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom): 32773 32774 2009-03-04 Adam Langley <agl (a] google.com> 32775 32776 Reviewed by Darin Fisher. 32777 32778 Chromium Linux: change some metrics to better match Windows after 32779 r41416. Aesthetically this may be worse, but web-compat is king. 32780 32781 Also, the previous code had an off by one error when drawing 32782 scrollbars which caused the scrollbar to overflow it's bounds by 1px 32783 at the right and bottom edges. 32784 32785 https://bugs.webkit.org/show_bug.cgi?id=24369 32786 32787 * rendering/RenderThemeChromiumLinux.cpp: 32788 (WebCore::): 32789 (WebCore::RenderThemeChromiumLinux::systemFont): 32790 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 32791 (WebCore::ScrollbarThemeChromium::paintTrackPiece): 32792 32793 2009-03-04 Eric Seidel <eric (a] webkit.org> 32794 32795 Reviewed by Adam Roben. 32796 32797 Add an ASSERT to better demonstrate the cause of the crash in 32798 https://bugs.webkit.org/show_bug.cgi?id=23736 32799 32800 * loader/DocLoader.cpp: 32801 (WebCore::DocLoader::~DocLoader): 32802 32803 2009-03-04 David Levin <levin (a] chromium.org> 32804 32805 Reviewed by Alexey Proskuryakov. 32806 32807 Bug 24337: Assert when doing sync XHR in a worker for a cacheable response. 32808 <https://bugs.webkit.org/show_bug.cgi?id=24337> 32809 32810 Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html 32811 http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html 32812 32813 * loader/mac/ResourceLoaderMac.mm: 32814 (WebCore::ResourceLoader::willCacheResponse): 32815 An identifier is only asssigned if resource load callbacks are done. So don't send 32816 willCacheResponse which uses identifier if resource load callbacks aren't being sent. 32817 32818 2009-03-04 David Levin <levin (a] chromium.org> 32819 32820 Reviewed by Alexey Proskuryakov. 32821 32822 Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated. 32823 <https://bugs.webkit.org/show_bug.cgi?id=24330> 32824 32825 Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html 32826 32827 * dom/ExceptionCode.cpp: 32828 (WebCore::xmlHttpRequestExceptionNames): 32829 Added missing ABORT_ERR whose absence caused an assert. 32830 32831 * loader/WorkerThreadableLoader.cpp: 32832 (WebCore::WorkerThreadableLoader::loadResourceSynchronously): 32833 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): 32834 Add more logic to handle the termination case for sync xhr. 32835 32836 2009-03-04 Eric Carlson <eric.carlson (a] apple.com> 32837 32838 Reviewed by Antti Koivisto. 32839 32840 https://bugs.webkit.org/show_bug.cgi?id=24364 32841 Add support for HTMLMediaElement canPlayType method. Make 32842 MediaPlayer::supportsType take a ContentType instead of a 32843 separate mime type and codecs parameter. 32844 32845 Test: media/video-can-play-type.html 32846 32847 * dom/DOMImplementation.cpp: 32848 (WebCore::DOMImplementation::createDocument): 32849 * html/HTMLMediaElement.cpp: 32850 (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method. 32851 (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType. 32852 (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type. 32853 (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType. 32854 * html/HTMLMediaElement.h: Add prototype. 32855 * html/HTMLMediaElement.idl: Ditto. 32856 * platform/graphics/MediaPlayer.cpp: 32857 (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type. 32858 (WebCore::MediaPlayer::supportsType): Ditto. 32859 * platform/graphics/MediaPlayer.h: 32860 32861 2009-03-04 Antti Koivisto <antti (a] apple.com> 32862 32863 Reviewed by Dave Hyatt. 32864 32865 https://bugs.webkit.org/show_bug.cgi?id=24359 32866 Repaint throttling mechanism 32867 32868 Excessive repainting can slow down page loadind. This implements a timer 32869 based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not 32870 enabled by default. 32871 32872 * loader/FrameLoader.cpp: 32873 (WebCore::FrameLoader::checkCompleted): 32874 * page/EventHandler.cpp: 32875 (WebCore::EventHandler::dispatchDragEvent): 32876 (WebCore::EventHandler::dispatchMouseEvent): 32877 (WebCore::EventHandler::keyEvent): 32878 (WebCore::EventHandler::handleTextInputEvent): 32879 * page/FrameView.cpp: 32880 (WebCore::FrameView::FrameView): 32881 (WebCore::FrameView::reset): 32882 (WebCore::FrameView::repaintContentRectangle): 32883 (WebCore::FrameView::beginDeferredRepaints): 32884 (WebCore::FrameView::endDeferredRepaints): 32885 (WebCore::FrameView::checkStopDelayingDeferredRepaints): 32886 (WebCore::FrameView::doDeferredRepaints): 32887 (WebCore::FrameView::updateDeferredRepaintDelay): 32888 (WebCore::FrameView::resetDeferredRepaintDelay): 32889 (WebCore::FrameView::adjustedDeferredRepaintDelay): 32890 (WebCore::FrameView::deferredRepaintTimerFired): 32891 (WebCore::FrameView::paintContents): 32892 * page/FrameView.h: 32893 32894 2009-03-04 Sam Weinig <sam (a] webkit.org> 32895 32896 Rubber-stamped by Antti Koivisto. 32897 32898 Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms. 32899 32900 * dom/Document.cpp: 32901 (WebCore::Document::Document): 32902 * dom/Document.h: 32903 (WebCore::Document::haveStylesheetsLoaded): 32904 * html/HTMLTokenizer.cpp: 32905 (WebCore::HTMLTokenizer::scriptHandler): 32906 * loader/Cache.cpp: 32907 (WebCore::Cache::requestResource): 32908 * loader/CachedCSSStyleSheet.cpp: 32909 (WebCore::CachedCSSStyleSheet::checkNotify): 32910 * loader/DocLoader.h: 32911 * loader/FrameLoader.cpp: 32912 (WebCore::FrameLoader::FrameLoader): 32913 (WebCore::FrameLoader::requestFrame): 32914 (WebCore::FrameLoader::stopLoading): 32915 (WebCore::FrameLoader::begin): 32916 (WebCore::FrameLoader::write): 32917 (WebCore::FrameLoader::endIfNotLoadingMainResource): 32918 (WebCore::FrameLoader::checkCompleted): 32919 (WebCore::FrameLoader::requestObject): 32920 (WebCore::FrameLoader::loadItem): 32921 * loader/FrameLoader.h: 32922 32923 2009-03-02 Xan Lopez <xan (a] gnome.org> 32924 32925 Reviewed by Mark Rowe. 32926 32927 https://bugs.webkit.org/show_bug.cgi?id=24287 32928 [GTK] Move auth dialog feature to WebKit/ 32929 32930 Remove WebKitSoupAuthDialog files from build and stop using it. 32931 32932 * GNUmakefile.am: 32933 * platform/network/soup/ResourceHandleSoup.cpp: 32934 (WebCore::ensureSessionIsInitialized): 32935 * platform/network/soup/webkit-soup-auth-dialog.c: Removed. 32936 * platform/network/soup/webkit-soup-auth-dialog.h: Removed. 32937 32938 2009-03-04 Simon Fraser <simon.fraser (a] apple.com> 32939 32940 Reviewed by Dave Hyatt 32941 32942 https://bugs.webkit.org/show_bug.cgi?id=24361 32943 32944 Reinstate code that sets result.innerNode when hitTest() returns true, 32945 but never filled in the innerNode. Fixes hit testing of generated content. 32946 32947 Test: fast/css-generated-content/hit-test-generated-content.html 32948 32949 * rendering/RenderLayer.cpp: 32950 (WebCore::RenderLayer::hitTestContents): 32951 32952 2009-03-04 Adam Barth <abath (a] webkit.org> 32953 32954 Reviewed by Alexey Proskuryakov. 32955 32956 https://bugs.webkit.org/show_bug.cgi?id=24356 32957 32958 Fix WebKit style for allowUniversalAccessFromFileURLs. 32959 32960 * WebCore.base.exp: 32961 * dom/Document.cpp: 32962 (WebCore::Document::initSecurityContext): 32963 * page/Settings.cpp: 32964 (WebCore::Settings::Settings): 32965 (WebCore::Settings::setAllowUniversalAccessFromFileURLs): 32966 * page/Settings.h: 32967 (WebCore::Settings::allowUniversalAccessFromFileURLs): 32968 32969 2009-03-04 Brady Eidson <beidson (a] apple.com> 32970 32971 Reviewed by Darin Adler 32972 32973 <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened. 32974 32975 I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things, 32976 consolidated some of the various decision making pieces of the Cache into the new method 32977 FrameLoader::cachePolicy(). 32978 32979 Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader 32980 is reloading. If it is, we'd evict any existing resource then recreate it. Quick looks uses the 32981 same URL for this image every time and expects it to be reloaded with each new card. 32982 32983 The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy 32984 is "ReloadIgnoringCacheData". This check was lost in the consolidation to the new method. 32985 32986 * loader/FrameLoader.cpp: 32987 (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible 32988 condition for returning CachePolicyReload. 32989 32990 2009-03-04 Timothy Hatcher <timothy (a] apple.com> 32991 32992 * English.lproj/localizedStrings.js: Update strings to include "DATABASES", 32993 "LOCAL STORAGE" and "SESSION STORAGE". 32994 32995 2009-03-04 Timothy Hatcher <timothy (a] apple.com> 32996 32997 Fix a regression where the Web Inspector console would not animate 32998 in or out correctly. 32999 33000 Reviewed by Anders Carlsson. 33001 33002 * inspector/front-end/inspector.css: Move a z-index to a child element 33003 to get the correct stacking order during the animation. 33004 33005 2009-03-03 David Hyatt <hyatt (a] apple.com> 33006 33007 https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout. 33008 33009 Make sure to factor clear deltas into y position estimates. Also avoid doing the comparison of 33010 the final position against the y position estimate until after the clear has happened. This gets rid 33011 of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once. 33012 33013 Reviewed by Dan Bernstein 33014 33015 Added fast/block/float/nested-clearance.html 33016 33017 * rendering/RenderBlock.cpp: 33018 (WebCore::RenderBlock::collapseMargins): 33019 (WebCore::RenderBlock::clearFloatsIfNeeded): 33020 (WebCore::RenderBlock::estimateVerticalPosition): 33021 (WebCore::RenderBlock::layoutBlockChildren): 33022 (WebCore::RenderBlock::getClearDelta): 33023 * rendering/RenderBlock.h: 33024 33025 2009-03-02 Kim Grnholm <kim.gronholm (a] nomovok.com> 33026 33027 Reviewed by Simon Hausmann. 33028 33029 Improvement to 3d transformations rendering in QtWebKit. QTransform is used 33030 instead of QMatrix. This allows perspective transformations since QTransform is 33031 a true 3x3 matrix. 33032 33033 * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere. 33034 (WebCore::GraphicsContext::getCTM): 33035 (WebCore::GraphicsContext::restorePlatformState): 33036 (WebCore::GraphicsContext::fillPath): 33037 (WebCore::GraphicsContext::strokePath): 33038 (WebCore::GraphicsContext::fillRect): 33039 (WebCore::GraphicsContext::translate): 33040 (WebCore::GraphicsContext::rotate): 33041 (WebCore::GraphicsContext::scale): 33042 (WebCore::GraphicsContext::concatCTM): 33043 * platform/graphics/qt/ImageQt.cpp: 33044 (WebCore::Image::drawPattern): 33045 * platform/graphics/qt/PathQt.cpp: 33046 (WebCore::Path::translate): 33047 (WebCore::Path::transform): 33048 * platform/graphics/qt/PatternQt.cpp: 33049 (WebCore::Pattern::createPlatformPattern): 33050 * platform/graphics/qt/TransformationMatrixQt.cpp: 33051 (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator 33052 to QMatrix with one to QTransform. 33053 * platform/graphics/transforms/TransformationMatrix.h: 33054 * platform/graphics/qt/FontQt.cpp: 33055 33056 2009-02-24 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 33057 33058 Reviewed by Simon Hausmann. 33059 33060 https://bugs.webkit.org/show_bug.cgi?id=24151 33061 Fix Qt/S60 build break 33062 33063 * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds 33064 * platform/qt/FileSystemQt.cpp: Ditto 33065 (WebCore::unloadModule): 33066 33067 2009-03-03 Mike Belshe <mike (a] belshe.com> 33068 33069 Reviewed by Alexey Proskuryakov. 33070 33071 https://bugs.webkit.org/show_bug.cgi?id=21939 33072 Uninitialized ExceptionCode in DOMWindow::postMessage 33073 33074 * dom/MessagePort.cpp: 33075 (WebCore::MessagePort::postMessage): 33076 33077 2009-03-03 David Kilzer <ddkilzer (a] apple.com> 33078 33079 <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase 33080 33081 Reviewed by Mark Rowe. 33082 33083 The fix is to add INSTALLHDRS_COPY_PHASE = YES and 33084 INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make 33085 sure various build phase scripts work with the installhdrs build 33086 phase. 33087 33088 * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME 33089 based on PLATFORM_NAME to work around the missing definition on 33090 Tiger. 33091 * Configurations/WebCore.xcconfig: Added 33092 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in 33093 the "Generate Derived Sources" script. Added 33094 INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES. 33095 33096 * WebCore.xcodeproj/project.pbxproj: 33097 - Added shell code to prevent running "Check For Global 33098 Initializers", "Check For Exit Time Destructors" and "Check 33099 For Weak VTables" scripts during the installhdrs build phase. 33100 - Made "Generate Derived Sources" work for the installhdrs build 33101 phase. Also simplified setting of CREATE_HASH_TABLE by using 33102 JAVASCRIPTCORE_PRIVATE_HEADERS_DIR. 33103 33104 2009-03-02 Adam Langley <agl (a] google.com> 33105 33106 Reviewed by Darin Fisher. 33107 33108 Chromium Linux: Switch to using Skia to render widgets. 33109 33110 In order to sandbox the Chromium renderer on Linux we need to remove 33111 the X connection. GTK cannot render without an X connection so, for 33112 now, we render widgets ourselves. 33113 33114 Previously didn't use anti-alias fonts in order to match Windows font 33115 rendering exactly. This was helpful when bootstrapping our layout 33116 tests. Now, however, we are ready to enable it. 33117 33118 https://bugs.webkit.org/show_bug.cgi?id=24244 33119 33120 * platform/chromium/ScrollbarThemeChromium.cpp: 33121 (WebCore::ScrollbarThemeChromium::buttonSize): 33122 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: 33123 (WebCore::ScrollbarThemeChromium::scrollbarThickness): 33124 (WebCore::ScrollbarThemeChromium::paintTrackPiece): 33125 (WebCore::ScrollbarThemeChromium::paintButton): 33126 (WebCore::ScrollbarThemeChromium::paintThumb): 33127 * platform/graphics/chromium/FontPlatformDataLinux.cpp: 33128 (WebCore::FontPlatformData::setupPaint): 33129 * platform/graphics/skia/PlatformContextSkia.cpp: 33130 (PlatformContextSkia::PlatformContextSkia): 33131 (PlatformContextSkia::~PlatformContextSkia): 33132 * platform/graphics/skia/PlatformContextSkia.h: 33133 * rendering/RenderThemeChromiumGtk.cpp: Removed. 33134 * rendering/RenderThemeChromiumGtk.h: Removed. 33135 * rendering/RenderThemeChromiumLinux.cpp: Added. 33136 * rendering/RenderThemeChromiumLinux.h: Added. 33137 33138 2009-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 33139 33140 Reviewed by Darin Fisher. 33141 33142 https://bugs.webkit.org/show_bug.cgi?id=24261 33143 Fix return types. 33144 33145 Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg 33146 33147 * bindings/v8/V8Binding.h: 33148 (WebCore::toInt32): change return type to int 33149 (WebCore::toFloat): change return type to float. 33150 33151 2009-03-03 Anders Carlsson <andersca (a] apple.com> 33152 33153 Reviewed by John Sullivan. 33154 33155 https://bugs.webkit.org/show_bug.cgi?id=22884 33156 <rdar://problem/6449783> 33157 modified layout test crashes Safari 33158 33159 Null check NPStream before dereferencing it. 33160 33161 * plugins/PluginView.cpp: 33162 (WebCore::PluginView::destroyStream): 33163 33164 2009-03-03 Eric Carlson <eric.carlson (a] apple.com> 33165 33166 Reviewed by Simon Fraser. 33167 33168 Fix for <rdar://problem/6641045> 33169 Don't call QTKit to get movie properties until movie metadata has been loaded. 33170 33171 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 33172 (WebCore::MediaPlayerPrivate::metaDataAvailable): defined 33173 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 33174 (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable. 33175 (WebCore::MediaPlayerPrivate::play): Ditto. 33176 (WebCore::MediaPlayerPrivate::pause): Ditto. 33177 (WebCore::MediaPlayerPrivate::duration): Ditto. 33178 (WebCore::MediaPlayerPrivate::currentTime): Ditto. 33179 (WebCore::MediaPlayerPrivate::seek): Ditto. 33180 (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto. 33181 (WebCore::MediaPlayerPrivate::paused): Ditto. 33182 (WebCore::MediaPlayerPrivate::seeking): Ditto. 33183 (WebCore::MediaPlayerPrivate::naturalSize): Ditto. 33184 (WebCore::MediaPlayerPrivate::hasVideo): Ditto. 33185 (WebCore::MediaPlayerPrivate::setVolume): Ditto. 33186 (WebCore::MediaPlayerPrivate::setRate): Ditto. 33187 (WebCore::MediaPlayerPrivate::dataRate): Ditto. 33188 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto. 33189 (WebCore::MediaPlayerPrivate::totalBytes): Ditto. 33190 33191 2009-03-03 Kevin McCullough <kmccullough (a] apple.com> 33192 33193 - Spelling fix. 33194 33195 * page/Console.cpp: 33196 (WebCore::Console::profile): 33197 33198 2009-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 33199 33200 Reviewed by Darin Fisher. 33201 33202 https://bugs.webkit.org/show_bug.cgi?id=23657 33203 Remove Database API callback IDLs from the project. 33204 They were removed in r40633. 33205 33206 * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project. 33207 33208 2009-03-03 Kevin McCullough <kmccullough (a] apple.com> 33209 33210 Reviewed by Oliver Hunt. 33211 33212 <rdar://problem/6639110> console.profile() doesn't work without a title 33213 33214 * page/Console.cpp: 33215 (WebCore::Console::profile): If there is no title assume this is a user 33216 initiated profile and give it the next incremented title name. 33217 33218 2009-03-03 Timothy Hatcher <timothy (a] apple.com> 33219 33220 Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified 33221 the console code and refactored things to have fewer code paths and duplication. 33222 33223 rdar://problem/6367127 33224 https://bugs.webkit.org/show_bug.cgi?id=24329 33225 33226 Reviewed by Kevin McCullough. 33227 33228 Test: manual-tests/inspector/console-dir.html 33229 33230 * bindings/js/JSInspectedObjectWrapper.cpp: 33231 (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject 33232 to fix an ASSERT about using a wrapper from the wrong ExecState. 33233 * bindings/js/JSQuarantinedObjectWrapper.cpp: 33234 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto. 33235 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto. 33236 * inspector/front-end/Console.js: 33237 (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat. 33238 When forceObjectFormat is true, the only formatter used is _formatobject. 33239 (WebInspector.Console.prototype._formatvalue): Remove the inline argument. 33240 (WebInspector.Console.prototype._formatstring): Ditto. 33241 (WebInspector.Console.prototype._formatregexp): Ditto. 33242 (WebInspector.Console.prototype._formatarray): Ditto. 33243 (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor. 33244 (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph. 33245 (WebInspector.Console.prototype._formaterror): Remove the inline argument. 33246 (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and 33247 simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter. 33248 (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline. 33249 (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat. 33250 (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments. 33251 (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels. 33252 * inspector/front-end/inspector.css: Tweak styles to look and work correctly. 33253 * inspector/front-end/utilities.js: 33254 (Object.type): Return "node" for Node objects. 33255 (Object.describe): Handle the "node" type. 33256 * page/Console.cpp: 33257 (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types. 33258 (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default. 33259 * page/Console.h: 33260 (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME. 33261 33262 2009-03-03 Scott Violet <sky (a] google.com> 33263 33264 Reviewed by Eric Seidel. 33265 33266 https://bugs.webkit.org/show_bug.cgi?id=24325 33267 Crash on replacing document contents during drop. 33268 33269 Makes sure a node is in the document during a move before using it. 33270 33271 Test: fast/events/crash-on-mutate-during-drop.html 33272 33273 * editing/MoveSelectionCommand.cpp: 33274 (WebCore::MoveSelectionCommand::doApply): 33275 33276 2009-03-03 Jungshik Shin <jshin (a] chromium.org> 33277 33278 Reviewed by Eric Seidel. 33279 33280 https://bugs.webkit.org/show_bug.cgi?id=23028 33281 Enable dynamic web font support to Chromium on Windows. 33282 Files that were omitted by mistake in the latest patch 33283 that was landed. 33284 33285 * loader/CachedFont.cpp: 33286 (WebCore::CachedFont::~CachedFont): 33287 (WebCore::CachedFont::ensureCustomFontData): 33288 (WebCore::CachedFont::platformDataFromCustomData): 33289 (WebCore::CachedFont::allClientsRemoved): 33290 * platform/graphics/chromium/FontCustomPlatformData.cpp: 33291 (WebCore::EOTStream::EOTStream): 33292 (WebCore::createFontCustomPlatformData): 33293 * platform/graphics/win/FontCustomPlatformData.cpp: 33294 (WebCore::EOTStream::EOTStream): 33295 (WebCore::createFontCustomPlatformData): 33296 33297 2009-03-03 Gustavo Noronha Silva <gns (a] gnome.org> 33298 33299 Reviewed by Alexey Proskuryakov. 33300 33301 https://bugs.webkit.org/show_bug.cgi?id=16826 33302 [Gtk] Implement WebKitDownload 33303 33304 Make the Soup backend able to handle requests without a frame, 33305 since we may have such things now that we support downloads. 33306 33307 * platform/network/ResourceHandleInternal.h: 33308 * platform/network/soup/ResourceHandleSoup.cpp: 33309 (WebCore::ResourceHandle::start): 33310 33311 2009-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 33312 33313 Reviewed by Eric Seidel. 33314 33315 https://bugs.webkit.org/show_bug.cgi?id=24331 33316 Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame. 33317 33318 * bindings/v8/custom/V8AttrCustom.cpp: Added. 33319 * bindings/v8/custom/V8CustomBinding.cpp: Added. 33320 * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers. 33321 * bindings/v8/custom/V8ElementCustom.cpp: Added. 33322 * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added. 33323 * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added. 33324 33325 2009-03-03 Brady Eidson <beidson (a] apple.com> 33326 33327 Reviewed by Darin Adler 33328 33329 <rdar://problem/6616664> - Quick looks of various file types is broken 33330 33331 In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn 33332 for non-HTTP loads when the underlying ResourceRequest changed. Unfortunately it was a little 33333 overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads. 33334 33335 Partially reverted behavior to always set the mainDocumentURL in situations when we would've 33336 before that patch. 33337 33338 * loader/FrameLoader.cpp: 33339 (WebCore::FrameLoader::addExtraFieldsToRequest): 33340 33341 * platform/network/ResourceRequestBase.cpp: 33342 (WebCore::ResourceRequestBase::setMainDocumentURL): 33343 33344 2009-03-03 Chris Marrin <cmarrin (a] apple.com> 33345 33346 Reviewed by Simon Fraser. 33347 33348 https://bugs.webkit.org/show_bug.cgi?id=24256 33349 33350 Added a WebCoreForceSoftwareAnimation flag. 33351 33352 * platform/graphics/mac/GraphicsLayerCA.mm: 33353 (WebCore::forceSoftwareAnimation): 33354 (WebCore::GraphicsLayerCA::setOpacity): 33355 (WebCore::GraphicsLayerCA::animateTransform): 33356 (WebCore::GraphicsLayerCA::animateFloat): 33357 33358 2009-03-02 Chris Marrin <cmarrin (a] apple.com> 33359 33360 Reviewed by Sam Weinig. 33361 33362 https://bugs.webkit.org/show_bug.cgi?id=24257 33363 33364 Added prototype properties for several classes with constructors that 33365 were missing them, including the one mentioned in the bug. 33366 33367 Test: fast/dom/Window/custom-constructors.html 33368 33369 * bindings/js/JSAudioConstructor.cpp: 33370 (WebCore::JSAudioConstructor::JSAudioConstructor): 33371 * bindings/js/JSDOMWindowBase.cpp: 33372 (jsDOMWindowBaseWebKitCSSMatrix): 33373 * bindings/js/JSImageConstructor.cpp: 33374 (WebCore::JSImageConstructor::JSImageConstructor): 33375 * bindings/js/JSOptionConstructor.cpp: 33376 (WebCore::JSOptionConstructor::JSOptionConstructor): 33377 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 33378 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 33379 * bindings/js/JSWebKitCSSMatrixConstructor.h: 33380 * bindings/js/JSWebKitPointConstructor.cpp: 33381 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): 33382 * bindings/js/JSWorkerConstructor.cpp: 33383 (WebCore::JSWorkerConstructor::JSWorkerConstructor): 33384 33385 2009-03-03 Dimitri Glazkov <dglazkov (a] chromium.org> 33386 33387 Reviewed by Darin Fisher. 33388 33389 https://bugs.webkit.org/show_bug.cgi?id=24321 33390 Add V8 bindings headers. 33391 33392 * bindings/v8/V8Binding.h: Added. 33393 * bindings/v8/V8Proxy.h: Added. 33394 * bindings/v8/custom/V8CustomBinding.h: Added. 33395 * bindings/v8/custom/V8CustomEventListener.h: Added. 33396 33397 2009-03-03 Jungshik Shin <jshin (a] chromium.org> 33398 33399 Reviewed by Eric Seidel. 33400 33401 https://bugs.webkit.org/show_bug.cgi?id=23803 33402 Fix an 'off-by-1' error in ChromiumWin's font fallback. 33403 33404 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 33405 (WebCore::FontCache::getFontDataForCharacters): 33406 33407 2009-03-03 Jungshik Shin <jshin (a] chromium.org> 33408 33409 Reviewed by Eric Seidel. 33410 33411 http://bugs.webkit.org/show_bug.cgi?id=23028 33412 Enable dynamic web font support to Chromium on Windows: Part 1 33413 - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype 33414 from platform/graphics/win because both Windows port and Chromium Windows 33415 port will use them. 33416 - Adjust WebCore.vcproj accordingly. 33417 33418 * WebCore.vcproj/WebCore.vcproj: 33419 * platform/graphics/opentype: Added. 33420 * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp. 33421 * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h. 33422 * platform/graphics/win/OpenTypeUtilities.cpp: Removed. 33423 * platform/graphics/win/OpenTypeUtilities.h: Removed. 33424 33425 2009-03-03 Simon Fraser <simon.fraser (a] apple.com> 33426 33427 Reviewed by Dave Hyatt 33428 33429 https://bugs.webkit.org/show_bug.cgi?id=24312 33430 33431 Take 3D transforms into account when hit testing: 33432 33433 1. Maintain a bit on each RenderLayer that is set when the layer 33434 has 3d descendants, so that we know when to fall into the slow 33435 hit testing path. 33436 33437 2. Make a ref-counted HitTestingTransformState, which is used to store 33438 an accumulated transform, and the hit test point, and hitTestRect 33439 in the plane of the ancestor non-3d ('flattening') layer. 33440 33441 It's ref-counted so we can heap allocate it (to avoid stack bloat), 33442 and avoid copying when hitTestLayer calls itself after applying the transform. 33443 33444 3. Add logic to hitTestLayer to depth-test just direct descendants, if any have 33445 3D transforms, or to do deep depth-testing when traversing a preserves-3d 33446 hierarchy. When hit, layers compute a z-offset from the ancestor flattening 33447 layer, which allows for correct depth testing. 33448 33449 The existing early-return codepath is unaffected when there are no 3d transforms 33450 and no preserve-3d. 33451 33452 * rendering/RenderLayer.cpp: 33453 (WebCore::RenderLayer::RenderLayer): 33454 (WebCore::RenderLayer::updateTransform): 33455 (WebCore::RenderLayer::dirty3DTransformedDescendantStatus): 33456 (WebCore::RenderLayer::update3DTransformedDescendantStatus): 33457 (WebCore::RenderLayer::hitTest): 33458 (WebCore::computeZOffset): 33459 (WebCore::RenderLayer::createLocalTransformState): 33460 (WebCore::RenderLayer::hitTestLayer): 33461 (WebCore::RenderLayer::hitTestContents): 33462 * rendering/RenderLayer.h: 33463 (WebCore::RenderLayer::preserves3D): 33464 (WebCore::RenderLayer::has3DTransform): 33465 (WebCore::RenderLayer::setHas3DTransformedDescendant): 33466 (WebCore::RenderLayer::has3DTransformedDescendant): 33467 * rendering/RenderLayerBacking.cpp: 33468 * rendering/TransformState.cpp: 33469 (WebCore::TransformState::flatten): 33470 (WebCore::TransformState::mappedPoint): 33471 (WebCore::HitTestingTransformState::move): 33472 (WebCore::HitTestingTransformState::applyTransform): 33473 (WebCore::HitTestingTransformState::flatten): 33474 (WebCore::HitTestingTransformState::mappedPoint): 33475 (WebCore::HitTestingTransformState::mappedQuad): 33476 * rendering/TransformState.h: 33477 (WebCore::TransformState::TransformState): 33478 (WebCore::HitTestingTransformState::create): 33479 (WebCore::HitTestingTransformState::move): 33480 (WebCore::HitTestingTransformState::HitTestingTransformState): 33481 33482 2009-03-03 Brett Wilson <brettw (a] chromium.org> 33483 33484 Fix uninitialized memory reads in the Chromium Windows transparency 33485 code that were identified by Purify, 33486 33487 Reviewed by Darin Fisher. 33488 33489 * platform/graphics/chromium/TransparencyWin.cpp: 33490 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): 33491 (WebCore::TransparencyWin::initializeNewContext): 33492 33493 2009-03-03 Simon Fraser <simon.fraser (a] apple.com> 33494 33495 Reviewed by Dave Hyatt 33496 33497 https://bugs.webkit.org/show_bug.cgi?id=24312 33498 33499 Factor the code that compute a transform relative to the container 33500 into RenderObject::transformFromContainer(). 33501 33502 * rendering/RenderBox.cpp: 33503 (WebCore::RenderBox::mapLocalToAbsolutePoint): 33504 (WebCore::RenderBox::mapAbsoluteToLocalPoint): 33505 * rendering/RenderObject.cpp: 33506 (WebCore::RenderObject::transformFromContainer): 33507 * rendering/RenderObject.h: 33508 33509 2009-03-03 Simon Fraser <simon.fraser (a] apple.com> 33510 33511 Reviewed by Dave Hyatt 33512 33513 https://bugs.webkit.org/show_bug.cgi?id=24317 33514 33515 Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if 33516 the superclass found a node, otherwise we set the innerNode of the 33517 HitTestResult, but don't actually report that we found a hit. 33518 33519 * rendering/RenderTextControlMultiLine.cpp: 33520 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 33521 33522 2009-03-03 Onne Gorter <onne.gorter (a] avinity.net> 33523 33524 Reviewed by Anders Carlsson. 33525 33526 https://bugs.webkit.org/show_bug.cgi?id=23707 33527 resizing plugins does not work, because the plugin never gets informed 33528 33529 Make gtk plugins resize correctly, by sending them the setwindow event 33530 correctly. Also ensure that all plugin eventing is done with correct 33531 locking/calling. Mostly copied from mac implementation. 33532 33533 manual test: manual-tests/gtk/plugin-resize-scroll.html 33534 33535 * plugins/PluginView.h: 33536 * plugins/gtk/PluginViewGtk.cpp: 33537 (WebCore::PluginView::dispatchNPEvent): 33538 ensure locking/calling for NPEvents 33539 (WebCore::PluginView::updatePluginWidget): 33540 if something changed, let setNPWindowIfNeeded handle it 33541 (WebCore::PluginView::paint): 33542 (WebCore::PluginView::handleKeyboardEvent): 33543 (WebCore::PluginView::handleMouseEvent): 33544 ensure calling conventions 33545 (WebCore::PluginView::setNPWindowRect): 33546 just pass control to setNPWindowIfNeeded 33547 (WebCore::PluginView::setNPWindowIfNeeded): 33548 event the plugin correctly of new window 33549 (WebCore::PluginView::init): 33550 init through the new setup 33551 33552 2009-03-03 Mike Belshe <mike (a] belshe.com> 33553 33554 Reviewed by Darin Fisher. 33555 33556 https://bugs.webkit.org/show_bug.cgi?id=24311 33557 Make IDL returning DOMObject use [V8Custom] 33558 33559 * dom/Document.idl: 33560 * html/HTMLCanvasElement.idl: 33561 33562 2009-03-02 Simon Fraser <simon.fraser (a] apple.com> 33563 33564 Reviewed by Adele Peterson 33565 33566 https://bugs.webkit.org/show_bug.cgi?id=24313 33567 33568 If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the 33569 HitTestResult, then it had better well return |true|. And m_innerBlock 33570 could never have been set as the hit node by the superclass, because 33571 the superclass knows nothing about m_innerBlock. 33572 33573 Test: fast/forms/input-hit-test-border.html 33574 33575 * rendering/RenderTextControlSingleLine.cpp: 33576 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 33577 33578 2009-03-02 Sam Weinig <sam (a] webkit.org> 33579 33580 Reviewed by Mark Rowe. 33581 33582 Enable Geolocation (except on Tiger and Leopard). 33583 33584 * Configurations/WebCore.xcconfig: 33585 33586 2009-03-02 Ojan Vafai <ojan (a] chromium.org> 33587 33588 Reviewed by Adele Peterson. 33589 33590 Fix https://bugs.webkit.org/show_bug.cgi?id=24307 33591 Null out m_highlightedNode on hideHighlight(). 33592 Ran WebCore/manual-tests/inspector/highlight-nodes.html. 33593 33594 * inspector/InspectorController.cpp: 33595 (WebCore::InspectorController::hideHighlight): 33596 33597 2009-03-02 Sam Weinig <sam (a] webkit.org> 33598 33599 Reviewed by Geoffrey Garen. 33600 33601 Fix for <rdar://problem/6507404> Add Geolocation support. 33602 33603 This is not yet turned on for any Mac platform. 33604 33605 * WebCore.xcodeproj/project.pbxproj: 33606 * page/Chrome.cpp: 33607 (WebCore::Chrome::shouldAllowGeolocationForFrame): 33608 * page/Chrome.h: 33609 * page/ChromeClient.h: 33610 (WebCore::ChromeClient::shouldAllowGeolocationForFrame): 33611 * page/Geolocation.cpp: 33612 (WebCore::Geolocation::Geolocation): 33613 (WebCore::Geolocation::disconnectFrame): Remove call to setUsingGeolocation as the document 33614 will not be alive at this point. 33615 (WebCore::Geolocation::getCurrentPosition): Check if the embedding app allows geolocation and 33616 return a PERMISSION_DENIED if not. 33617 (WebCore::Geolocation::watchPosition): Ditto. 33618 (WebCore::Geolocation::shouldAllowGeolocation): Perform request to embedding layer of whether 33619 to allow geolocation and cache the result. 33620 * page/Geolocation.h: 33621 (WebCore::Geolocation::): 33622 * platform/GeolocationService.cpp: 33623 * platform/GeolocationService.h: 33624 (WebCore::GeolocationService::~GeolocationService): 33625 (WebCore::GeolocationService::stopUpdating): 33626 * platform/mac/GeolocationServiceMac.h: Added. 33627 (WebCore::GeolocationServiceMac::lastPosition): 33628 (WebCore::GeolocationServiceMac::lastError): 33629 * platform/mac/GeolocationServiceMac.mm: Added. 33630 (WebCore::GeolocationService::create): 33631 (WebCore::GeolocationServiceMac::GeolocationServiceMac): 33632 (WebCore::GeolocationServiceMac::~GeolocationServiceMac): 33633 (WebCore::GeolocationServiceMac::startUpdating): 33634 (WebCore::GeolocationServiceMac::stopUpdating): 33635 (WebCore::GeolocationServiceMac::suspend): 33636 (WebCore::GeolocationServiceMac::resume): 33637 (WebCore::GeolocationServiceMac::positionChanged): 33638 (WebCore::GeolocationServiceMac::errorOccurred): 33639 (-[WebCoreCoreLocationObserver initWithCallback:]): 33640 (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]): 33641 (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]): 33642 33643 2009-03-02 Kevin Ollivier <kevino (a] theolliviers.com> 33644 33645 Build fixes for wxWidgets Mac trunk build. 33646 33647 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 33648 (wxFontProperties::wxFontProperties): 33649 (GetTextExtent): 33650 * webcore-wx.bkl: 33651 33652 2009-03-02 Kevin Ollivier <kevino (a] theolliviers.com> 33653 33654 wxGTK missing header build fix. 33655 33656 * platform/wx/wxcode/gtk/fontprops.cpp: 33657 33658 2009-03-02 Dan Bernstein <mitz (a] apple.com> 33659 33660 Reviewed by Adam Roben. 33661 33662 - fix https://bugs.webkit.org/show_bug.cgi?id=21811 33663 REGRESSION: Windows Build Not Selecting Proper Font 33664 33665 * platform/graphics/win/FontCacheWin.cpp: 33666 (WebCore::createGDIFont): Added back code to verify that the created 33667 HFONT has the requested face name. 33668 33669 2009-03-02 Timothy Hatcher <timothy (a] apple.com> 33670 33671 Fixes a regression caused by splitting the input and output of console commands. 33672 33673 https://bugs.webkit.org/show_bug.cgi?id=24293 33674 33675 Reviewed by Kevin McCullough. 33676 33677 * inspector/front-end/Console.js: 33678 (WebInspector.Console.prototype.addMessage): Don't treat ConsoleCommandResult as a 33679 normal ConsoleMessage when appending. This prevents resetting repeatCounts incorrectly. 33680 33681 2009-03-02 Timothy Hatcher <timothy (a] apple.com> 33682 33683 Make exception messages and logged Error objects display consistently. 33684 33685 https://bugs.webkit.org/show_bug.cgi?id=18983 33686 33687 Reviewed by Adam Roben. 33688 33689 * English.lproj/localizedStrings.js: Remove a string for line numbers. 33690 * inspector/front-end/Console.js: 33691 (WebInspector.Console.prototype._enterKeyPressed): Pass the exception 33692 boolean to the ConsoleCommandResult constructor and don't pass level. 33693 (WebInspector.Console.prototype._formatnode): Fix a className typo. 33694 (WebInspector.Console.prototype._formaterror): Add an error-message 33695 classed span around the message to show in red and remove the 33696 console-message-url class from the link so it doesn't float right. 33697 Instead enclose the link in parentheses and use displayNameForURL 33698 to shorten the URL in the link. 33699 (WebInspector.ConsoleMessage.prototype.toMessageElement): Simplify 33700 how line numbers are shown since link underlining a string with 33701 parentheses looks bad. 33702 (WebInspector.ConsoleCommandResult): Take an exception boolean flag 33703 instead of a level and get line and URL based on that flag. 33704 * inspector/front-end/inspector.css: Tweaks to the styles. 33705 33706 2009-03-02 Ojan Vafai <ojan (a] chromium.org> 33707 33708 Reviewed by Adele Peterson. 33709 33710 Bug 24048: extra windows button padding doesn't apply when there's no appearance 33711 <https://bugs.webkit.org/show_bug.cgi?id=24048> 33712 33713 Replace adjustButtonInnerStyle with buttonInternalPaddingLeft/Right/Top/Bottom. 33714 33715 No tests added as existing tests already cover this behavior. 33716 33717 * rendering/RenderButton.cpp: 33718 (WebCore::RenderButton::setupInnerStyle): 33719 * rendering/RenderTheme.cpp: 33720 * rendering/RenderTheme.h: 33721 (WebCore::RenderTheme::buttonInternalPaddingLeft): 33722 (WebCore::RenderTheme::buttonInternalPaddingRight): 33723 (WebCore::RenderTheme::buttonInternalPaddingTop): 33724 * rendering/RenderThemeChromiumGtk.cpp: 33725 (WebCore::RenderThemeWin::buttonInternalPaddingLeft): 33726 (WebCore::RenderThemeWin::buttonInternalPaddingRight): 33727 (WebCore::RenderThemeWin::buttonInternalPaddingTop): 33728 (WebCore::RenderThemeWin::buttonInternalPaddingBottom): 33729 * rendering/RenderThemeChromiumGtk.h: 33730 * rendering/RenderThemeChromiumWin.cpp: 33731 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingLeft): 33732 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingRight): 33733 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingTop): 33734 (WebCore::RenderThemeChromiumWin::buttonInternalPaddingBottom): 33735 * rendering/RenderThemeChromiumWin.h: 33736 * rendering/RenderThemeWin.cpp: 33737 (WebCore::RenderThemeWin::buttonInternalPaddingLeft): 33738 (WebCore::RenderThemeWin::buttonInternalPaddingRight): 33739 (WebCore::RenderThemeWin::buttonInternalPaddingTop): 33740 (WebCore::RenderThemeWin::buttonInternalPaddingBottom): 33741 * rendering/RenderThemeWin.h: 33742 33743 2009-03-02 Adam Treat <adam.treat (a] torchmobile.com> 33744 33745 Build fix for Qt port. Remove unnecessary assert. 33746 33747 * platform/graphics/qt/ImageBufferQt.cpp: 33748 (WebCore::ImageBuffer::putImageData): 33749 33750 2009-03-02 Adam Treat <adam.treat (a] torchmobile.com> 33751 33752 Reviewed by Adam Roben and previously by Eric Seidel and Simon Fraser. 33753 33754 https://bugs.webkit.org/show_bug.cgi?id=24227 33755 Ensure that the checkForSolidColor() optimization is correctly triggered 33756 for all cases of drawPattern. Currently, the optimization was not triggered 33757 when the check had not been previously performed via a request for the 33758 image's NativeImagePtr. 33759 33760 Implement the Qt version of the checkForSolidColor() method. Combined with 33761 the bug fix this reduces the time it takes to draw a repeating background 33762 of a 1x1 image from ~50msecs to ~0msecs on my machine. 33763 33764 * platform/graphics/BitmapImage.cpp: 33765 (WebCore::BitmapImage::BitmapImage): 33766 * platform/graphics/BitmapImage.h: 33767 (WebCore::BitmapImage::mayFillWithSolidColor): 33768 * platform/graphics/Image.h: 33769 (WebCore::Image::mayFillWithSolidColor): 33770 * platform/graphics/cairo/ImageCairo.cpp: 33771 (WebCore::BitmapImage::BitmapImage): 33772 (WebCore::BitmapImage::checkForSolidColor): 33773 * platform/graphics/cg/ImageCG.cpp: 33774 (WebCore::BitmapImage::BitmapImage): 33775 (WebCore::BitmapImage::checkForSolidColor): 33776 * platform/graphics/qt/ImageQt.cpp: 33777 (WebCore::BitmapImage::checkForSolidColor): 33778 * platform/graphics/skia/ImageSkia.cpp: 33779 (WebCore::BitmapImage::checkForSolidColor): 33780 * platform/graphics/wx/ImageWx.cpp: 33781 (WebCore::BitmapImage::checkForSolidColor): 33782 33783 2009-03-02 Gustavo Noronha Silva <gns (a] gnome.org> 33784 33785 Unreviewed build fix; adding missing files to EXTRA_DIST, so that 33786 they show up in the tarball. 33787 33788 * GNUmakefile.am: 33789 33790 2009-03-02 Dirk Schulze <krit (a] webkit.org> 33791 33792 Reviewed by Holger Freyther. 33793 33794 Added putImageData to Qt. Discussed with Ariya Hidayat. 33795 33796 [Qt] lacks putImageData support in Canvas 33797 https://bugs.webkit.org/show_bug.cgi?id=22186 33798 33799 * platform/graphics/qt/ImageBufferQt.cpp: 33800 (WebCore::ImageBuffer::putImageData): 33801 33802 2009-03-02 Timothy Hatcher <timothy (a] apple.com> 33803 33804 Show exception messages again when evaluating bad expressions in the 33805 Web Inspector's console. 33806 33807 https://bugs.webkit.org/show_bug.cgi?id=19890 33808 33809 Reviewed by Oliver Hunt. 33810 33811 * bindings/js/JSQuarantinedObjectWrapper.cpp: 33812 (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState): 33813 Fix the order in which the exception is set and cleared now that the 33814 exception is stored in the shared GlobalData, not per ExecState. 33815 33816 2009-02-28 Timothy Hatcher <timothy (a] apple.com> 33817 33818 Make input in the Web Inspector console print before any output 33819 that might be added by the called function. 33820 33821 https://bugs.webkit.org/show_bug.cgi?id=19931 33822 33823 Reviewed by Oliver Hunt. 33824 33825 * inspector/front-end/Console.js: 33826 (WebInspector.Console.prototype._enterKeyPressed): Add the command 33827 message before evaluating the result. Associate the originating 33828 command to the result, so if they are adjacent there is no divider. 33829 (WebInspector.ConsoleCommand): No longer take a result. 33830 (WebInspector.ConsoleCommand.prototype.toMessageElement): Result 33831 code removed since it isn't used now. 33832 (WebInspector.ConsoleCommandResult): Subclass ConsoleMessage. 33833 (WebInspector.ConsoleCommandResult.prototype.toMessageElement): 33834 Call the ConsoleMessage toMessageElement and add a style class. 33835 * inspector/front-end/inspector.css: Add a new style class for 33836 adjacent results to hide the divider. Also tweak the position of 33837 the disclosure triangle for objects to not use the left margin. 33838 33839 2009-03-01 Chris Fleizach <cfleizach (a] apple.com> 33840 33841 Reviewed by Oliver Hunt. 33842 33843 Bug 24282: AX Palindrome error when asking for a specific index of the AXChildren array 33844 <https://bugs.webkit.org/show_bug.cgi?id=24282> 33845 33846 When fetching an array of elements with a range, attachment views need to be returned 33847 instead of the actual attachment. 33848 33849 * page/mac/AccessibilityObjectWrapper.mm: 33850 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): 33851 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): 33852 33853 2009-03-01 Ojan Vafai <ojan (a] chromium.org> 33854 33855 Reviewed by Eric Seidel. 33856 33857 Bug 24251: Cleanup: replace positionForCoordinates with positionForPoint 33858 <https://bugs.webkit.org/show_bug.cgi?id=24251> 33859 33860 Make RenderObject::positionForCoordinate non-virtual and 33861 RenderObject::positionForPoint virtual in preparation for 33862 removing positionFor* from RenderObject/RenderText. 33863 33864 * page/Frame.cpp: 33865 (WebCore::Frame::visiblePositionForPoint): 33866 * rendering/RenderBR.cpp: 33867 (WebCore::RenderBR::positionForPoint): 33868 * rendering/RenderBR.h: 33869 * rendering/RenderBlock.cpp: 33870 (WebCore::RenderBlock::positionForPoint): 33871 * rendering/RenderBlock.h: 33872 * rendering/RenderBox.cpp: 33873 (WebCore::RenderBox::positionForPoint): 33874 * rendering/RenderBox.h: 33875 * rendering/RenderInline.cpp: 33876 (WebCore::RenderInline::positionForPoint): 33877 * rendering/RenderInline.h: 33878 * rendering/RenderObject.cpp: 33879 (WebCore::RenderObject::positionForCoordinates): 33880 (WebCore::RenderObject::positionForPoint): 33881 * rendering/RenderObject.h: 33882 * rendering/RenderReplaced.cpp: 33883 (WebCore::RenderReplaced::positionForPoint): 33884 * rendering/RenderReplaced.h: 33885 * rendering/RenderSVGInlineText.cpp: 33886 (WebCore::RenderSVGInlineText::positionForPoint): 33887 * rendering/RenderSVGInlineText.h: 33888 * rendering/RenderText.cpp: 33889 (WebCore::RenderText::positionForPoint): 33890 * rendering/RenderText.h: 33891 33892 2009-03-01 Larry Ewing <lewing (a] novell.com> 33893 33894 Reviewed by Alexey Proskuryakov. 33895 33896 https://bugs.webkit.org/show_bug.cgi?id=24080 33897 NPN_GetValue casting to the wrong type and writing outside bounds 33898 33899 Make sure to cast the value to the correct type so that only 33900 memory owned by the value is written to. 33901 33902 * plugins/gtk/PluginViewGtk.cpp (PluginView::getValueStatic): 33903 * plugins/qt/PluginViewQt.cpp (PluginView::getValueStatic): 33904 * plugins/mac/PluginViewMac.cpp (PluginView::getValueStatic): 33905 (PluginView::getValue): 33906 33907 2009-03-01 Jeremy Moskovich <jeremy (a] chromium.org> 33908 33909 Reviewed by Simon Fraser. 33910 33911 https://bugs.webkit.org/show_bug.cgi?id=24197 and 33912 https://bugs.webkit.org/show_bug.cgi?id=23512 33913 33914 The Windows version of cgColor() is conditionally compiled using 33915 !PLATFORM(MAC) change this to PLATFORM(WIN_OS) so that Chrome 33916 can use the OS X version instead of the Windows version. 33917 33918 Also rename cgColor() -> createCGColor() 33919 33920 No observable change in behavior, so no test. 33921 33922 * platform/graphics/Color.h: 33923 * platform/graphics/cg/ColorCG.cpp: 33924 (WebCore::createCGColor): 33925 * platform/graphics/cg/GraphicsContextCG.cpp: 33926 (WebCore::GraphicsContext::setPlatformShadow): 33927 * platform/graphics/mac/ColorMac.mm: 33928 (WebCore::createCGColor): 33929 * platform/graphics/mac/GraphicsContextMac.mm: 33930 (WebCore::GraphicsContext::drawFocusRing): 33931 * platform/graphics/mac/GraphicsLayerCA.mm: 33932 (WebCore::setLayerBorderColor): 33933 (WebCore::setLayerBackgroundColor): 33934 (WebCore::GraphicsLayerCA::setBackgroundColor): 33935 * platform/graphics/win/GraphicsContextCGWin.cpp: 33936 (WebCore::GraphicsContext::drawFocusRing): 33937 * svg/graphics/filters/cg/SVGFEHelpersCg.mm: 33938 (WebCore::ciColor): 33939 33940 2009-03-01 David Levin <levin (a] chromium.org> 33941 33942 Reviewed by Alexey Proskuryakov. 33943 33944 Bug 24271: XMLHttpRequest needs js bindings for Workers. 33945 <https://bugs.webkit.org/show_bug.cgi?id=24271> 33946 33947 Tests: http/tests/xmlhttprequest/workers/methods-async.html 33948 http/tests/xmlhttprequest/workers/methods.html 33949 33950 * bindings/js/JSWorkerContextBase.cpp: 33951 (WebCore::JSWorkerContextBase::getOwnPropertySlot): 33952 (jsWorkerContextBaseXMLHttpRequest): 33953 (setJSWorkerContextBaseXMLHttpRequest): 33954 Expose XMLHttpRequest to Workers. 33955 33956 * bindings/js/JSWorkerContextBase.h: 33957 33958 * bindings/js/JSXMLHttpRequestConstructor.cpp: 33959 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 33960 (WebCore::constructXMLHttpRequest): 33961 (WebCore::JSXMLHttpRequestConstructor::mark): 33962 Removed the dependencies on Document. 33963 33964 * bindings/js/JSXMLHttpRequestConstructor.h: 33965 (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext): 33966 * dom/EventException.idl: 33967 * dom/EventListener.idl: 33968 Change to have the NoStaticTables attribute since they are used from XHR. 33969 33970 * loader/WorkerThreadableLoader.cpp: 33971 (WebCore::workerContextDidFinishLoading): 33972 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): 33973 Fixed identifier to be unsigned long. 33974 33975 * loader/WorkerThreadableLoader.h: 33976 * workers/WorkerThread.cpp: 33977 (WebCore::WorkerThread::workerThread): 33978 Stop active objects when the thread is getting shutdown so that xhr gets properly shutdown. 33979 33980 * xml/XMLHttpRequestUpload.cpp: 33981 33982 * xml/XMLHttpRequest.idl: 33983 * xml/XMLHttpRequestException.idl: 33984 * xml/XMLHttpRequestProgressEvent.idl: 33985 * xml/XMLHttpRequestUpload.idl: 33986 Change to have the NoStaticTables attribute since they are used from XHR. 33987 33988 2009-03-01 Horia Olaru <olaru (a] adobe.com> 33989 33990 Adding manual debugger test cases for bug. 33991 33992 https://bugs.webkit.org/show_bug.cgi?id=21073 33993 33994 Reviewed by Kevin McCullough. 33995 33996 * manual-tests/inspector/debugger-step-on-do-while-statements.html: Added. 33997 * manual-tests/inspector/debugger-step-on-for-in-statements.html: Added. 33998 * manual-tests/inspector/debugger-step-on-for-statements.html: Added. 33999 * manual-tests/inspector/debugger-step-on-while-statements.html: Added. 34000 * manual-tests/inspector/resources/loop-statements.js: Added. 34001 34002 2009-03-01 Dan Bernstein <mitz (a] apple.com> 34003 34004 Reviewed by Darin Adler. 34005 34006 - fix <rdar://problem/6634768> Reproducible crash in RenderLayer::updateScrollCornerStyle() using full-page zoom at MobileMe Contacts 34007 34008 Test: fast/events/scroll-during-zoom-change.html 34009 34010 * dom/Document.cpp: 34011 (WebCore::Document::recalcStyle): Pause scheduled events during style 34012 reclaculation. Changes to the zoom property result in scroll events 34013 being generated during style recalc, and those events need to be 34014 deferred until the render tree is consistent. 34015 * page/FrameView.cpp: 34016 (WebCore::FrameView::layout): Changed to account for a case in which the 34017 post-layout tasks trigger a nested layout, which reactivates the 34018 post-layout task timer. 34019 34020 2009-03-01 Ross Boucher <rboucher (a] gmail.com> 34021 34022 Alphabetically sort scripts in the Script's panel file popup menu. 34023 34024 https://bugs.webkit.org/show_bug.cgi?id=23395 34025 34026 Reviewed by Timothy Hatcher. 34027 34028 * inspector/front-end/ScriptsPanel.js: 34029 (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu): 34030 * inspector/front-end/utilities.js: 34031 (insertionIndexForObjectInListSortedByFunction): 34032 (indexOfObjectInListSortedByFunction): 34033 34034 2009-03-01 Yael Aharon <yael.aharon (a] nokia.com> 34035 34036 Pass securityOrigin->host() instead of securityOrigin->domain() to WebInspector 34037 when creating databases, localStorage or sessionStorage. Changing document.domain 34038 should have no affect on databases, localStorage and sessionStorage in Web Inspector. 34039 34040 https://bugs.webkit.org/show_bug.cgi?id=23844 34041 34042 Reviewed by Timothy Hatcher. 34043 34044 * inspector/InspectorController.cpp: 34045 (WebCore::InspectorController::addDOMStorageScriptResource): 34046 (WebCore::InspectorController::didUseDOMStorage): 34047 * storage/Database.cpp: 34048 (WebCore::Database::openDatabase): 34049 34050 2009-03-01 Gustavo Noronha Silva <gns (a] gnome.org> 34051 34052 Reviewed by Holger Freyther. 34053 34054 Avoid leaking errors when reporting GIO errors. 34055 34056 * platform/network/soup/ResourceHandleSoup.cpp: 34057 (WebCore::readCallback): 34058 (WebCore::openCallback): 34059 (WebCore::queryInfoCallback): 34060 34061 2009-03-01 Gustavo Noronha Silva <gns (a] gnome.org> 34062 34063 Reviewed by Holger Freyther. 34064 34065 Fixes crash when the GIO backend is given the URI for a directory. 34066 34067 * platform/network/soup/ResourceHandleSoup.cpp: 34068 (WebCore::networkErrorForFile): 34069 34070 2009-02-28 Dimitri Glazkov <dglazkov (a] chromium.org> 34071 34072 Reviewed by Darin Fisher. 34073 34074 https://bugs.webkit.org/show_bug.cgi?id=24261 34075 Fix V8 custom binding scrubbing error. 34076 34077 Test: fast/dom/TreeWalker/TreeWalker-currentNode.html 34078 Test: traversal/exception-forwarding.html 34079 TesT: traversal/stay-within-root.html 34080 34081 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 34082 * bindings/v8/custom/V8NodeIteratorCustom.cpp: 34083 (WebCore::toV8): Replace v8::Undefined() return value with v8::Null(). 34084 * bindings/v8/custom/V8TreeWalkerCustom.cpp: 34085 (WebCore::toV8): Ditto. 34086 34087 2009-02-28 Dimitri Glazkov <dglazkov (a] chromium.org> 34088 34089 Reviewed by Darin Fisher. 34090 34091 https://bugs.webkit.org/show_bug.cgi?id=24261 34092 Fix V8 custom binding scrubbing error. 34093 34094 Test: fast/dom/CSSStyleDeclaration/css-properties-case-sensitive.html 34095 34096 * WebCore.xcodeproj/project.pbxproj: 34097 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: 34098 (WebCore::cssPropertyName): Remove dubious checks, left over from 34099 incomplete conversion of parameter from pointer to pass-by-ref. 34100 (WebCore::NAMED_PROPERTY_GETTER): Initialize parameter. 34101 (WebCore::NAMED_PROPERTY_SETTER): Ditto. 34102 34103 2009-02-28 Xan Lopez <xan (a] gnome.org> 34104 34105 Reviewed by Holger Freyther. 34106 34107 https://bugs.webkit.org/show_bug.cgi?id=24263 34108 [GTK] ref ResourceHandle until we are finished with it 34109 34110 Add a ref to the ResourceHandle in startHttp so we can keep it 34111 alive untill all callbacks have been executed, and unref it when 34112 soup tells us it's done with the SoupMessage (in 34113 finishedCallback). Fixes a number of crashes when calling 34114 didReceiveData whould crash because of the handle dying. 34115 34116 * platform/network/soup/ResourceHandleSoup.cpp: 34117 (WebCore::finishedCallback): 34118 (WebCore::ResourceHandle::startHttp): 34119 34120 2009-02-28 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 34121 34122 Reviewed by Alexey Proskuryakov. 34123 34124 https://bugs.webkit.org/show_bug.cgi?id=24226 34125 [SOUP] HTTP status text is never set 34126 34127 Set HTTP status text to SoupMessage reason_phrase. 34128 34129 * platform/network/soup/ResourceHandleSoup.cpp: 34130 (WebCore::fillResponseFromMessage): 34131 34132 2009-02-28 Dan Bernstein <mitz (a] apple.com> 34133 34134 - fix malformed project file 34135 34136 * WebCore.xcodeproj/project.pbxproj: 34137 34138 2009-02-28 Dan Bernstein <mitz (a] apple.com> 34139 34140 Reviewed by Oliver Hunt. 34141 34142 - fix https://bugs.webkit.org/show_bug.cgi?id=23848 34143 <rdar://problem/6573250> REGRESSION: Crash when mouse cursor moves over a link on www.opportuno.de 34144 34145 Test: fast/layers/inline-dirty-z-order-lists.html 34146 34147 * rendering/RenderBox.cpp: 34148 (WebCore::RenderBox::styleWillChange): Moved the code that dirties a 34149 layer's and its stacking context's z-order lists when the layer's 34150 z-index or visibility change from here... 34151 * rendering/RenderBoxModelObject.cpp: 34152 (WebCore::RenderBoxModelObject::styleWillChange): ...to here, so that 34153 it will apply to RenderInline too. 34154 34155 2009-02-27 Alexey Proskuryakov <ap (a] webkit.org> 34156 34157 Reviewed by David Hyatt. 34158 34159 Don't include TextResourceDecoder.h in Document.h 34160 34161 This undoes inlining of Document::displayStringModifiedByEncoding() to avoid world rebuilds 34162 when TextResourceDecoder.h is modified. Performance impact is expected to be negligible. 34163 34164 * dom/Document.cpp: 34165 (WebCore::Document::displayStringModifiedByEncoding): 34166 (WebCore::Document::displayBufferModifiedByEncoding): 34167 * dom/Document.h: 34168 * WebCore.base.exp: 34169 34170 2009-02-27 Matt Pennig <pennig (a] apple.com> 34171 34172 Reviewed by David Hyatt. 34173 34174 Resolves: https://bugs.webkit.org/show_bug.cgi?id=24107 34175 "Fixed elements have 0 as an offsetLeft property" 34176 34177 Code also brings offsetLeft/Top in full conformance with the spec. 34178 Added two tests, one for fixed-position elements, and one for <html>. 34179 34180 Tests: fast/dom/Element/fixed-position-offset-parent.html 34181 fast/dom/Element/offsetLeft-offsetTop-html.html 34182 34183 * rendering/RenderBoxModelObject.cpp: 34184 (WebCore::RenderBoxModelObject::offsetLeft): 34185 (WebCore::RenderBoxModelObject::offsetTop): 34186 34187 2009-02-27 Dean Jackson <dino (a] apple.com> 34188 34189 Reviewed by Simon Fraser. 34190 34191 renderer()->hasTransform() returns true for elements 34192 with perspective, but no transform, so test for transform 34193 when hit testing. This fixes ASSERT from 34194 https://bugs.webkit.org/show_bug.cgi?id=24252 34195 34196 Test: transforms/no_transform_hit_testing.html 34197 34198 * rendering/RenderLayer.cpp: 34199 (WebCore::RenderLayer::hitTestLayer): 34200 34201 2009-02-27 Dimitri Glazkov <dglazkov (a] chromium.org> 34202 34203 Reviewed by Darin Fisher. 34204 34205 Fix scrubbing error -- a reversed condition. 34206 34207 * bindings/v8/ScriptValue.h: 34208 (WebCore::ScriptValue::clear): Change early exit for empty value, not the opposite. 34209 34210 2009-02-27 Jian Li <jianli (a] chromium.org> 34211 34212 Reviewed by Alexey Proskuryakov. 34213 34214 Add confirmMessageFromWorkerObject to WorkerObjectProxy. 34215 https://bugs.webkit.org/show_bug.cgi?id=24152 34216 34217 * workers/WorkerMessagingProxy.cpp: 34218 (WebCore::MessageWorkerContextTask::performTask): 34219 (WebCore::WorkerMessagingProxy::confirmMessageFromWorkerObject): 34220 * workers/WorkerMessagingProxy.h: 34221 * workers/WorkerObjectProxy.h: 34222 34223 2009-02-27 Anders Carlsson <andersca (a] apple.com> 34224 34225 Reviewed by David Hyatt. 34226 34227 Revert r41295, the fix for https://bugs.webkit.org/show_bug.cgi?id=24227 34228 because it leads to assertion failures in the Mac port. 34229 34230 * platform/graphics/BitmapImage.cpp: 34231 (WebCore::BitmapImage::BitmapImage): 34232 * platform/graphics/BitmapImage.h: 34233 (WebCore::BitmapImage::mayFillWithSolidColor): 34234 * platform/graphics/Image.h: 34235 (WebCore::Image::mayFillWithSolidColor): 34236 * platform/graphics/cairo/ImageCairo.cpp: 34237 (WebCore::BitmapImage::BitmapImage): 34238 * platform/graphics/cg/ImageCG.cpp: 34239 (WebCore::BitmapImage::BitmapImage): 34240 (WebCore::BitmapImage::checkForSolidColor): 34241 * platform/graphics/qt/ImageQt.cpp: 34242 (WebCore::BitmapImage::checkForSolidColor): 34243 * platform/graphics/skia/ImageSkia.cpp: 34244 (WebCore::BitmapImage::checkForSolidColor): 34245 * platform/graphics/wx/ImageWx.cpp: 34246 (WebCore::BitmapImage::checkForSolidColor): 34247 34248 2009-02-27 Adam Barth <abarth (a] webkit.org> 34249 34250 Reviewed by Eric Seidel. 34251 34252 https://bugs.webkit.org/show_bug.cgi?id=20249 34253 34254 Add a preference to allow universal access from local URLs to mitigate 34255 some attacks. Some clients still want to allow this access, so we 34256 expose this as a preference. 34257 34258 * WebCore.base.exp: 34259 * dom/Document.cpp: 34260 (WebCore::Document::initSecurityContext): 34261 * page/SecurityOrigin.cpp: 34262 (WebCore::SecurityOrigin::SecurityOrigin): 34263 * page/Settings.cpp: 34264 (WebCore::Settings::Settings): 34265 (WebCore::Settings::setAllowUniversalAccessFromFileUrls): 34266 * page/Settings.h: 34267 (WebCore::Settings::allowUniversalAccessFromFileUrls): 34268 34269 2009-02-27 Adam Treat <adam.treat (a] torchmobile.com> 34270 34271 Reviewed by Eric Seidel. 34272 34273 https://bugs.webkit.org/show_bug.cgi?id=24229 34274 If an image has no alpha channel there is no reason to use SourceOver. 34275 34276 * platform/graphics/qt/ImageQt.cpp: 34277 (WebCore::Image::drawPattern): 34278 (WebCore::BitmapImage::draw): 34279 34280 2009-02-27 Adam Treat <adam.treat (a] torchmobile.com> 34281 34282 Reviewed by Eric Seidel and Simon Fraser. 34283 34284 https://bugs.webkit.org/show_bug.cgi?id=24227 34285 Ensure that the checkForSolidColor() optimization is correctly triggered 34286 for all cases of drawPattern. Currently, the optimization was not triggered 34287 when the check had not been previously performed via a request for the 34288 image's NativeImagePtr. 34289 34290 Implement the Qt version of the checkForSolidColor() method. Combined with 34291 the bug fix this reduces the time it takes to draw a repeating background 34292 of a 1x1 image from ~50msecs to ~0msecs on my machine. 34293 34294 * platform/graphics/BitmapImage.cpp: 34295 (WebCore::BitmapImage::BitmapImage): 34296 * platform/graphics/BitmapImage.h: 34297 (WebCore::BitmapImage::mayFillWithSolidColor): 34298 * platform/graphics/Image.h: 34299 (WebCore::Image::mayFillWithSolidColor): 34300 * platform/graphics/cairo/ImageCairo.cpp: 34301 (WebCore::BitmapImage::BitmapImage): 34302 * platform/graphics/cg/ImageCG.cpp: 34303 (WebCore::BitmapImage::BitmapImage): 34304 (WebCore::BitmapImage::checkForSolidColor): 34305 * platform/graphics/qt/ImageQt.cpp: 34306 (WebCore::BitmapImage::checkForSolidColor): 34307 * platform/graphics/skia/ImageSkia.cpp: 34308 (WebCore::BitmapImage::checkForSolidColor): 34309 * platform/graphics/wx/ImageWx.cpp: 34310 (WebCore::BitmapImage::checkForSolidColor): 34311 34312 2009-02-27 Dirk Schulze <krit (a] webkit.org> 34313 34314 Reviewed by Zack Rusin. 34315 34316 Added support for gradients and pattern on Fonts for Qt. 34317 34318 [Qt] gradients and patterns for FontQt 34319 https://bugs.webkit.org/show_bug.cgi?id=24243 34320 34321 * platform/graphics/qt/FontQt.cpp: 34322 (WebCore::Font::drawComplexText): 34323 34324 2009-02-27 Jian Li <jianli (a] chromium.org> 34325 34326 Reviewed by Alexey Proskuryakov. 34327 34328 WorkerContextProxy::create in WorkerMessagingProxy.cpp should only be provided for non-Chromium platform. 34329 https://bugs.webkit.org/show_bug.cgi?id=24113 34330 34331 * workers/WorkerMessagingProxy.cpp: 34332 34333 2009-02-27 Yael Aharon <yael.aharon (a] nokia.com> 34334 34335 Added a refresh button to storage views. 34336 34337 https://bugs.webkit.org/show_bug.cgi?id=24040 34338 34339 Reviewed by Timothy Hatcher. 34340 34341 * inspector/front-end/DOMStorageItemsView.js: 34342 (WebInspector.DOMStorageItemsView): 34343 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems): 34344 (WebInspector.DOMStorageItemsView.prototype.update): 34345 (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked): 34346 * inspector/front-end/DatabaseTableView.js: 34347 (WebInspector.DatabaseTableView): 34348 (WebInspector.DatabaseTableView.prototype.get statusBarItems): 34349 (WebInspector.DatabaseTableView.prototype._refreshButtonClicked): 34350 * inspector/front-end/DatabasesPanel.js: 34351 (WebInspector.DatabasesPanel): 34352 (WebInspector.DatabasesPanel.prototype.get statusBarItems): 34353 (WebInspector.DatabasesPanel.prototype.reset): 34354 (WebInspector.DatabasesPanel.prototype.showDatabase): 34355 (WebInspector.DatabasesPanel.prototype.showDOMStorage): 34356 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): 34357 * inspector/front-end/inspector.css: 34358 34359 2009-02-27 Yael Aharon <yael.aharon (a] nokia.com> 34360 34361 Added support for editing/deleting localStorage and sessionStorage items 34362 directly from Web Inspector. 34363 34364 https://bugs.webkit.org/show_bug.cgi?id=23866. 34365 34366 Reviewed by Timothy Hatcher. 34367 34368 * WebCore.vcproj/WebCore.vcproj: 34369 * inspector/front-end/DOMStorageDataGrid.js: Added. 34370 (WebInspector.DOMStorageDataGrid): 34371 (WebInspector.DOMStorageDataGrid.prototype._ondblclick): 34372 (WebInspector.DOMStorageDataGrid.prototype._startEditing): 34373 (WebInspector.DOMStorageDataGrid.prototype._editingCommitted): 34374 (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): 34375 (WebInspector.DOMStorageDataGrid.prototype.deleteSelectedRow): 34376 * inspector/front-end/DOMStorageItemsView.js: 34377 (WebInspector.DOMStorageItemsView): 34378 (WebInspector.DOMStorageItemsView.prototype.get statusBarItems): 34379 (WebInspector.DOMStorageItemsView.prototype.hide): 34380 (WebInspector.DOMStorageItemsView.prototype.update): 34381 (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked): 34382 * inspector/front-end/DatabasesPanel.js: 34383 (WebInspector.DatabasesPanel): 34384 (WebInspector.DatabasesPanel.prototype.get statusBarItems): 34385 (WebInspector.DatabasesPanel.prototype.reset): 34386 (WebInspector.DatabasesPanel.prototype.showDOMStorage): 34387 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): 34388 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): 34389 * inspector/front-end/WebKit.qrc: 34390 * inspector/front-end/inspector.css: 34391 * inspector/front-end/inspector.html: 34392 34393 2009-02-26 Brett Wilson <brettw (a] chromium.org> 34394 34395 Fix Windows transparency for the Chromium port. Implement a helper 34396 class for handling transparency on Windows. It allows semitransparent 34397 ClearType and semitransparent form controls by making new layers in the 34398 background. 34399 34400 It also replaces the "ThemeHelper" which allows better 34401 scaling and transforms on Windows form controls. In addition to the 34402 functionality that the ThemeHelper did, but additionally handles the 34403 antialiasing properly so that the form controls aren't composited on a 34404 white square. 34405 34406 https://bugs.webkit.org/show_bug.cgi?id=24101 34407 34408 Reviewed by Eric Seidel. 34409 34410 * platform/graphics/chromium/FontChromiumWin.cpp: 34411 (WebCore::): 34412 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::TransparencyAwareFontPainter): 34413 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): 34414 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 34415 (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::drawGlyphs): 34416 (WebCore::Font::drawGlyphs): 34417 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: 34418 * platform/graphics/chromium/ThemeHelperChromiumWin.h: 34419 * platform/graphics/chromium/TransparencyWin.cpp: Added. 34420 (WebCore::): 34421 (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): 34422 (WebCore::TransparencyWin::OwnedBuffers::destBitmap): 34423 (WebCore::TransparencyWin::OwnedBuffers::referenceBitmap): 34424 (WebCore::TransparencyWin::OwnedBuffers::canHandleSize): 34425 (WebCore::TransparencyWin::TransparencyWin): 34426 (WebCore::TransparencyWin::~TransparencyWin): 34427 (WebCore::TransparencyWin::init): 34428 (WebCore::TransparencyWin::computeLayerSize): 34429 (WebCore::TransparencyWin::setupLayer): 34430 (WebCore::TransparencyWin::setupLayerForNoLayer): 34431 (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer): 34432 (WebCore::TransparencyWin::setupLayerForTextComposite): 34433 (WebCore::TransparencyWin::setupLayerForWhiteLayer): 34434 (WebCore::TransparencyWin::setupTransform): 34435 (WebCore::TransparencyWin::setupTransformForKeepTransform): 34436 (WebCore::TransparencyWin::setupTransformForUntransform): 34437 (WebCore::TransparencyWin::setupTransformForScaleTransform): 34438 (WebCore::TransparencyWin::setTextCompositeColor): 34439 (WebCore::TransparencyWin::initializeNewContext): 34440 (WebCore::TransparencyWin::compositeOpaqueComposite): 34441 (WebCore::TransparencyWin::compositeTextComposite): 34442 (WebCore::TransparencyWin::makeLayerOpaque): 34443 * platform/graphics/chromium/TransparencyWin.h: Added. 34444 (WebCore::TransparencyWin::): 34445 (WebCore::TransparencyWin::context): 34446 (WebCore::TransparencyWin::platformContext): 34447 (WebCore::TransparencyWin::drawRect): 34448 * platform/graphics/skia/GraphicsContextSkia.cpp: 34449 (WebCore::GraphicsContext::endTransparencyLayer): 34450 * platform/graphics/skia/ImageSkia.cpp: 34451 (WebCore::paintSkBitmap): 34452 * rendering/RenderThemeChromiumWin.cpp: 34453 (WebCore::): 34454 (WebCore::RenderThemeChromiumWin::paintButton): 34455 (WebCore::RenderThemeChromiumWin::paintMenuList): 34456 (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): 34457 34458 2009-02-27 Dimitri Glazkov <dglazkov (a] chromium.org> 34459 34460 Reviewed by Eric Seidel. 34461 34462 https://bugs.webkit.org/show_bug.cgi?id=24211 34463 Add ScheduledAction for V8. 34464 34465 * bindings/v8/ScheduledAction.cpp: Added. 34466 (WebCore::ScheduledAction::ScheduledAction): 34467 (WebCore::ScheduledAction::~ScheduledAction): 34468 (WebCore::ScheduledAction::execute): 34469 * bindings/v8/ScheduledAction.h: Added. 34470 (WebCore::ScheduledAction::ScheduledAction): 34471 34472 2009-02-27 Zack Rusin <zack (a] kde.org> 34473 34474 Reviewed by Nikolas Zimmermann. 34475 34476 Qt: be more reasonable about scrolled lines 34477 34478 cMouseWheelPixelsPerLineStep is currently a constant set to 13.3. it doesn't 34479 match our metrics meaning that Qt scrolls by ~2 lines by default which is quite 34480 irritating. so lets scroll vertically by the Qt set number of lines * Qt default 34481 single step scroll 34482 34483 * platform/qt/WheelEventQt.cpp: 34484 34485 2009-02-27 Xan Lopez <xan (a] gnome.org> 34486 34487 Rubber-stamped by Alexey Proskuryakov. 34488 34489 https://bugs.webkit.org/show_bug.cgi?id=24222 34490 [GTK] Remove checks for old glib versions 34491 34492 libsoup, which is a hard dependency, needs at least glib 2.15.3, 34493 so remove all glib checks for versions older than that. 34494 34495 * platform/gtk/ContextMenuGtk.cpp: 34496 (WebCore::ContextMenu::ContextMenu): 34497 * platform/gtk/ContextMenuItemGtk.cpp: 34498 (WebCore::ContextMenuItem::setSubMenu): 34499 * platform/gtk/PopupMenuGtk.cpp: 34500 (WebCore::PopupMenu::show): 34501 * platform/gtk/WidgetGtk.cpp: 34502 (WebCore::Widget::retainPlatformWidget): 34503 * platform/network/soup/ResourceHandleSoup.cpp: 34504 34505 2009-02-26 Dirk Schulze <krit (a] webkit.org> 34506 34507 Reviewed by Oliver Hunt. 34508 34509 Added support for Gradients and Patterns on filled or stroked Fonts 34510 in Cairo. I also added support for globalAlpha on FontCairo. 34511 34512 [CAIRO] SVG/Canvas fonts miss gradients/pattern support 34513 https://bugs.webkit.org/show_bug.cgi?id=18617 34514 34515 * html/CanvasRenderingContext2D.cpp: 34516 (WebCore::CanvasRenderingContext2D::drawTextInternal): 34517 * platform/graphics/cairo/FontCairo.cpp: 34518 (WebCore::Font::drawGlyphs): 34519 34520 2009-02-26 Stephen White <senorblanco (a] chromium.org> 34521 34522 Reviewed by Eric Seidel. 34523 34524 https://bugs.webkit.org/show_bug.cgi?id=23957 34525 34526 Fix for SVG gradient and pattern text for Chromium/skia. 34527 Added accessors for the fill and stroke gradients to 34528 GraphicsContext. Changed the paintSkiaText function to take a 34529 GraphicsContext, so we can check for gradients/patterns. 34530 Changed the skiaDrawText function to set the SkPaint shader 34531 correctly, and to scale up the gradient shader matrix to 34532 encompass the entire text string. Also offset each glyph 34533 separately, rather than transforming the canvas, so that the 34534 gradient/pattern stays fixed relative to the text origin. 34535 34536 * platform/graphics/GraphicsContext.cpp: 34537 (WebCore::GraphicsContext::getFillGradient): 34538 (WebCore::GraphicsContext::getStrokeGradient): 34539 (WebCore::GraphicsContext::getFillPattern): 34540 (WebCore::GraphicsContext::getStrokePattern): 34541 * platform/graphics/GraphicsContext.h: 34542 * platform/graphics/chromium/FontChromiumWin.cpp: 34543 (WebCore::Font::drawGlyphs): 34544 * platform/graphics/chromium/UniscribeHelper.cpp: 34545 (WebCore::UniscribeHelper::draw): 34546 * platform/graphics/skia/SkiaFontWin.cpp: 34547 (WebCore::windowsCanHandleTextDrawing): 34548 (WebCore::skiaDrawText): 34549 (WebCore::paintSkiaText): 34550 * platform/graphics/skia/SkiaFontWin.h: 34551 34552 2009-02-26 Dimitri Glazkov <dglazkov (a] chromium.org> 34553 34554 Reviewed by Eric Seidel. 34555 34556 https://bugs.webkit.org/show_bug.cgi?id=24208 34557 Add custom V8 bindings for Navigator, Clipboard, Document, and Node. 34558 34559 * bindings/v8/custom/V8ClipboardCustom.cpp: Added. 34560 (WebCore::ACCESSOR_GETTER): 34561 (WebCore::CALLBACK_FUNC_DECL): 34562 * bindings/v8/custom/V8DocumentCustom.cpp: Added. 34563 (WebCore::CALLBACK_FUNC_DECL): 34564 * bindings/v8/custom/V8NavigatorCustom.cpp: Added. 34565 (WebCore::ACCESSOR_GETTER): 34566 * bindings/v8/custom/V8NodeCustom.cpp: Added. 34567 (WebCore::CALLBACK_FUNC_DECL): 34568 34569 2009-02-26 Gustavo Noronha Silva <gns (a] gnome.org> 34570 34571 Unreviewed build fix for building with GNOME Keyring enabled. 34572 34573 * platform/network/soup/webkit-soup-auth-dialog.c: 34574 (show_auth_dialog): 34575 34576 2009-02-26 Xan Lopez <xan (a] gnome.org> 34577 34578 Reviewed by Holger Freyther. 34579 34580 https://bugs.webkit.org/show_bug.cgi?id=16947 34581 [GTK] Missing HTTP Auth challenge 34582 34583 Add HTTP authentication dialog with optional GNOME Keyring 34584 storage. 34585 34586 * GNUmakefile.am: 34587 * platform/network/ResourceHandleInternal.h: 34588 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 34589 * platform/network/soup/ResourceHandleSoup.cpp: 34590 (WebCore::currentToplevelCallback): 34591 (WebCore::ResourceHandle::startHttp): 34592 (WebCore::ResourceHandle::start): 34593 * platform/network/soup/webkit-soup-auth-dialog.c: Added. 34594 (webkit_soup_auth_dialog_class_init): 34595 (webkit_soup_auth_dialog_init): 34596 (webkit_soup_auth_dialog_session_feature_init): 34597 (free_authData): 34598 (set_password_callback): 34599 (response_callback): 34600 (show_auth_dialog): 34601 (find_password_callback): 34602 (session_authenticate): 34603 (attach): 34604 * platform/network/soup/webkit-soup-auth-dialog.h: Added. 34605 34606 2009-02-25 Ojan Vafai <ojan (a] chromium.org> and Eric Seidel <eric (a] webkit.org> 34607 34608 Reviewed by Dave Hyatt. 34609 34610 After Ojan's positionForCoordinates fix http://trac.webkit.org/changeset/41191 34611 svg/custom/pointer-events-image.svg and svg/custom/pointer-events-text.svg 34612 started failing because Ojan's new code was now *correctly* calling through to 34613 SVG asking for the closest text offset in the last line box, instead of 34614 just returning the offset at the end of the last line box when clicking below a box. 34615 34616 But! The SVG code was wrong, in that it returned the character offset of the last 34617 character when you asked for a character offset after the end of the box, instead 34618 it should return the offset *after* the last character. This patch fixes 34619 that behavior by reordering the last two clauses in svgCharacterHitsPosition. 34620 34621 The SVG positionForCoordinates function is still wrong, and I've added some FIXMEs 34622 to document what's wrong. I've also cleaned up the code a bit so it's clearer 34623 what it is doing (which also makes more obvious what's wrong with it). 34624 34625 * rendering/RenderSVGInlineText.cpp: 34626 (WebCore::RenderSVGInlineText::positionForCoordinates): 34627 * rendering/SVGInlineTextBox.cpp: 34628 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::SVGInlineTextBoxClosestCharacterToPositionWalker): 34629 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 34630 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::offsetOfHitCharacter): 34631 (WebCore::SVGInlineTextBox::closestCharacterToPosition): 34632 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): 34633 34634 2009-02-26 Darin Fisher <darin (a] chromium.org> 34635 34636 Reviewed by Eric Seidel. 34637 34638 Minor cleanup of ChromiumBridge: 34639 Removing unused matchesMIMEType method and s/Javascript/JavaScript/ 34640 34641 * platform/chromium/ChromiumBridge.h: 34642 * platform/chromium/MimeTypeRegistryChromium.cpp: 34643 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 34644 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): 34645 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 34646 34647 2009-02-26 David Hyatt <hyatt (a] apple.com> 34648 34649 Reviewed by Sam Weinig 34650 34651 Fix text-bottom vertical alignment. It was incorrectly aligning the bottom of the descent instead of including 34652 the line-height below the descent. 34653 34654 Added fast/inline/vertical-align-text-bottom.html 34655 34656 * rendering/RenderBoxModelObject.cpp: 34657 (WebCore::RenderBoxModelObject::verticalPosition): 34658 34659 2009-02-26 Dirk Schulze <krit (a] webkit.org> 34660 34661 Reviewed by Eric Seidel. 34662 34663 Make SVG Masking platform independet with the use of ImageBuffer::getImageData(), 34664 ImageBuffer::putImageData() and GraphicsContext::clipToImageBuffer(). Every platform has 34665 just to implement this three methods to support SVG Masking now. 34666 34667 Make SVG Masking platform aware 34668 https://bugs.webkit.org/show_bug.cgi?id=19243 34669 34670 * GNUmakefile.am: 34671 * WebCore.pro: 34672 * WebCore.vcproj/WebCore.vcproj: 34673 * WebCore.xcodeproj/project.pbxproj: 34674 * svg/graphics/SVGResourceMasker.cpp: 34675 (WebCore::SVGResourceMasker::applyMask): 34676 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: Removed. 34677 * svg/graphics/cg/SVGResourceMaskerCg.cpp: Removed. 34678 * svg/graphics/cg/SVGResourceMaskerCg.mm: Removed. 34679 * svg/graphics/qt/SVGResourceMaskerQt.cpp: Removed. 34680 * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Removed. 34681 34682 2009-02-26 Yong Li <yong.li (a] torchmobile.com> 34683 34684 Reviewed by Darin Adler, Antti Koivisto and Alexey Proskuryakov. 34685 34686 Test: http/tests/misc/slow-preload-cancel.html 34687 34688 https://bugs.webkit.org/show_bug.cgi?id=24133 34689 Clear all pending preloads in the DocLoader object when we decide to 34690 cancel its all requests. 34691 34692 * loader/DocLoader.cpp: 34693 (WebCore::DocLoader::clearPendingPreloads): 34694 * loader/DocLoader.h: 34695 * loader/loader.cpp: 34696 (WebCore::Loader::cancelRequests): 34697 34698 2009-02-26 Dimitri Glazkov <dglazkov (a] chromium.org> 34699 34700 Reviewed by Eric Seidel. 34701 34702 https://bugs.webkit.org/show_bug.cgi?id=24182 34703 Add NodeFilter, NodeIterator, and TreeWalker custom V8 bindings. 34704 34705 * bindings/v8/custom/V8NodeFilterCustom.cpp: Added. 34706 (WebCore::CALLBACK_FUNC_DECL): 34707 * bindings/v8/custom/V8NodeIteratorCustom.cpp: Added. 34708 (WebCore::toV8): 34709 (WebCore::CALLBACK_FUNC_DECL): 34710 * bindings/v8/custom/V8TreeWalkerCustom.cpp: Added. 34711 (WebCore::toV8): 34712 (WebCore::CALLBACK_FUNC_DECL): 34713 34714 2009-02-26 Alexey Proskuryakov <ap (a] webkit.org> 34715 34716 Reviewed by Darin Adler. 34717 34718 https://bugs.webkit.org/show_bug.cgi?id=23500 34719 KURL::parse() incorrectly compares its result to original string 34720 34721 * platform/KURL.cpp: (WebCore::KURL::parse): Take string length into account. 34722 34723 2009-02-26 Ojan Vafai <ojan (a] chromium.org> 34724 34725 Reviewed by Kevin McCullough. 34726 34727 Manual test for inspector node highlighting. 34728 34729 * manual-tests/inspector/highlight-nodes.html: Added. 34730 34731 2009-02-16 Anantanarayanan Iyengar <ananta (a] chromium.org> 34732 34733 Reviewed by Darin Fisher. 34734 34735 https://bugs.webkit.org/show_bug.cgi?id=23973 34736 ScrollView::scrollContents can be invoked during view shutdown. In 34737 this scenario the FrameView::hostWindow method can return NULL, which 34738 indicates that the frame/page is being destroyed. This causes a crash 34739 when we try to dereference a NULL hostWindow pointer. Fix is to add a 34740 NULL check for this. 34741 34742 * platform/ScrollView.cpp: 34743 (WebCore::ScrollView::scrollContents): 34744 34745 2009-02-26 Rahul Kuchhal <kuchhal (a] chromium.org> 34746 34747 Reviewed by Dave Hyatt. 34748 34749 https://bugs.webkit.org/show_bug.cgi?id=24003 34750 Fix a crash caused by unsafe type conversion. 34751 34752 Test: fast/block/positioning/absolute-in-inline-rtl-4.html 34753 34754 * rendering/RenderBox.cpp: 34755 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 34756 34757 2009-02-26 Ojan Vafai <ojan (a] chromium.org> 34758 34759 Reviewed by Adam Roben. 34760 34761 https://bugs.webkit.org/show_bug.cgi?id=24202 34762 Have drawNodeHighlight clip instead of clearing. This makes it work for 34763 both Safari and Chromium since Chromium draws the inspector highlighting 34764 in the same buffer as the page. 34765 34766 * inspector/InspectorController.cpp: 34767 (WebCore::quadToPath): 34768 (WebCore::drawOutlinedQuad): 34769 (WebCore::drawOutlinedQuadWithClip): 34770 (WebCore::drawHighlightForBox): 34771 34772 2009-02-26 David Hyatt <hyatt (a] apple.com> 34773 34774 Reviewed by Dan Bernstein & Darin Adler 34775 34776 Make sure the border/padding are properly omitted at the start of an inline that is a continuation. 34777 34778 Added fast/inline/inline-continuation-borders.html 34779 34780 * rendering/InlineFlowBox.cpp: 34781 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 34782 34783 2009-02-26 Simon Fraser <simon.fraser (a] apple.com> 34784 34785 Build fix, no review. 34786 34787 Try to fix the wx build after r41218. 34788 34789 * WebCoreSources.bkl: 34790 34791 2009-02-26 Alexey Proskuryakov <ap (a] webkit.org> 34792 34793 Reviewed by Darin Adler. 34794 34795 https://bugs.webkit.org/show_bug.cgi?id=19527 34796 ASSERTION FAILED: containerA && containerB 34797 34798 Test: fast/dom/Range/bug-19527.html 34799 34800 * dom/Range.cpp: 34801 (WebCore::Range::isPointInRange): 34802 (WebCore::Range::comparePoint): 34803 Bring the behavior in line with current Firefox, making it impossible for these methods 34804 to pass a null container to compareBoundaryPoints(). 34805 34806 2009-02-26 Jonathon Jongsma <jonathon (a] quotidian.org> 34807 34808 Reviewed by Holger Freyther. 34809 34810 https://bugs.webkit.org/show_bug.cgi?id=20358 34811 34812 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 34813 (WebCore::SimpleFontData::smallCapsFontData): the small-caps font data 34814 should set the computed size rather than the specified size, otherwise 34815 the caps just get rendered normal size. 34816 34817 2009-02-26 Benjamin Meyer <benjamin.meyer (a] torchmobile.com> 34818 34819 Reviewed by George Staikos. 34820 34821 https://bugs.webkit.org/show_bug.cgi?id=24062 34822 QNetworkCookieJar expects the url and not the policy url. Sending the 34823 policy url will cause QNetworkCookieJar to behave incorrectly. One 34824 example would be a cookie that does not have a path or domain. 34825 QNetworkCookieJar will use the url it is given to fill in default values. 34826 This allows setting cookies on the url of the main frame from an iFrame 34827 when the cookie should be set on the url of the iFrame. 34828 34829 Originally noticed on http://writer.zoho.com/jsp/home.jsp?serviceurl=/index.do 34830 34831 * platform/qt/CookieJarQt.cpp: 34832 (WebCore::setCookies): 34833 34834 2009-02-26 Charles Wei <charles.wei (a] torchmobile.com.cn> 34835 34836 Reviewed by George Staikos. 34837 34838 make WebKit/Qt compile with SVG disabled 34839 34840 * WebCore.pro: 34841 * platform/graphics/qt/FontPlatformDataQt.cpp: 34842 34843 2009-02-25 Gustavo Noronha Silva <gns (a] gnome.org> 34844 34845 Unreviewed build fix. Add WebCore/workers to the list of paths 34846 searched by the bindings generator perl script. 34847 34848 * GNUmakefile.am: 34849 34850 2009-02-25 Sam Weinig <sam (a] webkit.org> 34851 34852 Reviewed by Geoffrey Garen. 34853 34854 Add canvas to the list of RenderObjects that can mark a page as 34855 visually not empty. 34856 34857 * rendering/RenderHTMLCanvas.cpp: 34858 (WebCore::RenderHTMLCanvas::RenderHTMLCanvas): 34859 34860 2009-02-25 Eric Carlson <eric.carlson (a] apple.com> 34861 34862 Reviewed by Dave Hyatt. 34863 34864 * rendering/RenderBox.cpp: 34865 (WebCore::RenderBox::nodeAtPoint): Remove assertion fired when child has layer 34866 as RenderMedia with controls always has a layer. 34867 34868 2009-02-25 Dan Bernstein <mitz (a] apple.com> 34869 34870 Reviewed by Simon Fraser. 34871 34872 - fix https://bugs.webkit.org/show_bug.cgi?id=24130 34873 <rdar://problem/6618196> Paint very slow when horizontally resizing 34874 34875 Test: fast/gradients/background-clipped.html 34876 34877 * rendering/RenderBoxModelObject.cpp: 34878 (WebCore::RenderBoxModelObject::paintFillLayerExtended): Intersect the 34879 destination rectangle passed to drawTiledImage() with the dirty 34880 rectangle. This makes it more likely for the destination rect to be 34881 contained in a single tile rect, which results in a faster code path 34882 being taken down the road (just drawing a single tile instead of 34883 tiling). 34884 34885 2009-02-25 Ojan Vafai <ojan (a] chromium.org> 34886 34887 Reviewed by Eric Seidel. 34888 34889 Fix test regressions from positionForCoordinates patch. 34890 https://bugs.webkit.org/show_bug.cgi?id=24148 34891 34892 * rendering/RenderBlock.cpp: 34893 (WebCore::positionForPointWithInlineChildren): 34894 Remove ASSERT that placeholder text codepath is hitting. 34895 34896 2009-02-25 Chris Fleizach <cfleizach (a] apple.com> 34897 34898 Reviewed by Beth Dakin. 34899 34900 Bug 24143: Crash occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() when applying a link in GMail 34901 https://bugs.webkit.org/show_bug.cgi?id=24143 34902 34903 When an AX object is marked dirty, do not create AX elements while going up the parent chain. 34904 Do not allow AXRenderObjects to remove their own IDs from the cache, all the cache to do that work 34905 Make sure the AXObjectWrapper's have an object before calling them 34906 In AXObjectCache, change get -> getOrCreate. Use get() to only retrieve an element if it exists 34907 34908 Test: platform/mac-snowleopard/accessibility/table-updating.html 34909 34910 * WebCore.base.exp: 34911 * page/AXObjectCache.cpp: 34912 (WebCore::AXObjectCache::~AXObjectCache): 34913 (WebCore::AXObjectCache::get): 34914 (WebCore::AXObjectCache::getOrCreate): 34915 (WebCore::AXObjectCache::removeAXID): 34916 (WebCore::AXObjectCache::handleActiveDescendantChanged): 34917 (WebCore::AXObjectCache::handleAriaRoleChanged): 34918 * page/AXObjectCache.h: 34919 * page/AccessibilityImageMapLink.cpp: 34920 (WebCore::AccessibilityImageMapLink::parentObject): 34921 * page/AccessibilityListBox.cpp: 34922 (WebCore::AccessibilityListBox::listBoxOptionAccessibilityObject): 34923 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 34924 * page/AccessibilityListBoxOption.cpp: 34925 (WebCore::AccessibilityListBoxOption::elementRect): 34926 (WebCore::AccessibilityListBoxOption::parentObject): 34927 * page/AccessibilityObject.cpp: 34928 (WebCore::AccessibilityObject::detach): 34929 (WebCore::AccessibilityObject::parentObjectIfExists): 34930 (WebCore::replacedNodeNeedsCharacter): 34931 (WebCore::AccessibilityObject::accessibilityObjectForPosition): 34932 * page/AccessibilityObject.h: 34933 * page/AccessibilityRenderObject.cpp: 34934 (WebCore::AccessibilityRenderObject::firstChild): 34935 (WebCore::AccessibilityRenderObject::lastChild): 34936 (WebCore::AccessibilityRenderObject::previousSibling): 34937 (WebCore::AccessibilityRenderObject::nextSibling): 34938 (WebCore::AccessibilityRenderObject::parentObjectIfExists): 34939 (WebCore::AccessibilityRenderObject::parentObject): 34940 (WebCore::AccessibilityRenderObject::isAttachment): 34941 (WebCore::AccessibilityRenderObject::headingLevel): 34942 (WebCore::AccessibilityRenderObject::anchorElement): 34943 (WebCore::AccessibilityRenderObject::menuForMenuButton): 34944 (WebCore::AccessibilityRenderObject::menuButtonForMenu): 34945 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): 34946 (WebCore::AccessibilityRenderObject::internalLinkElement): 34947 (WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers): 34948 (WebCore::AccessibilityRenderObject::titleUIElement): 34949 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 34950 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): 34951 (WebCore::AccessibilityRenderObject::getDocumentLinks): 34952 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 34953 (WebCore::AccessibilityRenderObject::focusedUIElement): 34954 (WebCore::AccessibilityRenderObject::activeDescendant): 34955 (WebCore::AccessibilityRenderObject::observableObject): 34956 (WebCore::AccessibilityRenderObject::childrenChanged): 34957 (WebCore::AccessibilityRenderObject::addChildren): 34958 * page/AccessibilityRenderObject.h: 34959 (WebCore::AccessibilityRenderObject::setRenderObject): 34960 * page/AccessibilityTable.cpp: 34961 (WebCore::AccessibilityTable::addChildren): 34962 (WebCore::AccessibilityTable::headerContainer): 34963 (WebCore::AccessibilityTable::cellForColumnAndRow): 34964 * page/AccessibilityTableCell.cpp: 34965 (WebCore::AccessibilityTableCell::isTableCell): 34966 (WebCore::AccessibilityTableCell::titleUIElement): 34967 * page/AccessibilityTableColumn.cpp: 34968 (WebCore::AccessibilityTableColumn::headerObjectForSection): 34969 * page/AccessibilityTableRow.cpp: 34970 (WebCore::AccessibilityTableRow::isTableRow): 34971 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 34972 * page/mac/AXObjectCacheMac.mm: 34973 (WebCore::AXObjectCache::postNotification): 34974 (WebCore::AXObjectCache::postNotificationToElement): 34975 * page/mac/AccessibilityObjectWrapper.mm: 34976 (textMarkerForVisiblePosition): 34977 (AXLinkElementForNode): 34978 (nsStringForReplacedNode): 34979 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): 34980 (-[AccessibilityObjectWrapper accessibilityActionNames]): 34981 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 34982 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): 34983 (-[AccessibilityObjectWrapper accessibilityHitTest:]): 34984 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 34985 (-[AccessibilityObjectWrapper accessibilityIsIgnored]): 34986 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 34987 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): 34988 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): 34989 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 34990 (-[AccessibilityObjectWrapper _accessibilityParentForSubview:]): 34991 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): 34992 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]): 34993 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): 34994 34995 2009-02-25 Beth Dakin <bdakin (a] apple.com> 34996 34997 Reviewed by Geoff Garen. 34998 34999 Re-working of <rdar://problem/6487249> repro crash in 35000 WebCore::CSSParser::parseFillImage copying entire contents of this 35001 page 35002 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172 35003 35004 Fixes a bunch of layout test failures I caused! 35005 35006 * css/CSSParser.cpp: 35007 (WebCore::CSSParser::parseValue): 35008 (WebCore::CSSParser::parseContent): 35009 (WebCore::CSSParser::parseFillImage): 35010 (WebCore::CSSParser::parseFontFaceSrc): 35011 (WebCore::CSSParser::parseBorderImage): 35012 35013 2009-02-25 Dimitri Glazkov <dglazkov (a] chromium.org> 35014 35015 Reviewed by Eric Seidel. 35016 35017 https://bugs.webkit.org/show_bug.cgi?id=24174 35018 Add more V8 custom bindings. 35019 35020 * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: Added. 35021 (WebCore::hasCSSPropertyNamePrefix): 35022 (WebCore::cssPropertyName): 35023 (WebCore::NAMED_PROPERTY_GETTER): 35024 (WebCore::NAMED_PROPERTY_SETTER): 35025 * bindings/v8/custom/V8DOMStringListCustom.cpp: Added. 35026 (WebCore::INDEXED_PROPERTY_GETTER): 35027 (WebCore::CALLBACK_FUNC_DECL): 35028 * bindings/v8/custom/V8EventCustom.cpp: Added. 35029 (WebCore::ACCESSOR_SETTER): 35030 (WebCore::ACCESSOR_GETTER): 35031 * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Added. 35032 (WebCore::NAMED_PROPERTY_DELETER): 35033 (WebCore::NAMED_PROPERTY_SETTER): 35034 (WebCore::NAMED_PROPERTY_GETTER): 35035 * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp: Added. 35036 (WebCore::NAMED_PROPERTY_GETTER): 35037 * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Added. 35038 (WebCore::INDEXED_PROPERTY_GETTER): 35039 (WebCore::NAMED_PROPERTY_GETTER): 35040 * bindings/v8/custom/V8NodeListCustom.cpp: Added. 35041 (WebCore::NAMED_PROPERTY_GETTER): 35042 * bindings/v8/custom/V8StyleSheetListCustom.cpp: Added. 35043 (WebCore::NAMED_PROPERTY_GETTER): 35044 35045 2009-02-25 Scott Violet <sky (a] google.com> 35046 35047 Reviewed by Dave Hyatt. 35048 35049 https://bugs.webkit.org/show_bug.cgi?id=24171 35050 Provides a RenderTheme method for getting the scroll bar size and 35051 changes RenderListBox to use it. RenderTheme returns a size of regular, 35052 and Mac's override to return small. Changes ScrollbarThemeChromium to 35053 use the scrollbarsize of the scrollbar when getting the size 35054 instead of passing in no-args. 35055 35056 * platform/chromium/ScrollbarThemeChromium.cpp: 35057 (WebCore::ScrollbarThemeChromium::trackRect): 35058 (WebCore::ScrollbarThemeChromium::buttonSize): 35059 * rendering/RenderListBox.cpp: 35060 (WebCore::RenderListBox::createScrollbar): 35061 * rendering/RenderTheme.h: 35062 (WebCore::RenderTheme::scrollbarControlSizeForPart): 35063 * rendering/RenderThemeChromiumMac.h: 35064 (WebCore::RenderThemeChromiumMac::scrollbarControlSizeForPart): 35065 * rendering/RenderThemeMac.h: 35066 (WebCore::RenderThemeMac::scrollbarControlSizeForPart): 35067 35068 2009-02-25 Beth Dakin <bdakin (a] apple.com> 35069 35070 Reviewed by Darin Adler. 35071 35072 Fix for <rdar://problem/6487249> repro crash in 35073 WebCore::CSSParser::parseFillImage copying entire contents of this 35074 page 35075 -and corresponding: https://bugs.webkit.org/show_bug.cgi?id=24172 35076 35077 * css/CSSParser.cpp: 35078 (WebCore::CSSParser::parseValue): Null-check m_styleSheet 35079 35080 2009-02-25 Adam Treat <adam.treat (a] torchmobile.com> 35081 35082 Fix the Qt build. 35083 35084 * WebCore.pro: 35085 35086 2009-02-25 Jan Michael Alonzo <jmalonzo (a] webkit.org> 35087 35088 Gtk build fix. Not reviewed. 35089 35090 Add files to the build per r41218. 35091 Rename WebkitPoint.h to WebKitPoint.h in DOMWindow.cpp 35092 35093 * GNUmakefile.am: 35094 * page/DOMWindow.cpp: 35095 35096 2009-02-25 Zan Dobersek <zandobersek (a] gmail.com> 35097 35098 Reviewed by Alexey Proskuryakov. 35099 35100 https://bugs.webkit.org/show_bug.cgi?id=24043 35101 When faced with URLs with unsupported protocol on Gtk port, 35102 report the error through an idle function and return true, so 35103 a proper resource handle is created. 35104 35105 * platform/network/soup/ResourceHandleSoup.cpp: 35106 (WebCore::reportUnknownProtocolError): 35107 (WebCore::ResourceHandle::start): 35108 35109 2009-02-25 Steve Falkenburg <sfalken (a] apple.com> 35110 35111 Windows build fix. 35112 Use struct to forward declare ResourceRequest. 35113 35114 * history/HistoryItem.h: 35115 * inspector/InspectorController.h: 35116 * loader/DocumentThreadableLoader.h: 35117 * loader/FrameLoaderClient.h: 35118 * loader/MainResourceLoader.h: 35119 * loader/SubresourceLoader.h: 35120 * loader/SubresourceLoaderClient.h: 35121 * loader/ThreadableLoader.h: 35122 * loader/WorkerThreadableLoader.h: 35123 * platform/CrossThreadCopier.h: 35124 * platform/network/ResourceHandle.h: 35125 * platform/network/ResourceHandleClient.h: 35126 * platform/network/ResourceRequestBase.h: 35127 * platform/network/cf/ResourceRequestCFNet.h: 35128 * xml/XMLHttpRequest.h: 35129 35130 2009-02-25 Steve Falkenburg <sfalken (a] apple.com> 35131 35132 Partial Windows build fix. 35133 35134 * DerivedSources.cpp: 35135 * WebCore.vcproj/WebCore.vcproj: 35136 35137 2009-02-25 Dirk Schulze <krit (a] webkit.org> 35138 35139 Reviewed by Oliver Hunt. 35140 35141 Ported arcTo to Qt. Qt has no native support for arcTo. This changes 35142 calculate the behavior of arcTo and draws it with lineTo and arc. 35143 35144 [QT] implement Canvas arcTo 35145 https://bugs.webkit.org/show_bug.cgi?id=23873 35146 35147 * platform/graphics/qt/PathQt.cpp: 35148 (WebCore::Path::addArcTo): 35149 35150 2009-02-25 Simon Fraser <simon.fraser (a] apple.com> 35151 35152 Reviewed by Dan Bernstein 35153 35154 Remove idl files from Resources, and sort. 35155 35156 * WebCore.xcodeproj/project.pbxproj: 35157 35158 2009-02-25 Chris Marrin <cmarrin (a] apple.com> 35159 35160 Reviewed by Simon Fraser. 35161 35162 https://bugs.webkit.org/show_bug.cgi?id=23943 35163 35164 Added webkitConvertPointFromNodeToPage and webkitConvertPointFromPageToNode on 35165 the window object. Also added WebKitPoint object, which is passed in and out 35166 of these functions. 35167 35168 Test: fast/dom/Window/webkitConvertPoint.html 35169 35170 * DerivedSources.make: 35171 * WebCore.pro: 35172 * WebCore.vcproj/WebCore.vcproj: 35173 * WebCore.xcodeproj/project.pbxproj: 35174 * WebCoreSources.bkl: 35175 * bindings/js/JSDOMWindowBase.cpp: 35176 (jsDOMWindowBaseWebKitPoint): 35177 (setJSDOMWindowBaseWebKitPoint): 35178 * bindings/js/JSWebKitPointConstructor.cpp: Added. 35179 (WebCore::): 35180 (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): 35181 (WebCore::constructWebKitPoint): 35182 (WebCore::JSWebKitPointConstructor::getConstructData): 35183 * bindings/js/JSWebKitPointConstructor.h: Added. 35184 (WebCore::JSWebKitPointConstructor::classInfo): 35185 * dom/Node.cpp: 35186 (WebCore::Node::convertToPage): 35187 (WebCore::Node::convertFromPage): 35188 * dom/Node.h: 35189 * page/DOMWindow.cpp: 35190 (WebCore::DOMWindow::webkitConvertPointFromNodeToPage): 35191 (WebCore::DOMWindow::webkitConvertPointFromPageToNode): 35192 * page/DOMWindow.h: 35193 * page/DOMWindow.idl: 35194 * page/WebKitPoint.h: Added. 35195 (WebCore::WebKitPoint::create): 35196 (WebCore::WebKitPoint::x): 35197 (WebCore::WebKitPoint::y): 35198 (WebCore::WebKitPoint::setX): 35199 (WebCore::WebKitPoint::setY): 35200 (WebCore::WebKitPoint::WebKitPoint): 35201 * page/WebKitPoint.idl: Added. 35202 35203 2009-02-25 Jian Li <jianli (a] chromium.org> 35204 35205 Reviewed by Alexey Proskuryakov. 35206 35207 Remove "#if ENABLE(WORKERS)" wrap from CrossThreadCopier files. 35208 https://bugs.webkit.org/show_bug.cgi?id=24145 35209 35210 * platform/CrossThreadCopier.cpp: 35211 * platform/CrossThreadCopier.h: 35212 35213 2009-02-25 David Levin <levin (a] chromium.org> 35214 35215 Reviewed by Alexey Proskuryakov. 35216 35217 Bug 23688: ThreadableLoader needs a sync implementation for Workers. 35218 <https://bugs.webkit.org/show_bug.cgi?id=23688> 35219 35220 No observable change in behavior, so no test. 35221 35222 * loader/ThreadableLoader.cpp: 35223 (WebCore::ThreadableLoader::loadResourceSynchronously): 35224 * loader/ThreadableLoaderClientWrapper.h: 35225 (WebCore::ThreadableLoaderClientWrapper::clearClient): 35226 (WebCore::ThreadableLoaderClientWrapper::done): 35227 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading): 35228 (WebCore::ThreadableLoaderClientWrapper::didFail): 35229 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): 35230 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper): 35231 Expose whether the loader is done (based on what callbacks were done). 35232 35233 * loader/WorkerThreadableLoader.cpp: 35234 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 35235 (WebCore::WorkerThreadableLoader::loadResourceSynchronously): 35236 Each loader is given its own mode so that only its callbacks get through the run loop. 35237 35238 The xhr spec says that the readystatechange events are synchronous, so in the case of a 35239 nested sync xhr no readystatechange events should be fired for the outer xhr. 35240 35241 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 35242 35243 * loader/WorkerThreadableLoader.h: 35244 (WebCore::WorkerThreadableLoader::create): 35245 (WebCore::WorkerThreadableLoader::done): 35246 35247 * workers/WorkerRunLoop.cpp: 35248 (WebCore::WorkerRunLoop::WorkerRunLoop): 35249 * workers/WorkerRunLoop.h: 35250 (WebCore::WorkerRunLoop::createUniqueId): 35251 Simple method to create a uniqueId on demand with respect to the run loop. 35252 35253 * workers/WorkerThread.h: 35254 35255 2009-02-25 David Levin <levin (a] chromium.org> 35256 35257 Reviewed by Alexey Proskuryakov. 35258 35259 Bug 24089: ThreadableLoader::loadResourceSynchronously should do callbacks like the async code. 35260 <https://bugs.webkit.org/show_bug.cgi?id=24089> 35261 35262 Make threadable loader callbacks to happen during the sync load call. 35263 35264 Changes the behavior of sync xhr for insecure redirects in two ways: 35265 + Sends an error event instead of an abort event (which is the same as async xhr's behavior). 35266 + Throws a network exception which is what other browsers do and what the spec 35267 says to do (http://www.w3.org/TR/XMLHttpRequest/). 35268 35269 * loader/DocumentThreadableLoader.cpp: 35270 (WebCore::DocumentThreadableLoader::loadResourceSynchronously): 35271 * loader/DocumentThreadableLoader.h: 35272 * loader/ThreadableLoader.cpp: 35273 (WebCore::ThreadableLoader::loadResourceSynchronously): 35274 * loader/ThreadableLoader.h: 35275 * xml/XMLHttpRequest.cpp: 35276 (WebCore::XMLHttpRequest::XMLHttpRequest): 35277 (WebCore::XMLHttpRequest::loadRequestSynchronously): 35278 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 35279 (WebCore::XMLHttpRequest::didFail): 35280 (WebCore::XMLHttpRequest::didFailRedirectCheck): 35281 * xml/XMLHttpRequest.h: 35282 35283 2009-02-24 Chris Marrin <cmarrin (a] apple.com> 35284 35285 Reviewed by David Hyatt. 35286 35287 https://bugs.webkit.org/show_bug.cgi?id=23368 35288 35289 Added logic to correctly hit test accelerated layers. 35290 35291 Tests: animations/animation-hit-test-transform.html 35292 animations/animation-hit-test.html 35293 transitions/transition-hit-test-transform.html 35294 transitions/transition-hit-test.html 35295 35296 * page/animation/KeyframeAnimation.cpp: 35297 (WebCore::KeyframeAnimation::animate): 35298 * rendering/RenderLayer.cpp: 35299 (WebCore::RenderLayer::hitTestLayer): 35300 (WebCore::RenderLayer::updateClipRects): 35301 * rendering/RenderLayerBacking.cpp: 35302 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 35303 35304 2009-02-25 Alexey Proskuryakov <ap (a] webkit.org> 35305 35306 Reviewed by Darin Adler. 35307 35308 https://bugs.webkit.org/show_bug.cgi?id=24067 35309 REGRESSION: Crash in WebCore::Document::initSecurityContext 35310 35311 The crash started to happen when we removed a check for frame->document() being null. 35312 However, the original document shouldn't be null here, because it is needed to alias 35313 security origins. So, this patch fixes the crash by correcting security origin behavior. 35314 35315 Test: http/tests/security/aboutBlank/window-open-self-about-blank.html 35316 This tests for not crashing, and for inheriting the domain from the document being replaced. 35317 Preserving the aliasing cannot be tested for automatically, because we'd need a non-trivial 35318 domain to remove a prefix from. 35319 35320 * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Create a new document before 35321 clearing the frame, so that Document::initSecurityContext() could access the old one. 35322 35323 2009-02-25 Jay Campan <jcampan (a] google.com> 35324 35325 Reviewed by Darin Fisher. 35326 35327 https://bugs.webkit.org/show_bug.cgi?id=24066 35328 35329 Items in drop-downs were not painted correctly. Makes sure the 35330 PopupListBox invalidates in the coordinates of the window as this is 35331 FramelessScrollView::invalidateRect paints to. 35332 35333 * platform/chromium/PopupMenuChromium.cpp: 35334 (WebCore::PopupListBox::invalidateRow): 35335 35336 2009-02-24 Simon Fraser <simon.fraser (a] apple.com> 35337 35338 Reviewed by Anders Carlsson 35339 35340 https://bugs.webkit.org/show_bug.cgi?id=15081 35341 35342 Make display:none work for applet, emebed and object elements 35343 by calling rendererIsNeeded() on superclasses. 35344 35345 Tests: fast/replaced/applet-display-none.html 35346 fast/replaced/embed-display-none.html 35347 fast/replaced/object-display-none.html 35348 35349 * html/HTMLAppletElement.cpp: 35350 (WebCore::HTMLAppletElement::rendererIsNeeded): 35351 * html/HTMLElement.cpp: 35352 (WebCore::HTMLElement::rendererIsNeeded): 35353 * html/HTMLEmbedElement.cpp: 35354 (WebCore::HTMLEmbedElement::rendererIsNeeded): 35355 * html/HTMLObjectElement.cpp: 35356 (WebCore::HTMLObjectElement::rendererIsNeeded): 35357 35358 2009-02-24 Simon Fraser <simon.fraser (a] apple.com> 35359 35360 Reviewed by Dave Hyatt 35361 35362 https://bugs.webkit.org/show_bug.cgi?id=24137 35363 35364 Fix localToAbsolute() and absoluteToLocal() to map points through 3d transforms, 35365 taking perspective and transform-style: preserve-3d into account. 35366 35367 In order to support transform-style: preserve-3d, which keeps elements in a 35368 3d space, we have to carry along an accumulated matrix in TransformState. 35369 We also need to apply the perspective from the parent, if any, with the 35370 appropriate origin. 35371 35372 * GNUmakefile.am: 35373 * WebCore.base.exp: 35374 * WebCore.pro: 35375 * WebCore.scons: 35376 * WebCore.vcproj/WebCore.vcproj: 35377 * WebCore.xcodeproj/project.pbxproj: 35378 * WebCoreSources.bkl: 35379 * css/CSSComputedStyleDeclaration.cpp: 35380 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 35381 * platform/graphics/transforms/TransformationMatrix.cpp: 35382 (WebCore::TransformationMatrix::translate): 35383 (WebCore::TransformationMatrix::translate3d): 35384 (WebCore::TransformationMatrix::translateRight3d): 35385 * platform/graphics/transforms/TransformationMatrix.h: 35386 * rendering/RenderBox.cpp: 35387 (WebCore::RenderBox::mapLocalToAbsolutePoint): 35388 (WebCore::RenderBox::mapAbsoluteToLocalPoint): 35389 * rendering/RenderBox.h: 35390 * rendering/RenderLayer.cpp: 35391 (WebCore::RenderLayer::updateTransform): 35392 (WebCore::RenderLayer::perspectiveTransform): 35393 (WebCore::RenderLayer::perspectiveOrigin): 35394 * rendering/RenderLayer.h: 35395 * rendering/RenderLayerBacking.cpp: 35396 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 35397 * rendering/RenderLayerCompositor.cpp: 35398 (WebCore::requiresCompositingLayerForTransform): 35399 (WebCore::RenderLayerCompositor::layerHas3DContent): 35400 * rendering/RenderObject.cpp: 35401 (WebCore::RenderObject::localToAbsolute): 35402 (WebCore::RenderObject::absoluteToLocal): 35403 (WebCore::RenderObject::mapLocalToAbsolutePoint): 35404 (WebCore::RenderObject::mapAbsoluteToLocalPoint): 35405 * rendering/RenderObject.h: 35406 * rendering/RenderTableCell.cpp: 35407 (WebCore::RenderTableCell::mapLocalToAbsolutePoint): 35408 (WebCore::RenderTableCell::mapAbsoluteToLocalPoint): 35409 * rendering/RenderTableCell.h: 35410 * rendering/RenderView.cpp: 35411 (WebCore::RenderView::mapLocalToAbsolutePoint): 35412 (WebCore::RenderView::mapAbsoluteToLocalPoint): 35413 * rendering/RenderView.h: 35414 * rendering/TransformState.cpp: Added. 35415 (WebCore::TransformState::move): 35416 (WebCore::TransformState::applyTransform): 35417 (WebCore::TransformState::flatten): 35418 * rendering/TransformState.h: Added. 35419 (WebCore::TransformState::): 35420 (WebCore::TransformState::TransformState): 35421 (WebCore::TransformState::move): 35422 * rendering/style/RenderStyle.h: 35423 (WebCore::InheritedFlags::hasPerspective): 35424 35425 2009-02-24 Sam Weinig <sam (a] webkit.org> 35426 35427 Reviewed by David Hyatt. 35428 35429 Fix for https://bugs.webkit.org/show_bug.cgi?id=23990 35430 Regression (r40837): JavaScript image popup doesn't work 35431 35432 Make the getClientRects and getBoundingClientRect methods return rects 35433 relative to the viewport. 35434 35435 Test: fast/dom/getBoundingClientRect-getClientRects-relative-to-viewport.html 35436 35437 * dom/Element.cpp: 35438 (WebCore::Element::getClientRects): 35439 (WebCore::Element::getBoundingClientRect): 35440 35441 2009-02-24 Ojan Vafai <ojan (a] chromium.org> 35442 35443 Reviewed by Eric Seidel. 35444 35445 SVG pages don't have a body or an html element! 35446 Don't return early if there is no body. 35447 35448 * editing/VisiblePosition.cpp: 35449 (WebCore::VisiblePosition::canonicalPosition): 35450 35451 2009-02-23 David Hyatt <hyatt (a] apple.com> 35452 35453 Reviewed by Eric Seidel 35454 35455 https://bugs.webkit.org/show_bug.cgi?id=23740, painting order wrong for normal flow elements with overflow: hidden 35456 35457 This patch reworks the painting of overflow. There is now the concept of a "self-painting layer." All 35458 layers are considered to be self-painting except for overflow layers that are normal flow (and that don't have 35459 reflections or masks). 35460 35461 If an overflow layer is not self-painting, then it ends up painted by its parent just like any other normal flow object. 35462 The only difference is that the clip has to be pushed and popped when painting the object's children. 35463 35464 The lightweight clipping scheme used for controls has been extended to cover overflow now in this simplified case. With 35465 the code consolidated into reusable push/pop functions, all of the renderers that use overflow have been patched to 35466 use the new functions. 35467 35468 Hit testing has also been patched to check the overflow clip rect first before recurring into children. 35469 35470 Scrollbar paint has been moved into RenderBlock for now, since none of the table objects support scrollbars 35471 yet, and scrollbar hit testing was already there anyway. Now the two code paths are more symmetrical. 35472 35473 Masks are now treated like normal flow layers (just like reflections). 35474 35475 A couple of test cases have been added to fast/overflow to test the stacking order. 35476 35477 * rendering/InlineFlowBox.cpp: 35478 (WebCore::InlineFlowBox::nodeAtPoint): 35479 (WebCore::InlineFlowBox::paint): 35480 * rendering/RenderBlock.cpp: 35481 (WebCore::RenderBlock::repaintOverhangingFloats): 35482 (WebCore::RenderBlock::paint): 35483 (WebCore::RenderBlock::paintChildren): 35484 (WebCore::RenderBlock::paintObject): 35485 (WebCore::RenderBlock::paintFloats): 35486 (WebCore::RenderBlock::insertFloatingObject): 35487 (WebCore::RenderBlock::floatRect): 35488 (WebCore::RenderBlock::lowestPosition): 35489 (WebCore::RenderBlock::rightmostPosition): 35490 (WebCore::RenderBlock::leftmostPosition): 35491 (WebCore::RenderBlock::addOverhangingFloats): 35492 (WebCore::RenderBlock::nodeAtPoint): 35493 (WebCore::RenderBlock::hitTestContents): 35494 * rendering/RenderBox.cpp: 35495 (WebCore::RenderBox::nodeAtPoint): 35496 (WebCore::RenderBox::pushContentsClip): 35497 (WebCore::RenderBox::popContentsClip): 35498 * rendering/RenderBox.h: 35499 (WebCore::RenderBox::paintObject): 35500 * rendering/RenderBoxModelObject.cpp: 35501 (WebCore::RenderBoxModelObject::hasSelfPaintingLayer): 35502 * rendering/RenderBoxModelObject.h: 35503 * rendering/RenderLayer.cpp: 35504 (WebCore::RenderLayer::paintLayer): 35505 (WebCore::RenderLayer::hitTestLayer): 35506 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 35507 (WebCore::RenderLayer::isSelfPaintingLayer): 35508 * rendering/RenderLayer.h: 35509 * rendering/RenderTable.cpp: 35510 (WebCore::RenderTable::paint): 35511 (WebCore::RenderTable::paintObject): 35512 (WebCore::RenderTable::nodeAtPoint): 35513 * rendering/RenderTable.h: 35514 * rendering/RenderTableCell.cpp: 35515 (WebCore::RenderTableCell::paint): 35516 * rendering/RenderTableRow.cpp: 35517 (WebCore::RenderTableRow::nodeAtPoint): 35518 (WebCore::RenderTableRow::paint): 35519 * rendering/RenderTableRow.h: 35520 * rendering/RenderTableSection.cpp: 35521 (WebCore::RenderTableSection::paint): 35522 (WebCore::RenderTableSection::paintObject): 35523 (WebCore::RenderTableSection::nodeAtPoint): 35524 * rendering/RenderTableSection.h: 35525 * rendering/RenderTreeAsText.cpp: 35526 (WebCore::write): 35527 (WebCore::writeLayers): 35528 35529 2009-02-24 David Levin <levin (a] chromium.org> 35530 35531 Reviewed by NOBODY (build fix). 35532 35533 Attempted build fix for wx-mac. 35534 35535 * WebCoreSources.bkl: 35536 35537 2009-02-24 David Levin <levin (a] chromium.org> 35538 35539 Reviewed by NOBODY (build fix). 35540 35541 Attempted build fixes for qt-linux and wx-mac. 35542 35543 * WebCore.pro: 35544 * webcore-base.bkl: 35545 35546 2009-02-24 Ojan Vafai <ojan (a] dhcp-172-31-134-214.sfo.corp.google.com> 35547 35548 Reviewed by Sam Weinig. 35549 35550 Fix null pointer error. If the node is the Document, then ownerDocument() 35551 returns null, document() does not. 35552 35553 * editing/VisiblePosition.cpp: 35554 (WebCore::VisiblePosition::canonicalPosition): 35555 35556 2009-02-24 Jian Li <jianli (a] chromium.org> 35557 35558 Reviewed by NOBODY (attempted build fixes). 35559 35560 Fix build break for Windows and Linux. 35561 35562 * GNUmakefile.am: 35563 * WebCore.vcproj/WebCore.vcproj: 35564 35565 2009-02-24 Dimitri Glazkov <dglazkov (a] chromium.org> 35566 35567 Reviewed by Eric Seidel. 35568 35569 https://bugs.webkit.org/show_bug.cgi?id=24131 35570 Fix-up COM/RefCounted dichotomy in Chromium port. 35571 35572 * page/chromium/AccessibilityObjectWrapper.h: 35573 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): Added 35574 explicit setting of recount. 35575 35576 2009-02-24 Dimitri Glazkov <dglazkov (a] chromium.org> 35577 35578 Reviewed by Eric Seidel. 35579 35580 https://bugs.webkit.org/show_bug.cgi?id=24141 35581 Add clarity to V8 interceptor helper function. 35582 35583 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 35584 (WebCore::NAMED_PROPERTY_GETTER): Renamed to notHandledByInterceptor. 35585 (WebCore::NAMED_PROPERTY_SETTER): Ditto. 35586 (WebCore::INDEXED_PROPERTY_GETTER): Ditto. 35587 (WebCore::INDEXED_PROPERTY_SETTER): Ditto. 35588 35589 2009-02-24 Simon Fraser <simon.fraser (a] apple.com> 35590 35591 Reviewed by Eric Seidel 35592 35593 Minor numeric cleanup: convert float literals to doubles. 35594 35595 * platform/graphics/transforms/RotateTransformOperation.cpp: 35596 (WebCore::RotateTransformOperation::blend): 35597 35598 2009-02-24 Mark Mentovai <mark (a] chromium.org> 35599 35600 Reviewed by Eric Seidel. 35601 35602 https://bugs.webkit.org/show_bug.cgi?id=24139 35603 Add missing include. 35604 35605 * bindings/v8/ScriptInstance.h: 35606 35607 2009-02-24 Jian Li <jianli (a] chromium.org> 35608 35609 Reviewed by Alexey Proskuryakov. 35610 35611 Move worker related files from dom directory to worker directory under WebCore. 35612 https://bugs.webkit.org/show_bug.cgi?id=24123 35613 35614 * DerivedSources.make: 35615 * GNUmakefile.am: 35616 * WebCore.pro: 35617 * WebCore.scons: 35618 * WebCore.vcproj/MigrateIDLAndScripts: 35619 * WebCore.vcproj/WebCore.vcproj: 35620 * WebCore.xcodeproj/project.pbxproj: 35621 * platform/CrossThreadCopier.cpp: Renamed from WebCore/dom/CrossThreadCopier.cpp. 35622 * platform/CrossThreadCopier.h: Renamed from WebCore/dom/CrossThreadCopier.h. 35623 * workers/GenericWorkerTask.h: Renamed from WebCore/dom/GenericWorkerTask.h. 35624 * workers/Worker.cpp: Renamed from WebCore/dom/Worker.cpp. 35625 * workers/Worker.h: Renamed from WebCore/dom/Worker.h. 35626 * workers/Worker.idl: Renamed from WebCore/dom/Worker.idl. 35627 * workers/WorkerContext.cpp: Renamed from WebCore/dom/WorkerContext.cpp. 35628 * workers/WorkerContext.h: Renamed from WebCore/dom/WorkerContext.h. 35629 * workers/WorkerContext.idl: Renamed from WebCore/dom/WorkerContext.idl. 35630 * workers/WorkerContextProxy.h: Renamed from WebCore/dom/WorkerContextProxy.h. 35631 * workers/WorkerLocation.cpp: Renamed from WebCore/dom/WorkerLocation.cpp. 35632 * workers/WorkerLocation.h: Renamed from WebCore/dom/WorkerLocation.h. 35633 * workers/WorkerLocation.idl: Renamed from WebCore/dom/WorkerLocation.idl. 35634 * workers/WorkerMessagingProxy.cpp: Renamed from WebCore/dom/WorkerMessagingProxy.cpp. 35635 * workers/WorkerMessagingProxy.h: Renamed from WebCore/dom/WorkerMessagingProxy.h. 35636 * workers/WorkerObjectProxy.h: Renamed from WebCore/dom/WorkerObjectProxy.h. 35637 * workers/WorkerRunLoop.cpp: Renamed from WebCore/dom/WorkerRunLoop.cpp. 35638 * workers/WorkerRunLoop.h: Renamed from WebCore/dom/WorkerRunLoop.h. 35639 * workers/WorkerThread.cpp: Renamed from WebCore/dom/WorkerThread.cpp. 35640 * workers/WorkerThread.h: Renamed from WebCore/dom/WorkerThread.h. 35641 35642 2009-02-05 Ojan Vafai <ojan (a] chromium.org> and Eric Seidel <eric (a] webkit.org> 35643 35644 Reviewed by Dave Hyatt. 35645 35646 Make cursor positions match IE6/IE7/FF3 when clicking in margins/padding 35647 around divs inside editable regions. 35648 https://bugs.webkit.org/show_bug.cgi?id=23605 35649 35650 Fix clicks outside editable regions from focusing the editable region. 35651 https://bugs.webkit.org/show_bug.cgi?id=23607 35652 35653 Removed editing/selection/contenteditable-click-outside.html as it's 35654 not as useful as our new tests. 35655 35656 Clean up RenderBlock::positionForCoordinates to remove dead code, 35657 duplicate code, and generally make it more readable. 35658 35659 Tests: editing/selection/click-in-margins-inside-editable-div.html 35660 editing/selection/click-in-padding-with-multiple-line-boxes.html 35661 editing/selection/click-outside-editable-div.html 35662 35663 * editing/VisiblePosition.cpp: 35664 (WebCore::VisiblePosition::canonicalPosition): 35665 * rendering/RenderBlock.cpp: 35666 (WebCore::positionForPointRespectingEditingBoundaries): 35667 (WebCore::positionForPointWithInlineChildren): 35668 (WebCore::RenderBlock::positionForCoordinates): 35669 (WebCore::RenderBlock::updateFirstLetter): 35670 35671 2009-02-24 Sam Weinig <sam (a] webkit.org> 35672 35673 Reviewed by Geoffrey Garen. 35674 35675 Related to <rdar://problem/6590295> 35676 Allow disabling javascript: urls. 35677 35678 * WebCore.base.exp: 35679 * html/HTMLAnchorElement.cpp: 35680 (WebCore::HTMLAnchorElement::parseMappedAttribute): 35681 * loader/FrameLoader.cpp: 35682 (WebCore::FrameLoader::executeIfJavaScriptURL): 35683 * page/Page.cpp: 35684 (WebCore::Page::Page): 35685 (WebCore::Page::setJavaScriptURLsAreAllowed): 35686 (WebCore::Page::javaScriptURLsAreAllowed): 35687 * page/Page.h: 35688 35689 2009-02-24 Simon Fraser <simon.fraser (a] apple.com> 35690 35691 Fix build when ACCELERATED_COMPOSITING is turned on 35692 (overflowList() -> normalFlowList()). 35693 35694 * rendering/RenderLayerBacking.cpp: 35695 (WebCore::RenderLayerBacking::hasNonCompositingContent): 35696 (WebCore::RenderLayerBacking::paintIntoLayer): 35697 * rendering/RenderLayerCompositor.cpp: 35698 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 35699 (WebCore::RenderLayerCompositor::computeCompositingRequirements): 35700 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 35701 (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): 35702 (WebCore::RenderLayerCompositor::layerHas3DContent): 35703 35704 2009-02-24 Simon Fraser <simon.fraser (a] apple.com> 35705 35706 Reviewed by Darin Adler 35707 35708 https://bugs.webkit.org/show_bug.cgi?id=24135 35709 35710 Round the FloatPoint returned by absoluteToLocal(), rather than 35711 truncating it. 35712 35713 * dom/MouseRelatedEvent.cpp: 35714 (WebCore::MouseRelatedEvent::receivedTarget): 35715 35716 2009-02-24 Beth Dakin <bdakin (a] apple.com> 35717 35718 Reviewed by Sam Weinig. 35719 35720 Fix for https://bugs.webkit.org/show_bug.cgi?id=24004 REGRESSION: 35721 Ordered list item marker misaligned when line height is not 1.2 35722 -and corresponding <rdar://problem/6602506> 35723 35724 This is a regression from http://trac.webkit.org/changeset/40880 35725 where createInlineBox was taken off of RenderObject and moved to 35726 RenderBox. The problem was that the RenderBox version still needs 35727 to be virtual because there is still an existing implementation in 35728 RenderListMarker. 35729 35730 * rendering/RenderBox.h: 35731 * rendering/RenderListMarker.cpp: 35732 (WebCore::RenderListMarker::createInlineBox): 35733 * rendering/RenderListMarker.h: 35734 35735 2009-02-24 Dimitri Glazkov <dglazkov (a] chromium.org> 35736 35737 Reviewed by Eric Seidel. 35738 35739 https://bugs.webkit.org/show_bug.cgi?id=24128 35740 Upstream more V8 custom bindings: constructors, XSLTProcessor. 35741 35742 * bindings/v8/custom/V8DOMParserConstructor.cpp: Added. 35743 (WebCore::CALLBACK_FUNC_DECL): 35744 * bindings/v8/custom/V8MessageChannelConstructor.cpp: Added. 35745 (WebCore::CALLBACK_FUNC_DECL): 35746 * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: Added. 35747 (WebCore::CALLBACK_FUNC_DECL): 35748 * bindings/v8/custom/V8XMLSerializerConstructor.cpp: Added. 35749 (WebCore::CALLBACK_FUNC_DECL): 35750 * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp: Added. 35751 (WebCore::CALLBACK_FUNC_DECL): 35752 * bindings/v8/custom/V8XSLTProcessorCustom.cpp: Added. 35753 (WebCore::CALLBACK_FUNC_DECL): 35754 35755 2009-02-24 David Levin <levin (a] chromium.org> 35756 35757 Reviewed by Alexey Proskuryakov. 35758 35759 Bug 24090: WorkerThreadableLoader needs to be able to post tasks for a mode. 35760 <https://bugs.webkit.org/show_bug.cgi?id=24090> 35761 35762 No observable change in behavior, so no test. 35763 35764 * dom/WorkerMessagingProxy.cpp: 35765 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 35766 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext): 35767 Fixed the bug that m_unconfirmedMessageCount was getting incremented for non-message tasks. 35768 35769 (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext): 35770 35771 * dom/WorkerMessagingProxy.h: 35772 * loader/ThreadableLoader.cpp: 35773 (WebCore::ThreadableLoader::create): 35774 * loader/WorkerThreadableLoader.cpp: 35775 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 35776 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 35777 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData): 35778 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): 35779 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): 35780 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): 35781 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): 35782 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): 35783 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): 35784 Changed these methods to post task using a mode. 35785 35786 * loader/WorkerThreadableLoader.h: 35787 (WebCore::WorkerThreadableLoader::create): 35788 35789 2009-02-24 Alexey Proskuryakov <ap (a] webkit.org> 35790 35791 Reviewed by Darin Adler. 35792 35793 https://bugs.webkit.org/show_bug.cgi?id=24091 35794 <rdar://problem/6468660> Start of redirect chain ends up as master entry in Application Cache 35795 35796 Test: http/tests/appcache/access-via-redirect.php 35797 35798 * loader/appcache/ApplicationCacheGroup.cpp: 35799 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): Use the URL we ended up with, 35800 not the original one. 35801 35802 2009-02-24 Jian Li <jianli (a] chromium.org> 35803 35804 Reviewed by Alexey Proskuryakov. 35805 35806 Change to include WorkerObjectProxy.h instead of WorkerMessagingProxy.h in WorkerContext.cpp and WorkerScriptController.cpp. 35807 https://bugs.webkit.org/show_bug.cgi?id=24112 35808 35809 * bindings/js/WorkerScriptController.cpp: 35810 * dom/WorkerContext.cpp: 35811 35812 2009-02-23 Antti Koivisto <antti (a] apple.com> 35813 35814 Reviewed by Oliver Hunt. 35815 35816 <rdar://problem/6613796> Extended text codecs registered on webview creation 35817 35818 Comparing a text encoding with string "GBK" ended up constructing 35819 TextEncoding("GBK") which in turn initialized all extended 35820 text codecs. 35821 35822 * platform/text/TextCodecICU.cpp: 35823 (WebCore::TextCodecICU::decode): 35824 35825 2009-02-23 Sam Weinig <sam (a] webkit.org> 35826 35827 Fix Qt build. 35828 35829 * bridge/qt/qt_runtime.cpp: 35830 (JSC::Bindings::valueRealType): 35831 35832 2009-02-23 Julien Chaffraix <jchaffraix (a] webkit.org> 35833 35834 Reviewed by Darin Adler. 35835 35836 Bug 23956: Safari crashes when cloneNode fails (cloning a XML element with an invalid nodeName) 35837 35838 The crash occurred because Document::cloneNode would call Document::createElementNS. Unfortunately 35839 element created with createElement could have a wrong nodeName (createElement sets the string as the 35840 localName without checking for a prefix). 35841 35842 The fix is to call Document::createElement(const QualifiedName&, bool) that will not do any checks on the QualifiedName 35843 and will always succeed. 35844 Also rolled-out the HTMLElement specialisation of clonedNode as it was equivalent to what is done now (added an ASSERT 35845 to ensure that). 35846 35847 Test: fast/dom/cloneNode.html 35848 35849 * dom/Element.cpp: 35850 (WebCore::Element::cloneNode): Call createElement(const QualifiedName&, bool) instead of createElementNS as it will 35851 always return an element. 35852 35853 * html/HTMLElement.cpp: 35854 * html/HTMLElement.h: Removed HTMLElement::clonedNode as it is equivalent to what is now done. 35855 35856 2009-02-23 Dimitri Glazkov <dglazkov (a] chromium.org> 35857 35858 Reviewed by Eric Seidel. 35859 35860 https://bugs.webkit.org/show_bug.cgi?id=24109 35861 Upstream V8 Script abstractions, all except ScriptController. 35862 35863 * bindings/v8/ScriptCachedFrameData.h: Added. 35864 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 35865 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData): 35866 (WebCore::ScriptCachedFrameData::restore): 35867 (WebCore::ScriptCachedFrameData::clear): 35868 (WebCore::ScriptCachedFrameData::domWindow): 35869 * bindings/v8/ScriptCallFrame.cpp: Added. 35870 (WebCore::ScriptCallFrame::ScriptCallFrame): 35871 (WebCore::ScriptCallFrame::~ScriptCallFrame): 35872 (WebCore::ScriptCallFrame::argumentAt): 35873 * bindings/v8/ScriptCallFrame.h: Added. 35874 (WebCore::ScriptCallFrame::functionName): 35875 (WebCore::ScriptCallFrame::sourceURL): 35876 (WebCore::ScriptCallFrame::lineNumber): 35877 (WebCore::ScriptCallFrame::argumentCount): 35878 * bindings/v8/ScriptCallStack.cpp: Added. 35879 (WebCore::ScriptCallStack::ScriptCallStack): 35880 (WebCore::ScriptCallStack::~ScriptCallStack): 35881 (WebCore::ScriptCallStack::at): 35882 * bindings/v8/ScriptCallStack.h: Added. 35883 (WebCore::ScriptCallStack::size): 35884 * bindings/v8/ScriptInstance.cpp: Added. 35885 (WebCore::V8ScriptInstance::V8ScriptInstance): 35886 (WebCore::V8ScriptInstance::~V8ScriptInstance): 35887 (WebCore::V8ScriptInstance::instance): 35888 (WebCore::V8ScriptInstance::clear): 35889 (WebCore::V8ScriptInstance::set): 35890 * bindings/v8/ScriptInstance.h: Added. 35891 (WebCore::V8ScriptInstance::create): 35892 * bindings/v8/ScriptSourceCode.h: Added. 35893 (WebCore::ScriptSourceCode::ScriptSourceCode): 35894 (WebCore::ScriptSourceCode::isEmpty): 35895 (WebCore::ScriptSourceCode::source): 35896 (WebCore::ScriptSourceCode::url): 35897 (WebCore::ScriptSourceCode::startLine): 35898 * bindings/v8/ScriptState.h: Added. 35899 (WebCore::ScriptState::hadException): 35900 (WebCore::ScriptState::setException): 35901 (WebCore::ScriptState::exception): 35902 * bindings/v8/ScriptString.h: Added. 35903 (WebCore::ScriptString::ScriptString): 35904 (WebCore::ScriptString::operator String): 35905 (WebCore::ScriptString::isNull): 35906 (WebCore::ScriptString::size): 35907 (WebCore::ScriptString::operator=): 35908 (WebCore::ScriptString::operator+=): 35909 * bindings/v8/ScriptValue.cpp: Added. 35910 (WebCore::ScriptValue::getString): 35911 * bindings/v8/ScriptValue.h: Added. 35912 (WebCore::ScriptValue::ScriptValue): 35913 (WebCore::ScriptValue::operator=): 35914 (WebCore::ScriptValue::operator==): 35915 (WebCore::ScriptValue::operator!=): 35916 (WebCore::ScriptValue::isNull): 35917 (WebCore::ScriptValue::isUndefined): 35918 (WebCore::ScriptValue::clear): 35919 (WebCore::ScriptValue::~ScriptValue): 35920 (WebCore::ScriptValue::v8Value): 35921 35922 2009-02-23 Adam Treat <adam.treat (a] torchmobile.com> 35923 35924 Reviewed by Timothy Hatcher. 35925 35926 https://bugs.webkit.org/show_bug.cgi?id=24106 35927 The Qt port is crashing on exit because the tear down procedure involves 35928 the WebCore::InspectorController trying to access the JS execution context 35929 for a page that is being deleted. This patch amends the inspector so 35930 that it does not try and access the execution context of the WebCore::Page 35931 in the midst of deletion. 35932 35933 * inspector/InspectorController.cpp: 35934 (WebCore::InspectorController::inspectedPageDestroyed): 35935 (WebCore::InspectorController::stopUserInitiatedProfiling): 35936 35937 2009-02-23 David Levin <levin (a] chromium.org> 35938 35939 Reviewed by Alexey Proskuryakov. 35940 35941 Bug 24088: ThreadableLoaderClient::didFailWillSendRequestCheck isn't wired up completely for workers and could use a better name. 35942 <https://bugs.webkit.org/show_bug.cgi?id=24088> 35943 35944 No observable change in behavior, so no test. 35945 35946 * loader/DocumentThreadableLoader.cpp: 35947 (WebCore::DocumentThreadableLoader::create): 35948 * loader/ThreadableLoaderClient.h: 35949 (WebCore::ThreadableLoaderClient::didFailRedirectCheck): 35950 * loader/ThreadableLoaderClientWrapper.h: 35951 (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck): 35952 * loader/WorkerThreadableLoader.cpp: 35953 (WebCore::workerContextDidFailRedirectCheck): 35954 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck): 35955 * loader/WorkerThreadableLoader.h: 35956 * xml/XMLHttpRequest.cpp: 35957 (WebCore::XMLHttpRequest::didFinishLoading): 35958 * xml/XMLHttpRequest.h: 35959 35960 2009-02-23 David Levin <levin (a] chromium.org> 35961 35962 Reviewed by Alexey Proskuryakov. 35963 35964 Bug 24047: Need to simplify nested if's in WorkerRunLoop::runInMode 35965 <https://bugs.webkit.org/show_bug.cgi?id=24047> 35966 35967 Made a nested if inside of WorkerRunLoop::runInMode a lot simpler by 35968 using only MessageQueue::waitForMessageFilteredWithTimeout instead 35969 of three different MessageQueue methods. 35970 35971 No observable change in behavior, so no test. 35972 35973 * dom/WorkerRunLoop.cpp: 35974 (WebCore::ModePredicate::operator()): 35975 Minor clean-up to able to pass a const ref point for ModePredicate into runInMode. 35976 (WebCore::WorkerRunLoop::runInMode): 35977 * dom/WorkerRunLoop.h: 35978 35979 2009-02-23 David Hyatt <hyatt (a] apple.com> 35980 35981 In preparation for making layers for multicol objects (so that they can properly split child layers 35982 into multiple columns), rename all of the "overflowOnly" and "overflowList" members and functions 35983 of RenderLayer to use the term "normal flow" instead. 35984 35985 Reviewed by Cameron Zwarich 35986 35987 * rendering/RenderLayer.cpp: 35988 (WebCore::RenderLayer::RenderLayer): 35989 (WebCore::RenderLayer::~RenderLayer): 35990 (WebCore::RenderLayer::setHasVisibleContent): 35991 (WebCore::RenderLayer::enclosingCompositingLayer): 35992 (WebCore::RenderLayer::addChild): 35993 (WebCore::RenderLayer::removeChild): 35994 (WebCore::RenderLayer::paintLayer): 35995 (WebCore::RenderLayer::hitTestLayer): 35996 (WebCore::RenderLayer::dirtyNormalFlowList): 35997 (WebCore::RenderLayer::updateNormalFlowList): 35998 (WebCore::RenderLayer::collectLayers): 35999 (WebCore::RenderLayer::updateLayerListsIfNeeded): 36000 (WebCore::RenderLayer::shouldBeNormalFlowOnly): 36001 (WebCore::RenderLayer::styleChanged): 36002 * rendering/RenderLayer.h: 36003 (WebCore::RenderLayer::isNormalFlowOnly): 36004 (WebCore::RenderLayer::normalFlowList): 36005 * rendering/RenderTreeAsText.cpp: 36006 (WebCore::writeLayers): 36007 36008 2009-02-23 David Hyatt <hyatt (a] apple.com> 36009 36010 Fix the stacking order for column rules in multi-column layout. Column rules should paint as part of the background of an element, just 36011 after all other components of the background have been painted. This allows negative z-index children to still paint on top of the 36012 column rules (rather than ending up above the background of the box but behind the column rules). 36013 36014 Reviewed by Eric Seidel 36015 36016 Added fast/multicol/column-rules-stacking.html 36017 36018 * rendering/RenderBlock.cpp: 36019 (WebCore::RenderBlock::paintColumnRules): 36020 (WebCore::RenderBlock::paintColumnContents): 36021 (WebCore::RenderBlock::paintObject): 36022 * rendering/RenderBlock.h: 36023 36024 2009-02-23 Adam Treat <adam.treat (a] torchmobile.com> 36025 36026 Reviewed by David Hyatt. 36027 36028 No testcases have been added or modified since this patch should not result in 36029 a behavior change for ports that have layout tests enabled. 36030 36031 Currently, the implementation of GraphicsContext::drawLineForText amongst 36032 the various ports differ in that some of them are honoring the context's 36033 strokeStyle when drawing a text-decoration and some of them are not. 36034 For instance, Apple's Mac port *does not* honor the context's strokeStyle(), 36035 but the Cairo implementation does and has an explicit workaround that 36036 sets the strokeStyle() temporarily. 36037 36038 This patch fixes so that all ports are consistent by explicitly making sure 36039 to set the GraphicsContext strokeStyle to SolidStroke whenever 36040 painting the text-decoration of an InlineFlowBox or InlineTextBox as these 36041 should always use a solid stroke. 36042 36043 This patch addresses these bugs: 36044 https://bugs.webkit.org/show_bug.cgi?id=19364 36045 https://bugs.webkit.org/show_bug.cgi?id=15659 36046 36047 * rendering/InlineFlowBox.cpp: 36048 (WebCore::InlineFlowBox::paintTextDecorations): 36049 * rendering/InlineTextBox.cpp: 36050 (WebCore::InlineTextBox::paintDecoration): 36051 36052 2009-02-23 Scott Violet <sky (a] google.com> 36053 36054 Reviewed by Eric Seidel. 36055 36056 https://bugs.webkit.org/show_bug.cgi?id=24098 36057 Bugs in ClipboardChromium 36058 36059 Fixes the following bugs in ClipboardChromium: 36060 * It's possible for the extension to be empty, resulting in a bad file 36061 name, for example, 'foo.' or just '.'. 36062 * We weren't restricting the size of the file to MAX_PATH. 36063 * We weren't removing characters that are invalid for file system names. 36064 36065 * platform/chromium/ClipboardChromium.cpp: 36066 (WebCore::writeImageToDataObject): 36067 * platform/chromium/ClipboardChromium.h: 36068 * platform/chromium/ClipboardChromiumLinux.cpp: Added. 36069 (WebCore::ClipboardChromium::validateFileName): 36070 * platform/chromium/ClipboardChromiumMac.cpp: Added. 36071 (WebCore::ClipboardChromium::validateFileName): 36072 * platform/chromium/ClipboardChromiumWin.cpp: Added. 36073 (WebCore::isInvalidFileCharacter): 36074 (WebCore::ClipboardChromium::validateFileName): 36075 36076 2009-02-23 Thiago Macieira <thiago.macieira (a] nokia.com> 36077 36078 Reviewed by Simon Hausmann. 36079 36080 Fix the Copyright notices in a few files 36081 36082 * platform/qt/RenderThemeQt.h: 36083 36084 2009-02-23 Xan Lopez <xan (a] gnome.org> 36085 36086 Reviewed by Alexey Proskuryakov. 36087 36088 https://bugs.webkit.org/show_bug.cgi?id=22624 36089 [SOUP][GTK] Need API to get SoupSession from WebKit. 36090 36091 Allow to retrieve the Soup session and modify the code to take 36092 into account users changing features on it. 36093 36094 * platform/network/ResourceHandle.h: 36095 * platform/network/soup/CookieJarSoup.cpp: 36096 (WebCore::defaultCookieJar): 36097 (WebCore::setDefaultCookieJar): 36098 * platform/network/soup/CookieJarSoup.h: 36099 * platform/network/soup/ResourceHandleSoup.cpp: 36100 (WebCore::createSoupSession): 36101 (WebCore::ensureSessionIsInitialized): 36102 (WebCore::ResourceHandle::startHttp): 36103 (WebCore::ResourceHandle::cancel): 36104 (WebCore::ResourceHandle::defaultSession): 36105 36106 2009-02-23 Xan Lopez <xan (a] gnome.org> 36107 36108 Reviewed by Alexey Proskuryakov. 36109 36110 https://bugs.webkit.org/show_bug.cgi?id=22624 36111 [SOUP][GTK] Need API to get SoupSession from WebKit. 36112 36113 Remove CURL support. 36114 36115 * GNUmakefile.am: 36116 36117 2009-02-23 Alexey Proskuryakov <ap (a] webkit.org> 36118 36119 Reviewed by Mark Rowe. 36120 36121 Test: fast/dom/empty-hash-and-search.html 36122 36123 https://bugs.webkit.org/show_bug.cgi?id=21147 36124 hash property returns incorrect value for links w/o hash 36125 36126 Make hash() and search() behavior for empty and missing parts match IE and Firefox. 36127 36128 * platform/KURL.cpp: 36129 (WebCore::KURL::query): Changed to return query without '?', as it is already done for ref(). 36130 (WebCore::KURL::prettyURL): Append the query with the question mark. 36131 36132 * page/Location.cpp: 36133 (WebCore::Location::search): Return an empty string if query is empty or missing. 36134 (WebCore::Location::hash): Return an empty string for empty hashes, not only missing ones. 36135 36136 * dom/WorkerLocation.cpp: 36137 (WebCore::WorkerLocation::search): 36138 (WebCore::WorkerLocation::hash): 36139 Match document.location fixes above. 36140 36141 * html/HTMLAnchorElement.cpp: 36142 (WebCore::HTMLAnchorElement::hash): 36143 (WebCore::HTMLAnchorElement::search): 36144 Return an empty string for empty and missing parts. 36145 36146 2009-02-23 Alexey Proskuryakov <ap (a] webkit.org> 36147 36148 Reviewed by Darin Adler. 36149 36150 https://bugs.webkit.org/show_bug.cgi?id=20184 36151 SELECT with no name generates invalid query string 36152 36153 Test: fast/forms/select-no-name.html 36154 36155 * html/HTMLSelectElement.cpp: 36156 (WebCore::HTMLSelectElement::appendFormData): Added a check for empty name. 36157 36158 2009-02-23 Alexey Proskuryakov <ap (a] webkit.org> 36159 36160 Apply review comments for the previous check-in (forgot to save the file, oops). 36161 36162 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): 36163 36164 2009-02-23 Alexey Proskuryakov <ap (a] webkit.org> 36165 36166 Reviewed by Darin Adler. 36167 36168 https://bugs.webkit.org/show_bug.cgi?id=15707 36169 Crash when manipulating document from within an iframe onload function 36170 36171 Test: fast/dom/onload-open.html 36172 36173 * dom/ContainerNode.cpp: (WebCore::ContainerNode::removeChildren): Protect the container and 36174 the current node, because anything can happen when dispatching events. 36175 36176 2009-02-23 Alexey Proskuryakov <ap (a] webkit.org> 36177 36178 Reviewed by Darin Adler. 36179 36180 https://bugs.webkit.org/show_bug.cgi?id=18970 36181 Numerically named input fields cause document.forms loop problems 36182 36183 Test: fast/forms/numeric-input-name.html 36184 36185 * bindings/scripts/CodeGeneratorJS.pm: Try index getter before name getter, even if the 36186 latter overrides properties. 36187 36188 2009-02-23 Alexey Proskuryakov <ap (a] webkit.org> 36189 36190 Reviewed by Sam Weinig. 36191 36192 https://bugs.webkit.org/show_bug.cgi?id=24059 36193 Tokenizer::write() return value is never used 36194 36195 * dom/Tokenizer.h: 36196 * dom/XMLTokenizer.cpp: 36197 (WebCore::XMLTokenizer::write): 36198 * dom/XMLTokenizer.h: 36199 * html/HTMLTokenizer.cpp: 36200 (WebCore::HTMLTokenizer::write): 36201 * html/HTMLTokenizer.h: 36202 * loader/FTPDirectoryDocument.cpp: 36203 (WebCore::FTPDirectoryTokenizer::write): 36204 * loader/ImageDocument.cpp: 36205 (WebCore::ImageTokenizer::write): 36206 * loader/MediaDocument.cpp: 36207 (WebCore::MediaTokenizer::write): 36208 * loader/PluginDocument.cpp: 36209 (WebCore::PluginTokenizer::write): 36210 * loader/TextDocument.cpp: 36211 (WebCore::TextTokenizer::write): 36212 Made write() return void, not bool. 36213 36214 2009-02-20 Geoffrey Garen <ggaren (a] apple.com> 36215 36216 Reviewed by Sam Weinig. 36217 36218 Updated for JavaScriptCore changes to timeout checking. 36219 36220 * bindings/js/JSCustomPositionCallback.cpp: 36221 (WebCore::JSCustomPositionCallback::handleEvent): 36222 * bindings/js/JSCustomPositionErrorCallback.cpp: 36223 (WebCore::JSCustomPositionErrorCallback::handleEvent): 36224 * bindings/js/JSCustomSQLStatementCallback.cpp: 36225 (WebCore::JSCustomSQLStatementCallback::handleEvent): 36226 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 36227 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 36228 * bindings/js/JSCustomSQLTransactionCallback.cpp: 36229 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 36230 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 36231 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 36232 * bindings/js/JSCustomVoidCallback.cpp: 36233 (WebCore::JSCustomVoidCallback::handleEvent): 36234 * bindings/js/JSCustomXPathNSResolver.cpp: 36235 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 36236 * bindings/js/JSDOMWindowBase.cpp: 36237 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 36238 (WebCore::JSDOMWindowBase::commonJSGlobalData): 36239 * bindings/js/JSEventListener.cpp: 36240 (WebCore::JSAbstractEventListener::handleEvent): 36241 * bindings/js/ScheduledAction.cpp: 36242 (WebCore::ScheduledAction::executeFunctionInContext): 36243 * bindings/js/ScriptController.cpp: 36244 (WebCore::ScriptController::evaluate): 36245 * bindings/js/WorkerScriptController.cpp: 36246 (WebCore::WorkerScriptController::evaluate): 36247 (WebCore::WorkerScriptController::forbidExecution): 36248 * bindings/objc/WebScriptObject.mm: 36249 (-[WebScriptObject callWebScriptMethod:withArguments:]): 36250 (-[WebScriptObject evaluateWebScript:]): 36251 * bridge/NP_jsobject.cpp: 36252 (_NPN_InvokeDefault): 36253 (_NPN_Invoke): 36254 (_NPN_Evaluate): 36255 (_NPN_Construct): 36256 * bridge/jni/jni_jsobject.mm: 36257 (JavaJSObject::call): 36258 (JavaJSObject::eval): 36259 36260 2009-02-21 Hironori Bono <hbono (a] chromium.org> 36261 36262 Reviewed by Alexey Proskuryakov. 36263 36264 https://bugs.webkit.org/show_bug.cgi?id=23786 36265 [Chromium] line-break characters in a complex text are treated as zero-width spaces 36266 36267 This change prevents the UniscribeHelper class from treating the line-break characters 36268 as whitespaces. 36269 36270 Tests: fast/text/international/bidi-linebreak-001.html 36271 fast/text/international/bidi-linebreak-002.html 36272 fast/text/international/bidi-linebreak-003.html 36273 36274 * platform/graphics/chromium/UniscribeHelper.cpp: 36275 (WebCore::UniscribeHelper::adjustSpaceAdvances): 36276 Make the UniscribeHelper::adjustSpaceAdvances() function treat all characters in 36277 the treatAsSpace() function (e.g. U+0020, U+000A, U+000D, U+00A0) as whitespaces, 36278 so does when Chromium renders a simple text. 36279 36280 2009-02-20 Julien Chaffraix <jchaffraix (a] webkit.org> 36281 36282 Reviewed by Alexey Proskuryakov. 36283 36284 Bug 23940: Use Document::createElement(const QualifiedName&, bool) when creating a known element inside WebCore 36285 36286 Document::createElement(const QualifiedName&, bool) does not check for the prefix as opposed the the one taking an AtomicString 36287 or Document::createElementNS. This is perfectly fine internally because we know the type of element created and the check is 36288 unneeded. 36289 36290 It also removes the use of an ExceptionCode argument which was here only to check that the prefix check was fine. Finally it 36291 enables us to use some generated QualifiedName. 36292 36293 * bindings/js/JSOptionConstructor.cpp: 36294 (WebCore::constructHTMLOptionElement): 36295 * dom/Document.cpp: 36296 (WebCore::Document::setTitle): 36297 * dom/XMLTokenizer.cpp: 36298 (WebCore::createXHTMLParserErrorHeader): 36299 (WebCore::XMLTokenizer::insertErrorMessageBlock): 36300 * editing/CompositeEditCommand.cpp: 36301 (WebCore::createBlockPlaceholderElement): 36302 * editing/htmlediting.cpp: 36303 (WebCore::createTabSpanElement): 36304 * html/HTMLSelectElement.cpp: 36305 (WebCore::HTMLSelectElement::setLength): 36306 * loader/FTPDirectoryDocument.cpp: 36307 (WebCore::FTPDirectoryTokenizer::appendEntry): 36308 (WebCore::FTPDirectoryTokenizer::createTDForFilename): 36309 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate): 36310 (WebCore::FTPDirectoryTokenizer::createBasicDocument): 36311 * loader/ImageDocument.cpp: 36312 (WebCore::ImageDocument::createDocumentStructure): 36313 * loader/MediaDocument.cpp: 36314 (WebCore::MediaTokenizer::createDocumentStructure): 36315 * loader/PluginDocument.cpp: 36316 (WebCore::PluginTokenizer::createDocumentStructure): 36317 * loader/TextDocument.cpp: 36318 (WebCore::TextTokenizer::write): 36319 * page/Frame.cpp: 36320 (WebCore::Frame::selectionComputedStyle): 36321 (WebCore::Frame::styleForSelectionStart): 36322 Document::createElement(const AtomicString&, ...) to Document::createElement(const QualifiedName&, ...) switch. 36323 36324 * xml/XPathFunctions.cpp: 36325 (WebCore::XPath::FunLang::evaluate): Re-use langAttr instead of creating a new attribute. 36326 * page/DragController.cpp: 36327 (WebCore::documentFragmentFromDragData): Use the HTMLAnchorElement directly to get rid of the static cast. 36328 36329 2009-02-19 Dimitri Glazkov <dglazkov (a] chromium.org> 36330 36331 Reviewed by Eric Seidel. 36332 36333 https://bugs.webkit.org/show_bug.cgi?id=24060 36334 Fix up to accommodate for CanvasPixelArray return. 36335 36336 * platform/graphics/skia/ImageBufferSkia.cpp: 36337 (WebCore::ImageBuffer::getImageData): Added an extra data() to call. 36338 (WebCore::ImageBuffer::putImageData): Ditto. 36339 36340 2009-02-20 Eric Carlson <eric.carlson (a] apple.com> 36341 36342 Simon Fraser 36343 36344 https://bugs.webkit.org/show_bug.cgi?id=24042 36345 Bug 24042: MediaPlayer should cache plug-in proxy 36346 36347 The changes in https://bugs.webkit.org/show_bug.cgi?id=23917 assume that 36348 MediaPlayer will always have created the private media player object before 36349 the plug-in is instantiated and calls back with the proxy object. This is not 36350 true on all platforms because of threading latency, so MediaPlayer should 36351 cache the plug-in proxy so it can pass it to the media engine at a later time. 36352 36353 * platform/graphics/MediaPlayer.cpp: 36354 (WebCore::NullMediaPlayerPrivate::setPoster): Null media engine implementation of proxy methods. 36355 (WebCore::NullMediaPlayerPrivate::deliverNotification): Ditto. 36356 (WebCore::NullMediaPlayerPrivate::setMediaPlayerProxy): Ditto. 36357 (WebCore::MediaPlayer::MediaPlayer): Initialize m_playerProxy. 36358 (WebCore::MediaPlayer::load): Pass m_playerProxy to newly created engine. 36359 (WebCore::MediaPlayer::setMediaPlayerProxy): Cache m_playerProxy. 36360 * platform/graphics/MediaPlayer.h: Declare m_playerProxy. 36361 36362 2009-02-20 Eric Carlson <eric.carlson (a] apple.com> 36363 36364 Simon Fraser. 36365 36366 https://bugs.webkit.org/show_bug.cgi?id=24063 36367 Make it possible for a port to require a user gesture to play/pause an <audio> or <video> element 36368 36369 * html/HTMLMediaElement.cpp: 36370 (WebCore::HTMLMediaElement::HTMLMediaElement): Rename m_loadRestrictions to m_Restrictions. 36371 Initialize m_internalCall. 36372 (WebCore::HTMLMediaElement::loadTimerFired): Increment m_internalCall around call to load(). 36373 (WebCore::HTMLMediaElement::load): Call loadInternal if restrictions check out. 36374 (WebCore::HTMLMediaElement::loadInternal): New, guts of old load() 36375 (WebCore::HTMLMediaElement::setNetworkState): Fix bug introduced in r40943 36376 (WebCore::HTMLMediaElement::play): Call playInternal if restrictions check out. 36377 (WebCore::HTMLMediaElement::playInternal): New, guts of old play() 36378 (WebCore::HTMLMediaElement::pause): Call pauseInternal if restrictions check out. 36379 (WebCore::HTMLMediaElement::pauseInternal): New, guts of old pause() 36380 (WebCore::HTMLMediaElement::togglePlayState): Call playInternal/pauseInternal 36381 (WebCore::HTMLMediaElement::deliverNotification): Remove unnecessary white space. 36382 * html/HTMLMediaElement.h: Rename m_loadRestrictions to m_Restrictions, add m_internalCall, 36383 add RequireUserGestureRateChangeRestriction. 36384 36385 2009-02-20 Darin Fisher <darin (a] chromium.org> 36386 36387 Fix build bustage in FileSystemWin.cpp. 36388 36389 Need to return CString() instead of 0 since there are now two CString 36390 constructors that take a pointer type. 36391 36392 * platform/win/FileSystemWin.cpp: 36393 (WebCore::openTemporaryFile): 36394 36395 2009-02-20 Dimitri Glazkov <dglazkov (a] chromium.org> 36396 36397 Reviewed by Sam Weinig. 36398 36399 https://bugs.webkit.org/show_bug.cgi?id=23999 36400 Change license headers to accurately reflect code history. 36401 36402 * platform/ContentType.cpp: 36403 * platform/ContentType.h: 36404 36405 2009-02-18 Dimitri Glazkov <dglazkov (a] chromium.org> 36406 36407 Reviewed by Antti Koivisto. 36408 36409 https://bugs.webkit.org/show_bug.cgi?id=23999 36410 Split off MIME type parsing into its own class. 36411 36412 * GNUmakefile.am: Added ContentType sources. 36413 * WebCore.pro: Ditto. 36414 * WebCore.scons: Ditto. 36415 * WebCore.vcproj/WebCore.vcproj: Ditto. 36416 * WebCore.xcodeproj/project.pbxproj: Ditto. 36417 * WebCoreSources.bkl: Ditto. 36418 * html/HTMLMediaElement.cpp: Changed to use ContentType. 36419 (WebCore::HTMLMediaElement::selectMediaURL): 36420 * platform/ContentType.cpp: Added. 36421 (WebCore::ContentType::ContentType): 36422 (WebCore::ContentType::parameter): 36423 (WebCore::ContentType::type): 36424 * platform/ContentType.h: Added. 36425 (WebCore::ContentType::raw): 36426 * platform/MIMETypeRegistry.cpp: 36427 * platform/MIMETypeRegistry.h: 36428 * platform/graphics/MediaPlayer.cpp: 36429 (WebCore::MediaPlayer::load): 36430 * rendering/style/ContentData.h: Renamed ContentType to StyleContentType. 36431 * rendering/style/RenderStyleConstants.h: Ditto. 36432 (WebCore::): 36433 36434 2009-02-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 36435 36436 Unreviewed build fix. 36437 36438 Use CString() instead of 0. 36439 36440 * platform/gtk/FileSystemGtk.cpp: 36441 (WebCore::openTemporaryFile): 36442 * platform/qt/FileSystemQt.cpp: 36443 (WebCore::openTemporaryFile): 36444 36445 2009-02-20 Gustavo Noronha Silva <gns (a] gnome.org> 36446 36447 Reviewed by Holger Freyther. 36448 36449 When dealing with local files, use a path instead of an URI. GFile 36450 has problems decoding URIs with percent signs on them. 36451 36452 * platform/network/soup/ResourceHandleSoup.cpp: 36453 (WebCore::ResourceHandle::startGio): 36454 36455 2009-02-20 Gustavo Noronha Silva <gns (a] gnome.org> 36456 36457 Reviewed by Holger Freyther. 36458 36459 Protect the ResourceHandle instance from being destroyed by 36460 didReceiveData inside the GIO readCallback call, so that 36461 cancelling caused by scripts is handled correctly. 36462 36463 * platform/network/soup/ResourceHandleSoup.cpp: 36464 (WebCore::readCallback): 36465 36466 2009-02-20 David Kilzer <ddkilzer (a] apple.com> 36467 36468 Make IconDatabaseNone.cpp compile with -Wunused and pass check-for-exit-time-destructors 36469 36470 Reviewed by Sam Weinig. 36471 36472 * loader/icon/IconDatabaseNone.cpp: 36473 (WebCore::IconDatabase::defaultDatabaseFilename): Use DEFINE_STATIC_LOCAL(). 36474 (WebCore::IconDatabase::open): Commented out unused parameter. 36475 (WebCore::IconDatabase::setPrivateBrowsingEnabled): Ditto. 36476 (WebCore::IconDatabase::iconForPageURL): Ditto. 36477 (WebCore::IconDatabase::iconURLForPageURL): Ditto. 36478 (WebCore::IconDatabase::defaultIcon): Ditto. 36479 (WebCore::IconDatabase::retainIconForPageURL): Ditto. 36480 (WebCore::IconDatabase::releaseIconForPageURL): Ditto. 36481 (WebCore::IconDatabase::setIconDataForIconURL): Ditto. 36482 (WebCore::IconDatabase::setIconURLForPageURL): Ditto. 36483 (WebCore::IconDatabase::setEnabled): Ditto. 36484 (WebCore::IconDatabase::pageURLMappingCount): Added stub. 36485 (WebCore::IconDatabase::retainedPageURLCount): Ditto. 36486 (WebCore::IconDatabase::iconRecordCount): Ditto. 36487 (WebCore::IconDatabase::iconRecordCountWithData): Ditto. 36488 36489 2009-02-20 David Kilzer <ddkilzer (a] apple.com> 36490 36491 Add comment to generated code when shadowing a built-in object 36492 36493 Reviewed by Sam Weinig. 36494 36495 * bindings/scripts/CodeGeneratorJS.pm: Added comment to 36496 generated code output. 36497 36498 2009-02-20 Avi Drissman <avi (a] chromium.org> 36499 36500 Reviewed by Eric Seidel. 36501 36502 https://bugs.webkit.org/show_bug.cgi?id=24036 36503 Keyboard events need disambiguation on the Linux platform too. 36504 36505 * platform/chromium/PlatformKeyboardEventChromium.cpp: 36506 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 36507 36508 2009-02-19 Darin Fisher <darin (a] chromium.org> 36509 36510 Reviewed by Eric Seidel. 36511 36512 https://bugs.webkit.org/show_bug.cgi?id=24046 36513 36514 Several improvements to CString: 36515 1- Make it possible to initialize a CString from a CStringBuffer 36516 2- Make it possible to get a CStringBuffer from a CString 36517 3- Change CStringBuffer::data() to return a const pointer to ward off mutation 36518 4- Remove unused releaseBuffer() methods. 36519 5- Make CStringBuffer::create() private to force consumers to get a CStringBuffer from a CString. 36520 36521 * platform/text/CString.cpp: 36522 (WebCore::CString::init): 36523 (WebCore::CString::mutableData): 36524 (WebCore::CString::newUninitialized): 36525 (WebCore::CString::copyBufferIfNeeded): 36526 * platform/text/CString.h: 36527 (WebCore::CStringBuffer::data): 36528 (WebCore::CStringBuffer::length): 36529 (WebCore::CStringBuffer::create): 36530 (WebCore::CStringBuffer::mutableData): 36531 (WebCore::CString::CString): 36532 (WebCore::CString::buffer): 36533 36534 2009-02-19 Dmitry Titov <dimich (a] chromium.org> 36535 36536 Reviewed by Alexey Proskuryakov. 36537 36538 https://bugs.webkit.org/show_bug.cgi?id=24017 36539 Remove some usage of Document in Worker. 36540 36541 * dom/WorkerContext.h: 36542 (WebCore::WorkerContext::userAgent): 36543 * dom/Document.cpp: 36544 (WebCore::Document::userAgent): 36545 * dom/Document.h: 36546 * dom/ScriptExecutionContext.h: 36547 Added virtual ScriptExecutionContext::userAgent(const KURL&). 36548 Document implementation uses FrameLoader::userAgent and 36549 WorkerContext receives the string on creation and stores it in a member. 36550 36551 * dom/Worker.cpp: 36552 (WebCore::Worker::Worker): 36553 (WebCore::Worker::notifyFinished): 36554 * dom/Worker.h: 36555 (WebCore::Worker::create): 36556 Instead of Document the Worker constructor now gets a ScriptExecutionContext. 36557 Start using some methods on SEC (like completeURL() and userAgent()). 36558 For others, explicitly case to Document and add a FIXME. 36559 Remove Worker::document() too. 36560 36561 2009-02-20 Gustavo Noronha Silva <gns (a] gnome.org> 36562 36563 Rubber-stamped by Holger Freyther. 36564 36565 Do not set httpStatus to SOUP_STATUS_OK when serving local files 36566 to match other ports' behavior, fixing xmlhttprequest test 36567 regressions. 36568 36569 * platform/network/soup/ResourceHandleSoup.cpp: 36570 (WebCore::queryInfoCallback): 36571 36572 2009-02-19 Dan Bernstein <mitz (a] apple.com> 36573 36574 Reviewed by Sam Weinig. 36575 36576 - WebCore part of fixing https://bugs.webkit.org/show_bug.cgi?id=24027 36577 Do not send loader callbacks during CSS styling 36578 36579 Undo the iChat-specific quirk added in 36580 <http://trac.webkit.org/changeset/41071>. Instead, always suspend memory 36581 cache client callbacks during attach() and recalcStyle(). 36582 36583 * WebCore.base.exp: Removed 36584 Settings::setNeedsIChatMemoryCacheCallsQuirk(). 36585 * dom/ContainerNode.cpp: 36586 (WebCore::ContainerNode::suspendPostAttachCallbacks): Disable memory 36587 cache client callbacks and remember to enable them afterwards if needed. 36588 (WebCore::ContainerNode::resumePostAttachCallbacks): Re-enable memory 36589 cache client callbacks if they were disabled in 36590 suspendPostAttachCallbacks(). 36591 (WebCore::ContainerNode::attach): Use suspendPostAttachCallbacks() and 36592 resumePostAttachCallbacks(). 36593 * dom/ContainerNode.h: Made suspendPostAttachCallbacks() 36594 and resumePostAttachCallbacks() non-static. 36595 * dom/Document.cpp: 36596 (WebCore::Document::dispatchImageLoadEventsNow): Reverted iChat-specific 36597 workaround. 36598 * page/Settings.cpp: Removed m_needsIChatMemoryCacheCallsQuirk and 36599 related code. 36600 (WebCore::Settings::Settings): 36601 * page/Settings.h: 36602 36603 2009-02-19 Holger Hans Peter Freyther <zecke (a] selfish.org> 36604 36605 Unreviewed build fix. 36606 36607 Build fix after r41092. Make the memoryUsage method 36608 public. It will be shadowed by cf/mac and for curl/soup/qt 36609 the implementation from ResourceResponseBase will be used. 36610 36611 * platform/network/ResourceResponseBase.h: 36612 (WebCore::ResourceResponseBase::memoryUsage): 36613 36614 2009-02-19 Beth Dakin <bdakin (a] apple.com> 36615 36616 Reviewed by Dave Hyatt. 36617 36618 Fix for <rdar://problem/6077775> Should be able to specify 36619 inactive ::selection color 36620 36621 This patch makes the ::selction pseudo-element work with 36622 the :window-inactive pseudo type. This was, a user can specify a 36623 different ::selection style when a window is inactive. 36624 36625 * css/CSSStyleSelector.cpp: 36626 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 36627 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 36628 * rendering/RenderObject.cpp: 36629 (WebCore::RenderObject::selectionBackgroundColor): 36630 (WebCore::RenderObject::selectionForegroundColor): 36631 36632 2009-02-19 Sam Weinig <sam (a] webkit.org> 36633 36634 Reviewed by Beth Dakin. 36635 36636 Patch for https://bugs.webkit.org/show_bug.cgi?id=24044 36637 Update querySelector/querySelectorAll to match the latest spec 36638 36639 Update querySelector and querySelectorAll to match the latest version 36640 of the Selectors API spec. We now stringify null and undefined to "null" 36641 and "undefined" respectively instead of to "". 36642 36643 Test: fast/dom/SelectorAPI/undefined-null-stringify.html 36644 36645 * dom/Document.idl: 36646 * dom/DocumentFragment.idl: 36647 * dom/Element.idl: 36648 36649 2009-02-19 Dimitri Glazkov <dglazkov (a] chromium.org> 36650 36651 Reviewed by Geoffrey Garen. 36652 36653 https://bugs.webkit.org/show_bug.cgi?id=23732 36654 Rework CachedResource overhead accounting to allow platforms to diverge 36655 in numbers. 36656 36657 * loader/CachedResource.cpp: 36658 (WebCore::CachedResource::overheadSize): Changed to ask ResourceResponse 36659 for its size and to use actual URL size. 36660 * platform/network/ResourceResponseBase.h: 36661 (WebCore::ResourceResponseBase::size): Added default size method. 36662 * platform/network/cf/ResourceResponse.h: 36663 (WebCore::ResourceResponse::size): Added Win/CF size method 36664 * platform/network/mac/ResourceResponse.h: 36665 (WebCore::ResourceResponse::size): Added Mac size method. 36666 36667 2009-02-19 Anders Carlsson <andersca (a] apple.com> 36668 36669 Reviewed by Kevin Decker. 36670 36671 - Fix for <rdar://problem/6604968> 36672 36673 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately 36674 after the call to -[NSView displayRectIgnoringOpacity:inContext:]. 36675 36676 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 36677 (WebCore::MediaPlayerPrivate::paint): 36678 36679 2009-02-19 David Hyatt <hyatt (a] apple.com> 36680 36681 Fix a bug where reflections didn't work properly if opacity was < 1. Make sure that replaced elements 36682 also consider reflections to be part of their visual overflow. This had already been done for blocks 36683 and lines, but it wasn't being done yet for replaced elements. 36684 36685 Also make sure that when the object being reflected has opacity < 1 that we don't end up popping the outer 36686 transparency layer early. Since the reflected object paints twice, we don't want to end the transparency 36687 layer it pushed until we're done painting the real object (rather than the reflection). 36688 36689 Reviewed by Dan Bernstein 36690 36691 Added fast/reflections/reflection-masks-opacity.html 36692 36693 * rendering/RenderLayer.cpp: 36694 (WebCore::RenderLayer::paintLayer): 36695 * rendering/RenderPartObject.cpp: 36696 (WebCore::RenderPartObject::layout): 36697 * rendering/RenderReplaced.cpp: 36698 (WebCore::RenderReplaced::layout): 36699 (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): 36700 * rendering/RenderReplaced.h: 36701 36702 2009-02-19 David Levin <levin (a] chromium.org> 36703 36704 Reviewed by Alexey Proskuryakov. 36705 36706 Bug 23980: WorkerRunLoop needs a way to run in a given mode similar to CFRunLoopInMode. 36707 <https://bugs.webkit.org/show_bug.cgi?id=23980> 36708 36709 WorkerRunLoop has the ability to run in a mode which filters the tasks to be run. 36710 * When WorkerRunLoop::runInMode is called, only task for that mode will run. 36711 * When WorkerRunLoop::run is called (or the default mode is used), then all tasks 36712 will run regardless of their posted mode. 36713 36714 Here's a demonstration of the api: 36715 36716 RefPtr<NameResolution> nameResolution = NameResolution::create(workerRunLoop); 36717 36718 // Internally nameResolution will do workerRunLoop.postTaskForMode(task, "MyCoolMode") 36719 // for any tasks that need to be run during this loop. 36720 nameResolution->setTaskMode("MyCoolMode"); 36721 36722 nameResolution->start(); 36723 while (!nameResolution->done()) { 36724 // Only tasks which are posted for "MyCoolMode" will run. 36725 workerRunLoop.runInMode(context, "MyCoolMode"); 36726 } 36727 36728 No observable change in behavior, so no test. 36729 36730 * dom/WorkerRunLoop.cpp: 36731 (WebCore::ModePredicate::ModePredicate): 36732 (WebCore::ModePredicate::operator()): 36733 (WebCore::WorkerRunLoop::WorkerRunLoop): 36734 (WebCore::WorkerRunLoop::~WorkerRunLoop): 36735 (WebCore::WorkerRunLoop::setSharedTimer): 36736 (WebCore::WorkerRunLoop::resetSharedTimer): 36737 (WebCore::WorkerRunLoop::run): 36738 (WebCore::WorkerRunLoop::runInMode): 36739 (WebCore::WorkerRunLoop::postTask): 36740 (WebCore::WorkerRunLoop::postTaskForMode): 36741 * dom/WorkerRunLoop.h: 36742 (WebCore::WorkerRunLoop::Task::create): 36743 (WebCore::WorkerRunLoop::Task::mode): 36744 (WebCore::WorkerRunLoop::Task::performTask): 36745 (WebCore::WorkerRunLoop::Task::Task): 36746 36747 2009-02-19 Dimitri Glazkov <dglazkov (a] chromium.org> 36748 36749 Reviewed by Eric Seidel. 36750 36751 https://bugs.webkit.org/show_bug.cgi?id=24034 36752 Fix up Selection->VisibleSelection change. 36753 36754 * page/chromium/EventHandlerChromium.cpp: 36755 (WebCore::EventHandler::passMousePressEventToSubframe): Renamed Selection 36756 to VisibleSelection. 36757 36758 2009-02-19 Dimitri Glazkov <dglazkov (a] chromium.org> 36759 36760 Reviewed by Eric Seidel. 36761 36762 https://bugs.webkit.org/show_bug.cgi?id=24041 36763 Correct Skia type conversion issues, fix Chromium Linux build. 36764 36765 * platform/graphics/chromium/FontLinux.cpp: 36766 (WebCore::Font::drawGlyphs): changed parameters to RGBA32, not WebCore::Color. 36767 36768 2009-02-19 Jungshik Shin <jshin (a] chromium.org> 36769 36770 Reviewed by Eric Seidel. 36771 36772 https://bugs.webkit.org/show_bug.cgi?id=20531 36773 Chromium-part follow-up to the patch landed in r40636 36774 for bug 20531. 36775 Remove a static member function alternateFamilyName 36776 from Chromium's Win/Linux ports of FontCache. In r40636, 36777 alternateFamilyName was customized using #ifdef PLATFORM(WIN_OS). 36778 So, there's no more need for the static member function per 36779 platform. 36780 36781 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 36782 * platform/graphics/chromium/FontCacheLinux.cpp: 36783 36784 2009-02-19 Simon Fraser <simon.fraser (a] apple.com> 36785 36786 Reviewed by Adele Peterson. 36787 36788 Call documentWillBecomeInactive() from Document::detach to ensure that 36789 media elements are shut down, because they may be kept alive by references 36790 from JS past document teardown. 36791 36792 documentWillBecomeInactive() calls renderView()->willMoveOffscreen(), so no 36793 need to do that in detach() as well. 36794 36795 We no longer need to call documentWillBecomeInactive() from ~Page() (which 36796 was added for <https://bugs.webkit.org/show_bug.cgi?id=21116>), since this 36797 supersedes that change. 36798 36799 * dom/Document.cpp: 36800 (WebCore::Document::detach): 36801 * page/Page.cpp: 36802 (WebCore::Page::~Page): 36803 36804 2009-02-19 Dimitri Glazkov <dglazkov (a] chromium.org> 36805 36806 Reviewed by Eric Seidel. 36807 36808 https://bugs.webkit.org/show_bug.cgi?id=24028 36809 Fix up Skia path changes. 36810 36811 * platform/graphics/skia/GraphicsContextSkia.cpp: 36812 (WebCore::GraphicsContext::strokePath): Removed illegal indirection. 36813 * platform/graphics/skia/PathSkia.cpp: 36814 (WebCore::boundingBoxForCurrentStroke): Changed call name. 36815 36816 2009-02-19 Gustavo Noronha Silva <gns (a] gnome.org> 36817 36818 Reviewed by Alexey Proskuryakov. 36819 36820 Ignore ports on local URLs. This fixes a regression in 36821 fast/loader/file-URL-with-port-number.html 36822 36823 * platform/network/soup/ResourceHandleSoup.cpp: 36824 (WebCore::ResourceHandle::startGio): 36825 36826 2009-02-19 Gustavo Noronha Silva <gns (a] gnome.org> 36827 36828 Reviewed by Alexey Proskuryakov. 36829 36830 https://bugs.webkit.org/show_bug.cgi?id=24011 36831 KURL's setPort doesn't unset port if 0 is given 36832 36833 Make setPort remove port if 0 is given to it, as promised by the 36834 comment in KURL's header. 36835 36836 * platform/KURL.cpp: 36837 (WebCore::KURL::setPort): 36838 36839 2009-02-18 Dan Bernstein <mitz (a] apple.com> 36840 36841 Reviewed by Brady Eidson. 36842 36843 - WebCore part of fixing <rdar://problem/6507512> Crash in iChat at CSSStyleSelector::adjustRenderStyle 36844 36845 The crash results from re-entry into 36846 CSSMutableStyleDeclaration::setCssText, which in turn is caused by 36847 the first style change causing a cached image to load from the memory 36848 cache, causing load delegate dispatch, and iChat's delegate method 36849 calling back into WebKit. 36850 36851 The workaround is to use defer delegate callbacks for memory cache. In 36852 this case, deferring callbacks during image load event dispatch was 36853 found to be sufficient. 36854 36855 The crash is a regression. See also the discussion in 36856 <https://bugs.webkit.org/show_bug.cgi?id=22521>. 36857 36858 * WebCore.base.exp: Added 36859 Settings::setNeedsIChatMemoryCacheCallsQuirk(). 36860 * dom/Document.cpp: 36861 (WebCore::Document::dispatchImageLoadEventsNow): If the quirk is 36862 enabled, defer memory cache callbacks during image load event dispatch. 36863 * page/Settings.cpp: 36864 (WebCore::Settings::Settings): Initialize 36865 m_needsIChatMemoryCacheCallsQuirk. 36866 (WebCore::Settings::setNeedsIChatMemoryCacheCallsQuirk): Added this 36867 setter. 36868 * page/Settings.h: 36869 (WebCore::Settings::needsIChatMemoryCacheCallsQuirk): Added this getter. 36870 36871 2009-02-18 Adam Roben <aroben (a] apple.com> 36872 36873 Export WebCore::handCursor and Cursor.h 36874 36875 Reviewed by John Sullivan. 36876 36877 * WebCore.base.exp: Added WebCore::handCursor. 36878 * WebCore.xcodeproj/project.pbxproj: Made Cursor.h private. 36879 36880 2009-02-18 Ojan Vafai <ojan (a] chromium.org> 36881 36882 Reviewed by Alexey Proskuryakov. 36883 36884 https://bugs.webkit.org/show_bug.cgi?id=23992 36885 REGRESSION: crash on windows loading http://www.stickam.com/liveStreams.do 36886 36887 Unable to reduce to a layout test. 36888 36889 * page/Frame.cpp: 36890 (WebCore::Frame::contentRenderer): 36891 36892 2009-02-18 Evan Stade <estade (a] chromium.org> 36893 36894 Reviewed by Eric Seidel. 36895 36896 https://bugs.webkit.org/show_bug.cgi?id=23861 36897 Stroke font outlines on chromium linux 36898 36899 TEST=LayoutTests/svg/custom/pointer-events-text.svg 36900 36901 * platform/graphics/chromium/FontLinux.cpp: 36902 (WebCore::Font::drawGlyphs): 36903 36904 2009-02-18 Evan Stade <estade (a] chromium.org> 36905 36906 Reviewed by Eric Seidel. 36907 36908 https://bugs.webkit.org/show_bug.cgi?id=23860 36909 Resync some graphics/skia files with their chromium counterparts 36910 36911 This comes from chromium patches <http://codereview.chromium.org/17633> 36912 and <http://codereview.chromium.org/17454> 36913 36914 * platform/graphics/skia/GraphicsContextSkia.cpp: 36915 (WebCore::GraphicsContext::clipPath): 36916 (WebCore::GraphicsContext::fillPath): 36917 * platform/graphics/skia/PlatformContextSkia.cpp: 36918 (PlatformContextSkia::addPath): 36919 (PlatformContextSkia::currentPath): 36920 * platform/graphics/skia/PlatformContextSkia.h: 36921 36922 2009-02-18 Gustavo Noronha Silva <gns (a] gnome.org> 36923 36924 Unreviewed. 36925 36926 Build fix after r41060. 36927 36928 * GNUmakefile.am: 36929 36930 2009-02-18 Dimitri Glazkov <dglazkov (a] chromium.org> 36931 36932 Reviewed by Eric Seidel. 36933 36934 https://bugs.webkit.org/show_bug.cgi?id=24005 36935 Add an include to fix Chromium build. 36936 36937 * page/animation/AnimationController.cpp: Add UnusedParam.h include. 36938 36939 2009-02-18 Gustavo Noronha Silva <gns (a] gnome.org> 36940 36941 Reviewed by Holger Freyther. 36942 36943 Fix symbols.filter location, and add other missing files to the 36944 autotools build, so that make dist works. 36945 36946 * GNUmakefile.am: 36947 36948 2009-02-18 Zan Dobersek <zandobersek (a] gmail.com> 36949 36950 Rubber-stamped by Holger Hans Peter Freyther. 36951 36952 Allow POST method for local requests. 36953 36954 * platform/network/soup/ResourceHandleSoup.cpp: 36955 (WebCore::ResourceHandle::startGio): 36956 36957 2009-02-18 Gustavo Noronha Silva <gns (a] gnome.org> 36958 36959 Reviewed by Holger Hans Peter Freyther. 36960 36961 Use KURL in startGio instead of passing a string with the URL, so 36962 that we can handle removing refs and queries more elegantly. This 36963 is fixing more regressions that came from the curl->soup switch. 36964 36965 Original work by Zan Dobersek. 36966 36967 * platform/network/ResourceHandle.h: 36968 * platform/network/soup/ResourceHandleSoup.cpp: 36969 (WebCore::ResourceHandle::start): 36970 (WebCore::ResourceHandle::startGio): 36971 36972 2009-02-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 36973 36974 Reviewed by Alexey Proskuryakov. 36975 36976 Implement ResourceHandle::loadResourceSynchronously in ResourceHandleSoup.cpp 36977 36978 The implementation is needed to have synchronous loading, e.g. for 36979 JavaScript interaction. This is fixing various regressions that 36980 came from the curl->soup switch. 36981 36982 * platform/network/soup/ResourceHandleSoup.cpp: 36983 (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): 36984 (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): 36985 (WebCore::WebCoreSynchronousLoader::didReceiveResponse): 36986 (WebCore::WebCoreSynchronousLoader::didReceiveData): 36987 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 36988 (WebCore::WebCoreSynchronousLoader::didFail): 36989 (WebCore::WebCoreSynchronousLoader::run): 36990 (WebCore::ResourceHandle::loadResourceSynchronously): 36991 36992 2009-02-18 Xan Lopez <xan (a] gnome.org> 36993 36994 Reviewed by Mark Rowe. 36995 36996 https://bugs.webkit.org/show_bug.cgi?id=23989 36997 36998 Based on a patch by Bo Yang <techrazy.yang (a] gmail.com> 36999 37000 Make the cursor cache global, that's all we really need and 37001 otherwise we can miss cursor transitions in some situations (see 37002 the bug for one testcase). Also remove some now useless code. 37003 37004 * platform/Widget.h: 37005 * platform/gtk/WidgetGtk.cpp: 37006 (WebCore::Widget::Widget): 37007 (WebCore::Widget::~Widget): 37008 (WebCore::Widget::setCursor): 37009 37010 2009-02-17 Adam Roben <aroben (a] apple.com> 37011 37012 Windows build fix 37013 37014 * loader/FrameLoader.cpp: 37015 (WebCore::toPlugInElement): Don't rely on #if being processed before 37016 ASSERT. 37017 37018 2009-02-17 David Levin <levin (a] chromium.org> 37019 37020 Reviewed by Alexey Proskuryakov. 37021 37022 Bug 23977: Unnecessary timer related headers in files. 37023 <https://bugs.webkit.org/show_bug.cgi?id=23977> 37024 37025 No observable change in behavior, so no test. 37026 37027 * dom/Document.cpp: 37028 * dom/WorkerRunLoop.cpp: 37029 * dom/WorkerRunLoop.h: 37030 37031 2009-02-17 Peter Abrahamsen <rainhead (a] gmail.com> 37032 37033 Reviewed by Sam Weinig. 37034 37035 https://bugs.webkit.org/show_bug.cgi?id=23958 37036 <rdar://problem/6587815> 37037 37038 Updated XMLHttpRequest with new header names from the latest Access 37039 Control draft: http://www.w3.org/TR/access-control/ 37040 - Access-Control-Origin becomes Access-Control-Allow-Origin 37041 - Access-Control-Credentials becomes Access-Control-Allow-Credentials 37042 37043 * xml/XMLHttpRequest.cpp: 37044 (WebCore::XMLHttpRequest::accessControlCheck): 37045 37046 2009-02-17 Kevin Ollivier <kevino (a] theolliviers.com> 37047 37048 wx build fix. Add missing constructor used for empty values. 37049 37050 * platform/graphics/wx/FontPlatformData.h: 37051 (WebCore::FontPlatformData::FontPlatformData): 37052 37053 2009-02-17 Antti Koivisto <antti (a] apple.com> 37054 37055 Reviewed by Dave Kilzer. 37056 37057 <rdar://problem/6592446> dynamically updating page doesn't seem to draw when updated 37058 37059 Need update after callback. 37060 37061 * bindings/js/JSCustomPositionCallback.cpp: 37062 (WebCore::JSCustomPositionCallback::handleEvent): 37063 * bindings/js/JSCustomPositionErrorCallback.cpp: 37064 (WebCore::JSCustomPositionErrorCallback::handleEvent): 37065 37066 2009-02-17 Eric Carlson <eric.carlson (a] apple.com> 37067 37068 Reviewed by Antti Koivisto. 37069 37070 https://bugs.webkit.org/show_bug.cgi?id=23917 37071 Allow a WebKit plug-in to act as a proxy for the <audio> and <video> 37072 element. 37073 37074 * DerivedSources.make: add media element proxy exports to .exp file when feature is defined. 37075 37076 * WebCore.VideoProxy.exp: New, define the informal protocol exported by a media element proxy. 37077 37078 * WebCore.xcodeproj/project.pbxproj: Add MediaPlayerProxy.h. 37079 37080 * html/HTMLMediaElement.cpp: 37081 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_needWidgetUpdate. 37082 (WebCore::HTMLMediaElement::attributeChanged): Don't detach+attach when PLUGIN_PROXY_FOR_VIDEO, the 37083 proxy plug-in handles the poster frame. 37084 (WebCore::HTMLMediaElement::rendererIsNeeded): New logic for PLUGIN_PROXY_FOR_VIDEO. 37085 (WebCore::HTMLMediaElement::createRenderer): Create RenderPartObject when PLUGIN_PROXY_FOR_VIDEO. 37086 (WebCore::HTMLMediaElement::attach): Set m_needWidgetUpdate when PLUGIN_PROXY_FOR_VIDEO 37087 (WebCore::HTMLMediaElement::load): Don't reallocate MediaPlayer when PLUGIN_PROXY_FOR_VIDEO, we keep the 37088 same plug-in for the life of the element. 37089 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): update m_networkState when media player 37090 network state changes to EMPTY, otherwise we can get out of sync with engine. 37091 (WebCore::HTMLMediaElement::defaultEventHandler): pass event to widget when PLUGIN_PROXY_FOR_VIDEO 37092 (WebCore::HTMLMediaElement::deliverNotification): New, deliver notification from proxy plug-in to 37093 media player. 37094 (WebCore::HTMLMediaElement::setMediaPlayerProxy): New, pass proxy object to media player. 37095 (WebCore::HTMLMediaElement::initialURL): New, return the url from the "src" attr or the appropriate 37096 <source> element to be used as the initial url for the proxy. 37097 (WebCore::HTMLMediaElement::finishParsingChildren): New, allocate MediaPlayer and update widget. 37098 * html/HTMLMediaElement.h: Declare new methods for proxy, add m_needWidgetUpdate. 37099 (WebCore::HTMLMediaElement::setNeedWidgetUpdate): 37100 37101 * html/HTMLVideoElement.cpp: 37102 (WebCore::HTMLVideoElement::attach): Poster image is handled by proxy when PLUGIN_PROXY_FOR_VIDEO. 37103 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto. 37104 * html/HTMLVideoElement.h: 37105 37106 * loader/FrameLoader.cpp: 37107 (WebCore::toPlugInElement): Allow cast if element is <video> or <audio> 37108 37109 * platform/graphics/MediaPlayer.cpp: 37110 (WebCore::MediaPlayer::MediaPlayer): Remove white space. 37111 (WebCore::MediaPlayer::setPoster): New, forward call to private player. 37112 (WebCore::MediaPlayer::deliverNotification): Ditto. 37113 (WebCore::MediaPlayer::setMediaPlayerProxy): Ditto. 37114 * platform/graphics/MediaPlayer.h: 37115 (WebCore::MediaPlayer::mediaPlayerClient): 37116 37117 * platform/graphics/mac/MediaPlayerProxy.h: New, defines media player proxy interface. 37118 37119 * rendering/RenderPart.cpp: 37120 (WebCore::RenderPart::RenderPart): Change constructor to take Element* instead of Node* as a 37121 non-element node doesn't need a renderer 37122 * rendering/RenderPart.h: Ditto. 37123 37124 * rendering/RenderPartObject.cpp: 37125 (WebCore::RenderPartObject::RenderPartObject): Ditto. 37126 (WebCore::RenderPartObject::updateWidget): Package params for proxy plug-in when element is 37127 <video> or <audio>. 37128 * rendering/RenderPartObject.h: 37129 37130 2009-02-17 David Hyatt <hyatt (a] apple.com> 37131 37132 Reviewed by Eric Seidel 37133 37134 Fix for https://bugs.webkit.org/show_bug.cgi?id=23985 37135 37136 Don't allow legends to be anything but display:block. 37137 37138 Added fast/forms/inline-ignored-on-legend.html 37139 37140 * GNUmakefile.am: 37141 * WebCore.pro: 37142 * WebCore.vcproj/WebCore.vcproj: 37143 * WebCore.xcodeproj/project.pbxproj: 37144 * WebCoreSources.bkl: 37145 * css/html4.css: 37146 * html/HTMLLegendElement.cpp: 37147 * html/HTMLLegendElement.h: 37148 * rendering/RenderLegend.cpp: Removed. 37149 * rendering/RenderLegend.h: Removed. 37150 * wml/WMLInsertedLegendElement.cpp: 37151 * wml/WMLInsertedLegendElement.h: 37152 37153 2009-02-13 Brett Wilson <brettw (a] dhcp-172-22-71-167.mtv.corp.google.com> 37154 37155 Reviewed by Simon Fraser. 37156 37157 https://bugs.webkit.org/attachment.cgi?id=27666 37158 Fix Chromium build build: forgotten include in RenderObject, sync 37159 RenderTheme to the recent changes in RenderObject. 37160 37161 * rendering/RenderObject.cpp: 37162 * rendering/RenderThemeChromiumMac.mm: 37163 (WebCore::RenderThemeChromiumMac::updatePressedState): 37164 37165 2009-02-17 Gustavo Noronha Silva <gns (a] gnome.org> 37166 37167 Reviewed by Darin Adler. 37168 37169 https://bugs.webkit.org/show_bug.cgi?id=22966 37170 crash when destroying a webview that opened a page containing <script> 37171 tags 37172 37173 Fix m_group being set to 0 instead of to m_singlePageGroup when 37174 GroupName is set to empty 37175 37176 * page/Page.cpp: 37177 (WebCore::Page::setGroupName): 37178 37179 2009-02-16 Beth Dakin <bdakin (a] apple.com> 37180 37181 Reviewed by Sam Weinig. 37182 37183 Fix for <rdar://problem/6386623> 37184 37185 I made m_numParsedProperties and m_maxParsedProperties unsigned 37186 instead of int, and then added an early return from addPropery() if 37187 m_maxParsedProperties exceeds the max value. 37188 37189 * css/CSSParser.cpp: 37190 (WebCore::CSSParser::addProperty): 37191 (WebCore::CSSParser::rollbackLastProperties): 37192 (WebCore::CSSParser::clearProperties): 37193 (WebCore::CSSParser::createFontFaceRule): 37194 (WebCore::CSSParser::deleteFontFaceOnlyValues): 37195 * css/CSSParser.h: 37196 37197 2009-02-16 Justin Garcia <justin.garcia (a] apple.com> 37198 37199 Reviewed by Mark Rowe. 37200 37201 https://bugs.webkit.org/show_bug.cgi?id=16309 37202 HTML5: The third execCommand argument for insert{un}orderedlist should be ignored 37203 37204 When we originally implemented this command, MSDN documentation said that IE set the 37205 id attribute of inserted lists to the third argument to execCommand, but IE doesn't 37206 do this nor do any other browsers. 37207 37208 * editing/EditorCommand.cpp: 37209 (WebCore::executeInsertOrderedList): 37210 (WebCore::executeInsertUnorderedList): 37211 * editing/IndentOutdentCommand.cpp: 37212 (WebCore::IndentOutdentCommand::outdentParagraph): 37213 * editing/InsertListCommand.cpp: 37214 (WebCore::InsertListCommand::insertList): 37215 (WebCore::InsertListCommand::InsertListCommand): 37216 (WebCore::InsertListCommand::doApply): 37217 * editing/InsertListCommand.h: 37218 (WebCore::InsertListCommand::create): 37219 37220 2009-02-16 Dan Bernstein <mitz (a] apple.com> 37221 37222 Reviewed by Geoffrey Garen. 37223 37224 - fix <rdar://problem/6561077> REGRESSION (r39634): Unable to select an item in stocks widget with the mouse 37225 37226 Test: platform/mac/fast/events/pointer-events-dashboard.html 37227 37228 * css/CSSStyleSelector.cpp: 37229 (WebCore::CSSStyleSelector::applyProperty): Do not apply the 37230 pointer-events property in Dashboard backwards compatibility mode, 37231 in order to work around misuse of that property by the Stocks widget. 37232 37233 2009-02-16 Justin Garcia <justin.garcia (a] apple.com> 37234 37235 Reviewed by Eric Seidel. 37236 37237 https://bugs.webkit.org/show_bug.cgi?id=15381 37238 execCommand justify modifies the contentEditable node 37239 37240 * editing/CompositeEditCommand.cpp: 37241 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Avoid modifying not just 37242 the body element, but any root editable element. 37243 37244 2009-02-16 Chris Fleizach <cfleizach (a] apple.com> 37245 37246 Reviewed by Adele Peterson. 37247 37248 Bug 23979: AX: alt tag not returned for <input type="image"> 37249 https://bugs.webkit.org/show_bug.cgi?id=23979 37250 37251 Test: accessibility/input-image-alt.html 37252 37253 * page/AccessibilityRenderObject.cpp: 37254 (WebCore::AccessibilityRenderObject::accessibilityDescription): 37255 37256 2009-02-16 Kevin Watters <kevinwatters (a] gmail.com> 37257 37258 Reviewed by Kevin Ollivier. 37259 37260 The ref data is not properly set unless we use the CreateMatrix function. 37261 37262 https://bugs.webkit.org/show_bug.cgi?id=23978 37263 37264 * platform/graphics/wx/TransformationMatrixWx.cpp: 37265 (WebCore::TransformationMatrix::operator wxGraphicsMatrix): 37266 37267 2009-02-16 Dan Bernstein <mitz (a] apple.com> 37268 37269 Reviewed by John Sullivan. 37270 37271 - fix <rdar://problem/6516829> FontPlatformData constructor passes NULL to CTFontCopyGraphicsFont and CTFontGetPlatformFont 37272 37273 * platform/graphics/FontCache.cpp: 37274 (WebCore::FontDataCacheKeyTraits::emptyValue): Changed to use the 37275 FontPlatformData(float, bool, bool) constructor. 37276 * platform/graphics/mac/FontCacheMac.mm: 37277 (WebCore::FontCache::createFontPlatformData): Changed to pass a valid 37278 NSFont to the FontPlatformData constructor, instead of implicitly 37279 passing 0 and then calling setFont(). 37280 * platform/graphics/mac/FontPlatformData.h: Made the NSFont parameter 37281 of the constructor mandatory. 37282 37283 2009-02-15 David Kilzer <ddkilzer (a] apple.com> 37284 37285 Move duplicate caretWidth constants to RenderObject.h 37286 37287 Reviewed by Dan Bernstein. 37288 37289 No test since no change in behavior. 37290 37291 * rendering/RenderBlock.cpp: 37292 (WebCore::RenderBlock::localCaretRect): Removed caretWidth. 37293 * rendering/RenderBox.cpp: 37294 (WebCore::RenderBox::localCaretRect): Ditto. 37295 * rendering/RenderObject.h: Added caretWidth definition. 37296 * rendering/RenderText.cpp: 37297 (WebCore::RenderText::localCaretRect): Removed caretWidth. 37298 37299 2009-02-13 Dimitri Glazkov <dglazkov (a] chromium.org> 37300 37301 Reviewed by Eric Seidel. 37302 37303 https://bugs.webkit.org/show_bug.cgi?id=23955 37304 V8HTMLPlugInCustom returns undefined, which fools interceptors. 37305 37306 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: 37307 (WebCore::NAMED_PROPERTY_GETTER): Use deferToInterceptor() return value. 37308 (WebCore::NAMED_PROPERTY_SETTER): Ditto. 37309 (WebCore::INDEXED_PROPERTY_GETTER): Ditto. 37310 (WebCore::INDEXED_PROPERTY_SETTER): Ditto. 37311 37312 2009-02-13 Dimitri Glazkov <dglazkov (a] chromium.org> 37313 37314 Reviewed by Eric Seidel. 37315 37316 https://bugs.webkit.org/show_bug.cgi?id=23954 37317 Add V8 custom bindings for CanvasRenderingContext2D. 37318 37319 * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: Added. 37320 (WebCore::toV8): 37321 (WebCore::toCanvasStyle): 37322 (WebCore::ACCESSOR_GETTER): 37323 (WebCore::ACCESSOR_SETTER): 37324 37325 2009-02-13 Anders Carlsson <andersca (a] apple.com> 37326 37327 Reviewed by Darin Adler and Dan Bernstein. 37328 37329 <rdar://problem/6583187> 37330 37331 * page/NavigatorBase.cpp: 37332 Handle PPC64 and X86_64 as well. 37333 37334 2009-02-13 Darin Adler <darin (a] apple.com> 37335 37336 Reviewed by Mark Rowe. 37337 37338 Fix broken tokenizer regression test that reflected a lifetime bug 37339 in the document.write optimization. The test failure was trivial to 37340 reproduce in COLLECT_ON_EVERY_ALLOCATION mode. 37341 37342 * bindings/js/JSHTMLDocumentCustom.cpp: 37343 (WebCore::documentWrite): Convert strings to String rather than passing 37344 the pointer and length to SegmentedString. The optimization is thus 37345 mostly gone. However, there are two ways to bring it back: 1) Apply 37346 the patch that makes UString and String share the same buffers. 37347 2) Add a UString feature to SegmentedString; simple to do but might 37348 risk slowing down normal document parsing. 37349 37350 2009-02-13 Adam Treat <adam.treat (a] torchmobile.com> 37351 37352 Caught by Darin Adler. 37353 37354 No reason to check m_tokenizer twice for 0 in a row. 37355 37356 * dom/Document.cpp: 37357 (WebCore::Document::write): 37358 37359 2009-02-13 Lyon Chen <lyon.chen (a] torchmobile.com> 37360 37361 Reviewed by Dave Hyatt. 37362 37363 Take into account y() + height() when calculating getLowerRightCorner. 37364 37365 * dom/ContainerNode.cpp: 37366 (WebCore::ContainerNode::getLowerRightCorner): 37367 37368 2009-02-13 Antti Koivisto <antti (a] apple.com> 37369 37370 Reviewed by Dave Hyatt. 37371 37372 Most of this code was in RenderBox, restore the copyright lines. 37373 37374 * rendering/RenderBoxModelObject.cpp: 37375 * rendering/RenderBoxModelObject.h: 37376 37377 2009-02-13 David Hyatt <hyatt (a] apple.com> 37378 37379 Get rid of printBoxDecorations, since it is dead code. 37380 37381 Reviewed by Dan Bernstein 37382 37383 * rendering/RenderObject.h: 37384 37385 2009-02-13 Adam Treat <adam.treat (a] torchmobile.com> 37386 37387 Reviewed by Darin Adler. 37388 37389 https://bugs.webkit.org/show_bug.cgi?id=23952 37390 Add Document::write overload which takes a SegmentedString since this 37391 is what the tokenizer expects anyway. Modified JSHTMLDocument so it once 37392 again calls Document::write instead of injecting the string directly into 37393 the tokenizer. This ensures that all document.write's are funneled through 37394 one method again, but should still be just as fast for JSHTMLDocumentCustom. 37395 37396 * bindings/js/JSHTMLDocumentCustom.cpp: 37397 (WebCore::documentWrite): 37398 * dom/Document.cpp: 37399 (WebCore::Document::write): 37400 * dom/Document.h: 37401 37402 2009-02-13 David Hyatt <hyatt (a] apple.com> 37403 37404 Reviewed by Simon Fraser 37405 37406 Remove updateWidgetPosition on RenderObject. Change RenderView's set of widgets 37407 to have a tighter type: RenderWidget instead of RenderObject. Devirtualize 37408 updateWidgetPosition, since all RenderWidgets (except for applets) are now 37409 RenderParts also. 37410 37411 * rendering/RenderObject.cpp: 37412 * rendering/RenderObject.h: 37413 * rendering/RenderPart.cpp: 37414 * rendering/RenderPart.h: 37415 * rendering/RenderView.cpp: 37416 (WebCore::RenderView::updateWidgetPositions): 37417 (WebCore::RenderView::addWidget): 37418 (WebCore::RenderView::removeWidget): 37419 * rendering/RenderView.h: 37420 * rendering/RenderWidget.cpp: 37421 (WebCore::RenderWidget::updateWidgetPosition): 37422 * rendering/RenderWidget.h: 37423 37424 2009-02-13 David Hyatt <hyatt (a] apple.com> 37425 37426 Reviewed by Eric Seidel 37427 37428 Remove isEditable() on RenderObject. It is dead code. 37429 37430 * rendering/RenderObject.cpp: 37431 * rendering/RenderObject.h: 37432 37433 2009-02-13 David Hyatt <hyatt (a] apple.com> 37434 37435 Reviewed by Eric Seidel 37436 37437 Add isTextControl() to RenderObject. Patch call sites thats asked isTextField() || isTextArea() to just use 37438 isTextControl() instead. 37439 37440 Add a toRenderTextControl converter for doing checked casting to RenderTextControls. 37441 37442 * dom/Document.cpp: 37443 (WebCore::Document::setFocusedNode): 37444 * dom/InputElement.cpp: 37445 (WebCore::InputElement::updateSelectionRange): 37446 * editing/ReplaceSelectionCommand.cpp: 37447 (WebCore::ReplacementFragment::ReplacementFragment): 37448 * editing/TextIterator.cpp: 37449 (WebCore::TextIterator::handleReplacedElement): 37450 * html/HTMLInputElement.cpp: 37451 (WebCore::HTMLInputElement::selectionStart): 37452 (WebCore::HTMLInputElement::selectionEnd): 37453 (WebCore::HTMLInputElement::setSelectionStart): 37454 (WebCore::HTMLInputElement::setSelectionEnd): 37455 (WebCore::HTMLInputElement::select): 37456 (WebCore::HTMLInputElement::defaultEventHandler): 37457 (WebCore::HTMLInputElement::selection): 37458 * html/HTMLTextAreaElement.cpp: 37459 (WebCore::HTMLTextAreaElement::selectionStart): 37460 (WebCore::HTMLTextAreaElement::selectionEnd): 37461 (WebCore::HTMLTextAreaElement::setSelectionStart): 37462 (WebCore::HTMLTextAreaElement::setSelectionEnd): 37463 (WebCore::HTMLTextAreaElement::select): 37464 (WebCore::HTMLTextAreaElement::setSelectionRange): 37465 (WebCore::HTMLTextAreaElement::appendFormData): 37466 (WebCore::HTMLTextAreaElement::updateValue): 37467 (WebCore::HTMLTextAreaElement::selection): 37468 * page/AccessibilityRenderObject.cpp: 37469 (WebCore::AccessibilityRenderObject::isNativeTextControl): 37470 (WebCore::AccessibilityRenderObject::text): 37471 (WebCore::AccessibilityRenderObject::selectedText): 37472 (WebCore::AccessibilityRenderObject::selectedTextRange): 37473 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 37474 (WebCore::AccessibilityRenderObject::visiblePositionForIndex): 37475 (WebCore::AccessibilityRenderObject::indexForVisiblePosition): 37476 (WebCore::AccessibilityRenderObject::observableObject): 37477 * page/Frame.cpp: 37478 (WebCore::Frame::notifyRendererOfSelectionChange): 37479 * rendering/RenderObject.h: 37480 (WebCore::RenderObject::isTextControl): 37481 (WebCore::objectIsRelayoutBoundary): 37482 * rendering/RenderTextControl.h: 37483 (WebCore::RenderTextControl::isTextControl): 37484 (WebCore::toRenderTextControl): 37485 * rendering/TextControlInnerElements.cpp: 37486 (WebCore::TextControlInnerTextElement::defaultEventHandler): 37487 * wml/WMLInputElement.cpp: 37488 (WebCore::WMLInputElement::select): 37489 (WebCore::WMLInputElement::defaultEventHandler): 37490 (WebCore::WMLInputElement::isConformedToInputMask): 37491 37492 2009-02-13 David Hyatt <hyatt (a] apple.com> 37493 37494 Get rid of isEdited/setEdited on RenderObject. Devirtualize isEdited/setEdited on RenderTextControl. 37495 Callers were already asking if the renderer was a text field (or a text area), so it was especially 37496 pointless to waste a second virtual function call after making one just to determine the object type. 37497 37498 Reviewed by Simon Fraser 37499 37500 * dom/Document.cpp: 37501 (WebCore::Document::setFocusedNode): 37502 * html/HTMLInputElement.cpp: 37503 (WebCore::HTMLInputElement::defaultEventHandler): 37504 * rendering/RenderObject.h: 37505 * rendering/RenderTextControl.h: 37506 (WebCore::RenderTextControl::isEdited): 37507 (WebCore::RenderTextControl::setEdited): 37508 37509 2009-02-13 Scott Violet <sky (a] google.com> 37510 37511 Reviewed by Eric Seidel. 37512 37513 https://bugs.webkit.org/show_bug.cgi?id=23934 37514 Skia platform doesn't render text decoration shadows. 37515 37516 Makes Skia render text decoration shadows correctly. We weren't 37517 preparing the SkPaint correctly and didn't have a couple of checks 37518 CG has. Additionally makes the fillColor/strokeColor methods 37519 consistent. 37520 37521 This behavior is covered by existing layout tests (see bug for list). 37522 37523 * platform/graphics/chromium/FontChromiumWin.cpp: 37524 (WebCore::Font::drawGlyphs): 37525 (WebCore::Font::drawComplexText): 37526 * platform/graphics/skia/GraphicsContextSkia.cpp: 37527 (WebCore::GraphicsContext::drawLineForText): 37528 * platform/graphics/skia/PlatformContextSkia.cpp: 37529 (PlatformContextSkia::effectiveFillColor): 37530 (PlatformContextSkia::effectiveStrokeColor): 37531 * platform/graphics/skia/PlatformContextSkia.h: 37532 37533 2009-02-12 Darin Fisher <darin (a] chromium.org> 37534 37535 Reviewed by Eric Seidel. 37536 37537 https://bugs.webkit.org/show_bug.cgi?id=23944 37538 KURLGoogle's pre-parsed canonicalSpec constructor should take a CString 37539 37540 * platform/KURL.h: 37541 * platform/KURLGoogle.cpp: 37542 (WebCore::KURLGooglePrivate::setUtf8): 37543 (WebCore::KURLGooglePrivate::setAscii): 37544 (WebCore::KURLGooglePrivate::init): 37545 (WebCore::KURLGooglePrivate::replaceComponents): 37546 (WebCore::KURL::KURL): 37547 * platform/KURLGooglePrivate.h: 37548 37549 2009-02-13 David Hyatt <hyatt (a] apple.com> 37550 37551 Remove leftmost/rightmost/lowestPosition from RenderObject. They only need to be called on boxes. 37552 37553 Reviewed by Dan Bernstein 37554 37555 * rendering/RenderBlock.cpp: 37556 (WebCore::RenderBlock::lowestPosition): 37557 (WebCore::RenderBlock::rightmostPosition): 37558 (WebCore::RenderBlock::leftmostPosition): 37559 * rendering/RenderLayer.cpp: 37560 (WebCore::RenderLayer::computeScrollDimensions): 37561 * rendering/RenderMedia.cpp: 37562 (WebCore::RenderMedia::lowestPosition): 37563 (WebCore::RenderMedia::rightmostPosition): 37564 (WebCore::RenderMedia::leftmostPosition): 37565 * rendering/RenderObject.h: 37566 * rendering/RenderTableSection.cpp: 37567 (WebCore::RenderTableSection::lowestPosition): 37568 (WebCore::RenderTableSection::rightmostPosition): 37569 (WebCore::RenderTableSection::leftmostPosition): 37570 37571 2009-02-12 Simon Fraser <simon.fraser (a] apple.com> 37572 37573 Fix build with ACCELERATED_COMPOSITING turned on. 37574 37575 toRenderBox()->x() asserts for a layer on an inline; use 37576 m_owningLayer->renderBoxX() instead. 37577 37578 * rendering/RenderLayerBacking.cpp: 37579 (WebCore::RenderLayerBacking::paintIntoLayer): 37580 37581 2009-02-12 Darin Adler <darin (a] apple.com> 37582 37583 Reviewed by Oliver Hunt. 37584 37585 Speed up document.write a bit. 37586 37587 * bindings/js/JSHTMLDocumentCustom.cpp: 37588 (WebCore::documentWrite): Added. Uses SegmentedString to avoid conversion from 37589 UString to String and to avoid appending strings. Also added code to handle 37590 newlines efficiently. 37591 (WebCore::JSHTMLDocument::write): Changed to use documentWrite. 37592 (WebCore::JSHTMLDocument::writeln): Ditto. 37593 37594 * dom/Document.cpp: 37595 (WebCore::Document::prepareToWrite): Added. Refactored the initialization part 37596 of write into a separate function for use in the JavaScript binding. 37597 (WebCore::Document::write): Changed to call prepareToWrite. 37598 37599 * dom/Document.h: Added declaration for prepareToWrite. 37600 37601 2009-02-13 Prasanth Ullattil <pullatti (a] trolltech.com> 37602 37603 Reviewed by Simon Hausmann. 37604 37605 Fixes crash in the Qt port on Windows with comboboxes 37606 37607 The focusWidget in the input context is not reset properly. 37608 The QApplication::setFocusWidget() wont reset the IC if the reason is 37609 PopupFocusReason, this is not ideal. For the time being we are going 37610 to do this from webkit itself. 37611 37612 * platform/qt/QWebPopup.cpp: 37613 (WebCore::QWebPopup::hidePopup): 37614 37615 2009-02-12 Kevin Ollivier <kevino (a] theolliviers.com> 37616 37617 wx build fix, typo while tweaking last patch for commit. 37618 37619 * platform/wx/wxcode/gtk/fontprops.cpp: 37620 (GetTextExtent): 37621 37622 2009-02-12 miggilin <mr.diggilin (a] gmail.com> 37623 37624 Reviewed by Kevin Ollivier. 37625 37626 Use Cairo/PANGO to fix text measurements and implement proper 37627 non-kerned text drawing on wxGTK. 37628 37629 https://bugs.webkit.org/show_bug.cgi?id=17727 37630 37631 * platform/graphics/GlyphBuffer.h: 37632 * platform/graphics/wx/FontPlatformDataWx.cpp: 37633 (WebCore::fontWeightToWxFontWeight): 37634 * platform/graphics/wx/SimpleFontDataWx.cpp: 37635 (WebCore::SimpleFontData::platformWidthForGlyph): 37636 * platform/wx/wxcode/fontprops.h: 37637 * platform/wx/wxcode/gtk/fontprops.cpp: 37638 (wxFontProperties::wxFontProperties): 37639 (GetTextExtent): 37640 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: 37641 (WebCore::pangoFontMap): 37642 (WebCore::createPangoFontForFont): 37643 (WebCore::createScaledFontForFont): 37644 (WebCore::pango_font_get_glyph): 37645 (WebCore::drawTextWithSpacing): 37646 * platform/wx/wxcode/non-kerned-drawing.h: 37647 37648 2009-02-12 Chris Marrin <cmarrin (a] apple.com> 37649 37650 Reviewed by Simon Fraser 37651 37652 https://bugs.webkit.org/show_bug.cgi?id=23942 37653 37654 Hook up 3D CSS transforms to the accelerated compositor backend. 37655 Not enabled by default. 37656 37657 * page/animation/AnimationBase.cpp: 37658 (WebCore::blendFunc): 37659 (WebCore::ensurePropertyMap): 37660 * page/animation/CompositeAnimation.cpp: 37661 (WebCore::CompositeAnimationPrivate::updateTransitions): 37662 * page/animation/ImplicitAnimation.cpp: 37663 (WebCore::ImplicitAnimation::willNeedService): 37664 * page/animation/KeyframeAnimation.cpp: 37665 (WebCore::KeyframeAnimation::willNeedService): 37666 * platform/graphics/GraphicsLayer.cpp: 37667 (WebCore::GraphicsLayer::TransformValueList::makeFunctionList): 37668 (WebCore::GraphicsLayer::dumpProperties): 37669 * platform/graphics/mac/GraphicsLayerCA.mm: 37670 (WebCore::copyTransform): 37671 (WebCore::getValueFunctionNameForTransformOperation): 37672 (WebCore::GraphicsLayerCA::animateTransform): 37673 * rendering/RenderBox.cpp: 37674 (WebCore::RenderBox::updateBoxModelInfoFromStyle): 37675 * rendering/RenderLayer.cpp: 37676 (WebCore::RenderLayer::updateTransform): 37677 (WebCore::RenderLayer::hasTransformStyle3D): 37678 (WebCore::RenderLayer::hasPerspective): 37679 (WebCore::RenderLayer::perspectiveTransform): 37680 * rendering/RenderLayer.h: 37681 * rendering/RenderLayerBacking.cpp: 37682 (WebCore::RenderLayerBacking::updateGraphicsLayers): 37683 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 37684 (WebCore::RenderLayerBacking::computeTransformOrigin): 37685 (WebCore::RenderLayerBacking::computePerspectiveOrigin): 37686 * rendering/RenderLayerBacking.h: 37687 * rendering/RenderLayerCompositor.cpp: 37688 (WebCore::RenderLayerCompositor::has3DContent): 37689 (WebCore::requiresCompositingLayerForTransform): 37690 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 37691 (WebCore::RenderLayerCompositor::layerHas3DContent): 37692 * rendering/RenderLayerCompositor.h: 37693 37694 2009-02-12 David Hyatt <hyatt (a] apple.com> 37695 37696 Reviewed by Eric Seidel 37697 37698 Get rid of containingBlockHeight(), since it had only one implementation (despite being virtual) and just returned 37699 containingBlock()->availableHeight(). The latter reads better anyway. Rename containingBlockWidth() to 37700 containingBlockWidthForContent() and move it to RenderBoxModelObject. 37701 37702 * rendering/RenderBlock.cpp: 37703 (WebCore::RenderBlock::localCaretRect): 37704 * rendering/RenderBox.cpp: 37705 (WebCore::RenderBox::containingBlockWidthForContent): 37706 (WebCore::RenderBox::calcWidth): 37707 (WebCore::RenderBox::calcReplacedWidthUsing): 37708 * rendering/RenderBox.h: 37709 * rendering/RenderBoxModelObject.cpp: 37710 (WebCore::RenderBoxModelObject::relativePositionOffsetX): 37711 (WebCore::RenderBoxModelObject::relativePositionOffsetY): 37712 (WebCore::RenderBoxModelObject::containingBlockWidthForContent): 37713 * rendering/RenderBoxModelObject.h: 37714 * rendering/RenderInline.cpp: 37715 (WebCore::RenderInline::marginLeft): 37716 (WebCore::RenderInline::marginRight): 37717 * rendering/RenderObject.cpp: 37718 * rendering/RenderObject.h: 37719 * rendering/RenderSVGContainer.cpp: 37720 (WebCore::RenderSVGContainer::calcReplacedWidth): 37721 37722 2009-02-12 Simon Fraser <simon.fraser (a] apple.com> 37723 37724 Fix non-Mac builds by adding Matrix3DTransformOperation.* and 37725 PerspectiveTransformOperation.*. Cleaned out some cruft in 37726 the WebCore.vcproj fle. 37727 37728 * GNUmakefile.am: 37729 * WebCore.pro: 37730 * WebCore.scons: 37731 * WebCore.vcproj/WebCore.vcproj: 37732 37733 2009-02-12 David Smith <catfish.man (a] gmail.com> 37734 37735 Reviewed by Dave Hyatt. 37736 37737 Fix https://bugs.webkit.org/show_bug.cgi?id=23935 37738 Nested :not() and non-simple selectors in :not() should be invalid 37739 37740 * css/CSSGrammar.y: Reject nested :not() 37741 * css/CSSStyleSelector.cpp: 37742 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ASSERT() rather than checking, since the parser enforces it now 37743 37744 2009-02-12 Kevin Ollivier <kevino (a] theolliviers.com> 37745 37746 wx build fixes. 37747 37748 * WebCoreSources.bkl: 37749 37750 2009-02-12 Simon Fraser <simon.fraser (a] apple.com> 37751 37752 Fix build with ACCELERATED_COMPOSITING turned on. 37753 37754 Need to cast toRenderBox() in order to call overflowClipRect(). 37755 37756 * rendering/RenderLayerBacking.cpp: 37757 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 37758 37759 2009-02-12 Oliver Hunt <oliver (a] apple.com> 37760 37761 Reviewed by NOBODY (Build fix). 37762 37763 Fix windows build. 37764 37765 * css/CSSParser.h: 37766 37767 2009-02-12 David Hyatt <hyatt (a] apple.com> 37768 37769 Rename getOverflowClipRect and getClipRect to overflowClipRect and clipRect. Move them to RenderBox, since these methods 37770 only apply to boxes. Devirtualize clipRect, since it was not subclassed. Move controlClip stuff to RenderBox also. 37771 37772 Reviewed by Simon Fraser 37773 37774 * editing/Editor.cpp: 37775 (WebCore::Editor::insideVisibleArea): 37776 * rendering/RenderBox.cpp: 37777 (WebCore::RenderBox::overflowClipRect): 37778 (WebCore::RenderBox::clipRect): 37779 * rendering/RenderBox.h: 37780 (WebCore::RenderBox::hasControlClip): 37781 (WebCore::RenderBox::controlClipRect): 37782 * rendering/RenderForeignObject.cpp: 37783 (WebCore::RenderForeignObject::paint): 37784 * rendering/RenderLayer.cpp: 37785 (WebCore::RenderLayer::calculateClipRects): 37786 (WebCore::RenderLayer::calculateRects): 37787 * rendering/RenderLayerBacking.cpp: 37788 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 37789 * rendering/RenderObject.h: 37790 (WebCore::RenderObject::hasClip): 37791 (WebCore::RenderObject::hasOverflowClip): 37792 * rendering/RenderTable.cpp: 37793 (WebCore::RenderTable::overflowClipRect): 37794 * rendering/RenderTable.h: 37795 37796 2009-02-12 Simon Fraser <simon.fraser (a] apple.com> 37797 37798 Fix build with ACCELERATED_COMPOSITING turned on (simple copy/paste error) 37799 37800 * platform/graphics/mac/GraphicsLayerCA.mm: 37801 (WebCore::GraphicsLayerCA::setBasicAnimation): 37802 37803 2009-02-12 Julien Chaffraix <jchaffraix (a] webkit.org> 37804 37805 Not reviewed. 37806 37807 Release build fix when VIDEO is disabled (it should also 37808 help the builds with WORKERS or XSLT disabled). 37809 37810 * bindings/js/JSDOMWindowBase.cpp: 37811 (jsDOMWindowBaseAudio): Added an UNUSED_PARAM for exec and slot when 37812 VIDEO is disabled. 37813 (jsDOMWindowBaseWorker): Ditto for WORKERS. 37814 (jsDOMWindowBaseXSLTProcessor): Ditto for XSLT. 37815 37816 2009-02-12 Eric Carlson <eric.carlson (a] apple.com> 37817 37818 Reviewed by Simon Fraser. 37819 37820 https://bugs.webkit.org/show_bug.cgi?id=23923 37821 Implement mediaPlayerVolumeChanged so a media engine can report autonomous volume changes. 37822 Supporting this requires that we know when we are processing a media engine callback so 37823 we don't turn around and tell the media player to change the volume when it is reporting 37824 a volume change. 37825 37826 * html/HTMLMediaElement.cpp: 37827 (WebCore::HTMLMediaElement::HTMLMediaElement): initialize m_processingMediaPlayerCallback 37828 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): call begin/endProcessingMediaPlayerCallback 37829 (WebCore::HTMLMediaElement::setNetworkState): logic split out of mediaPlayerNetworkStateChanged 37830 to make it easier to maintain m_processingMediaPlayerCallback. 37831 (WebCore::HTMLMediaElement::mediaPlayerReadyStateChanged): call begin/endProcessingMediaPlayerCallback 37832 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Ditto. 37833 (WebCore::HTMLMediaElement::mediaPlayerRepaint): Ditto. 37834 (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): New 37835 (WebCore::HTMLMediaElement::updateVolume): Don't change media engine volume if we are processing 37836 a callback from the engine. 37837 * html/HTMLMediaElement.h: 37838 (WebCore::HTMLMediaElement::processingMediaPlayerCallback): New, return true if (m_processingMediaPlayerCallback>0) 37839 (WebCore::HTMLMediaElement::beginProcessingMediaPlayerCallback): New, increment m_processingMediaPlayerCallback 37840 (WebCore::HTMLMediaElement::endProcessingMediaPlayerCallback): New, decrement m_processingMediaPlayerCallback 37841 37842 2009-02-12 Eric Carlson <eric.carlson (a] apple.com> 37843 37844 Reviewed by Simon Fraser. 37845 37846 Support MPEG content on Mac and Windows. 37847 <rdar://problem/5917509> 37848 https://bugs.webkit.org/show_bug.cgi?id=23495 37849 37850 Test: media/audio-mpeg-supported.html 37851 37852 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 37853 (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): 37854 37855 * platform/graphics/win/QTMovieWin.cpp: 37856 (QTMovieWin::disableUnsupportedTracks): 37857 37858 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: fix typo added in r40925 37859 37860 2009-02-12 David Hyatt <hyatt (a] apple.com> 37861 37862 Reviewed by Sam Weinig 37863 37864 Move containsFloats, hasOverhangingFloats, shrinkToAvoidFloats and avoidsFloats down to 37865 RenderBox, since these methods only apply to boxes. 37866 37867 * rendering/RenderBlock.cpp: 37868 (WebCore::RenderBlock::collapseMargins): 37869 (WebCore::RenderBlock::clearFloatsIfNeeded): 37870 (WebCore::RenderBlock::layoutBlockChildren): 37871 (WebCore::RenderBlock::clearFloats): 37872 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 37873 (WebCore::RenderBlock::calcBlockPrefWidths): 37874 * rendering/RenderBlock.h: 37875 (WebCore::RenderBlock::containsFloats): 37876 (WebCore::RenderBlock::hasOverhangingFloats): 37877 * rendering/RenderBox.cpp: 37878 (WebCore::RenderBox::shrinkToAvoidFloats): 37879 (WebCore::RenderBox::avoidsFloats): 37880 * rendering/RenderBox.h: 37881 * rendering/RenderObject.cpp: 37882 * rendering/RenderObject.h: 37883 (WebCore::RenderObject::isFloatingOrPositioned): 37884 * rendering/RenderView.h: 37885 37886 2009-02-12 Chris Marrin <cmarrin (a] apple.com> 37887 37888 Reviewed by Dave Hyatt 37889 37890 https://bugs.webkit.org/show_bug.cgi?id=23908 37891 37892 Added parsing of 3d transform functions and properties 37893 (perspective, perspective-origin, transform-style-3d, 37894 and backface-visibility). 37895 37896 Test: transforms/3d/cssmatrix-3d-interface.xhtml 37897 37898 * css/CSSComputedStyleDeclaration.cpp: 37899 (WebCore::): 37900 (WebCore::computedTransform): 37901 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 37902 * css/CSSMutableStyleDeclaration.cpp: 37903 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 37904 * css/CSSParser.cpp: 37905 (WebCore::CSSParser::parseValue): 37906 (WebCore::CSSParser::parseFillProperty): 37907 (WebCore::CSSParser::parseTransformOriginShorthand): 37908 (WebCore::TransformOperationInfo::TransformOperationInfo): 37909 (WebCore::CSSParser::parseTransform): 37910 (WebCore::CSSParser::parseTransformOrigin): 37911 (WebCore::CSSParser::parsePerspectiveOrigin): 37912 * css/CSSParser.h: 37913 * css/CSSPrimitiveValue.h: 37914 (WebCore::CSSPrimitiveValue::isUnitTypeLength): 37915 * css/CSSPropertyNames.in: 37916 * css/CSSStyleSelector.cpp: 37917 (WebCore::CSSStyleSelector::adjustRenderStyle): 37918 (WebCore::convertToLength): 37919 (WebCore::CSSStyleSelector::applyProperty): 37920 (WebCore::CSSStyleSelector::mapFillSize): 37921 (WebCore::CSSStyleSelector::mapFillXPosition): 37922 (WebCore::CSSStyleSelector::mapFillYPosition): 37923 (WebCore::getTransformOperationType): 37924 (WebCore::CSSStyleSelector::createTransformOperations): 37925 * css/CSSValueKeywords.in: 37926 * css/WebKitCSSTransformValue.cpp: 37927 (WebCore::WebKitCSSTransformValue::cssText): 37928 * css/WebKitCSSTransformValue.h: 37929 (WebCore::WebKitCSSTransformValue::): 37930 * css/WebKitCSSTransformValue.idl: 37931 * platform/graphics/transforms/Matrix3DTransformOperation.cpp: 37932 * platform/graphics/transforms/Matrix3DTransformOperation.h: 37933 * platform/graphics/transforms/PerspectiveTransformOperation.cpp: 37934 * platform/graphics/transforms/PerspectiveTransformOperation.h: 37935 * platform/graphics/transforms/RotateTransformOperation.cpp: 37936 (WebCore::RotateTransformOperation::blend): 37937 * platform/graphics/transforms/RotateTransformOperation.h: 37938 (WebCore::RotateTransformOperation::RotateTransformOperation): 37939 * platform/graphics/transforms/ScaleTransformOperation.h: 37940 (WebCore::ScaleTransformOperation::ScaleTransformOperation): 37941 * platform/graphics/transforms/TransformOperation.h: 37942 (WebCore::TransformOperation::is3DOperation): 37943 * platform/graphics/transforms/TransformOperations.h: 37944 (WebCore::TransformOperations::has3DOperation): 37945 * platform/graphics/transforms/TranslateTransformOperation.h: 37946 (WebCore::TranslateTransformOperation::TranslateTransformOperation): 37947 37948 2009-02-12 Kevin Ollivier <kevino (a] theolliviers.com> 37949 37950 wx build fix. 37951 37952 * webcore-base.bkl: 37953 37954 2009-02-12 Brady Eidson <beidson (a] apple.com> 37955 37956 Reviewed by Darin Adler 37957 37958 Fix potential ref-count or null-deref problems with C++ objects as Obj-C members. 37959 37960 * platform/mac/SharedBufferMac.mm: Change to use RefPtr<> instead of ref()/deref(). 37961 (-[WebCoreSharedBufferData dealloc]): 37962 (-[WebCoreSharedBufferData finalize]): 37963 (-[WebCoreSharedBufferData initWithSharedBuffer:]): 37964 37965 2009-02-12 David Hyatt <hyatt (a] apple.com> 37966 37967 Remove calcWidth from RenderObject. Nobody ever called it on RenderObjects. 37968 37969 Reviewed by Sam Weinig 37970 37971 * rendering/RenderObject.h: 37972 37973 2009-02-12 David Hyatt <hyatt (a] apple.com> 37974 37975 Reviewed by Mark Rowe 37976 37977 Fix for regression where form controls would paint yellow highlights. The containsComposition check needs to 37978 null check node() now. 37979 37980 * rendering/InlineTextBox.cpp: 37981 (WebCore::InlineTextBox::paint): 37982 37983 2009-02-12 Simon Fraser <simon.fraser (a] apple.com> 37984 37985 Build fix 37986 37987 Change Animation::setDirection() to take the new enum value, and fix 37988 the single caller. 37989 37990 Fix build error in MediaPlayerPrivateQTKit.h. 37991 37992 * css/CSSStyleSelector.cpp: 37993 (WebCore::CSSStyleSelector::mapAnimationDirection): 37994 * platform/animation/Animation.h: 37995 (WebCore::Animation::setDirection): 37996 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 37997 37998 2009-02-12 David Hyatt <hyatt (a] apple.com> 37999 38000 Reviewed by Simon Fraser 38001 38002 Remove the overrideSize methods from RenderObject. Devirtualize all of the accessors on RenderBox. 38003 38004 * rendering/RenderBox.h: 38005 * rendering/RenderObject.h: 38006 38007 2009-02-12 Eric Carlson <eric.carlson (a] apple.com> 38008 38009 Darin Adler, Antti Koivisto, Holger Hans Peter Freyther 38010 38011 Bug 23797: A platform should be able to use more than one media engine for <video> and <audio> 38012 https://bugs.webkit.org/show_bug.cgi?id=23797 38013 38014 * WebCore.xcodeproj/project.pbxproj: add MediaPlayerPrivate.h 38015 38016 * html/HTMLMediaElement.cpp: 38017 (WebCore::HTMLMediaElement::load): selectMediaURL now also returns a MIME type, pass it to 38018 MediaPlayer::load so it can choose the right media engine 38019 (WebCore::HTMLMediaElement::selectMediaURL): renamed from pickMedia. use MIMETypeRegistry 38020 functions to strip params from the url and extract the codecs parameter. call 38021 MediaPlayer::supportsType to see if we can open the file since only a media engine can 38022 answer questions about supported type+codecs. 38023 * html/HTMLMediaElement.h: 38024 38025 * platform/MIMETypeRegistry.cpp: 38026 (WebCore::MIMETypeRegistry::getParameterFromMIMEType): New, find and return a MIME type parameter 38027 (WebCore::MIMETypeRegistry::stripParametersFromMIMEType): New, strip all parameters from a MIME type 38028 * platform/MIMETypeRegistry.h: 38029 38030 * platform/graphics/MediaPlayer.cpp: 38031 (WebCore::NullMediaPlayerPrivate::NullMediaPlayerPrivate): 38032 (WebCore::NullMediaPlayerPrivate::load): 38033 (WebCore::NullMediaPlayerPrivate::cancelLoad): 38034 (WebCore::NullMediaPlayerPrivate::play): 38035 (WebCore::NullMediaPlayerPrivate::pause): 38036 (WebCore::NullMediaPlayerPrivate::naturalSize): 38037 (WebCore::NullMediaPlayerPrivate::hasVideo): 38038 (WebCore::NullMediaPlayerPrivate::setVisible): 38039 (WebCore::NullMediaPlayerPrivate::duration): 38040 (WebCore::NullMediaPlayerPrivate::currentTime): 38041 (WebCore::NullMediaPlayerPrivate::seek): 38042 (WebCore::NullMediaPlayerPrivate::seeking): 38043 (WebCore::NullMediaPlayerPrivate::setEndTime): 38044 (WebCore::NullMediaPlayerPrivate::setRate): 38045 (WebCore::NullMediaPlayerPrivate::paused): 38046 (WebCore::NullMediaPlayerPrivate::setVolume): 38047 (WebCore::NullMediaPlayerPrivate::networkState): 38048 (WebCore::NullMediaPlayerPrivate::readyState): 38049 (WebCore::NullMediaPlayerPrivate::maxTimeSeekable): 38050 (WebCore::NullMediaPlayerPrivate::maxTimeBuffered): 38051 (WebCore::NullMediaPlayerPrivate::dataRate): 38052 (WebCore::NullMediaPlayerPrivate::totalBytesKnown): 38053 (WebCore::NullMediaPlayerPrivate::totalBytes): 38054 (WebCore::NullMediaPlayerPrivate::bytesLoaded): 38055 (WebCore::NullMediaPlayerPrivate::setRect): 38056 (WebCore::NullMediaPlayerPrivate::paint): 38057 (WebCore::createNullMediaPlayer): 38058 Do nothing media player so MediaPlayer doesn't have to NULL check before calling current engine. 38059 38060 (WebCore::MediaPlayerFactory::MediaPlayerFactory): New, factory constructor. 38061 (WebCore::installedMediaEngines): New, returns vector of all installed engines. 38062 (WebCore::addMediaEngine): New, add a media engine to the cache. 38063 (WebCore::chooseBestEngineForTypeAndCodecs): New, return an engine that might support a MIME type. 38064 (WebCore::MediaPlayer::MediaPlayer): create NULL media player so we have a default. Initialize m_currentMediaEngine. 38065 (WebCore::MediaPlayer::~MediaPlayer): don't need to delete m_private, it is now an OwnPtr. 38066 (WebCore::MediaPlayer::load): Take MIME type as well as url, since we need it to find the right 38067 media engine. If no MIME type is provided, try to devine one from the url. Choose a media engine 38068 based on the MIME type and codecs parameter. 38069 (WebCore::MediaPlayer::currentTime): Remove excess white space. 38070 (WebCore::MediaPlayer::supportsType): Take codecs param as well as MIME type. Return enum so we can 38071 indicate "maybe" condition. 38072 (WebCore::MediaPlayer::getSupportedTypes): Build up list of MIME types by consulting all engines. 38073 (WebCore::MediaPlayer::isAvailable): return true if any media engine is installed. 38074 38075 * platform/graphics/MediaPlayer.h: 38076 (WebCore::MediaPlayer::): 38077 (WebCore::MediaPlayer::frameView): accessor function. 38078 38079 * platform/graphics/MediaPlayerPrivate.h: New, declares abstract interface for media engines. 38080 (WebCore::MediaPlayerPrivateInterface::~MediaPlayerPrivateInterface): 38081 (WebCore::MediaPlayerPrivateInterface::totalBytesKnown): 38082 38083 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Add support for engine factory 38084 38085 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 38086 (WebCore::MediaPlayerPrivate::create): New, media engine factory function 38087 (WebCore::MediaPlayerPrivate::registerMediaEngine): Register engine with MediaPlayer factory 38088 (WebCore::MediaPlayerPrivate::load): URL is a const String. 38089 (WebCore::MediaPlayerPrivate::duration): Declare const. 38090 (WebCore::MediaPlayerPrivate::naturalSize): Ditto. 38091 (WebCore::MediaPlayerPrivate::hasVideo): Ditto. 38092 (WebCore::MediaPlayerPrivate::networkState): Ditto. 38093 (WebCore::MediaPlayerPrivate::readyState): Ditto. 38094 (WebCore::MediaPlayerPrivate::maxTimeBuffered): Ditto. 38095 (WebCore::MediaPlayerPrivate::maxTimeSeekable): Ditto. 38096 (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto. 38097 (WebCore::MediaPlayerPrivate::bytesLoaded): Ditto. 38098 (WebCore::MediaPlayerPrivate::totalBytesKnown): Ditto. 38099 (WebCore::MediaPlayerPrivate::totalBytes): Ditto. 38100 (WebCore::MediaPlayerPrivate::supportsType): Return MediaPlayer::SupportsType enum instead of bool. 38101 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 38102 (WebCore::MediaPlayerPrivate::isAvailable): 38103 38104 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 38105 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 38106 (WebCore::MediaPlayerPrivateQTKit::create): New, media engine factory function 38107 (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register engine with MediaPlayer factory 38108 (WebCore::MediaPlayerPrivate::createQTMovieView): don't access MediaPlayer->m_frameView directly, 38109 use accessor function. 38110 (WebCore::MediaPlayerPrivate::setUpVideoRendering): Ditto. 38111 (WebCore::MediaPlayerPrivate::paint): Ditto. 38112 (WebCore::mimeTypeCache): New. 38113 (WebCore::MediaPlayerPrivate::getSupportedTypes): New, media engine factory function. 38114 (WebCore::MediaPlayerPrivate::supportsType): return MediaPlayer::SupportsType enum instead of bool 38115 (-[WebCoreMovieObserver initWithCallback:]): fix formatting 38116 38117 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 38118 (WebCore::MediaPlayerPrivate::create): 38119 (WebCore::MediaPlayerPrivate::registerMediaEngine): 38120 (WebCore::MediaPlayerPrivate::supportsType): 38121 (WebCore::MediaPlayerPrivate::load): URL is a const String. 38122 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 38123 (WebCore::MediaPlayerPrivate::isAvailable): 38124 38125 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 38126 (WebCore::MediaPlayerPrivate::create): New, media engine factory function 38127 (WebCore::MediaPlayerPrivate::registerMediaEngine): New, register engine with MediaPlayer factory 38128 (WebCore::MediaPlayerPrivate::load): URL is a const String. 38129 (WebCore::MediaPlayerPrivate::paint): don't access MediaPlayer->m_frameView directly, 38130 use accessor function. 38131 (WebCore::mimeTypeCache): New. 38132 (WebCore::MediaPlayerPrivateQTWin::getSupportedTypes): New, media engine factory function. 38133 (WebCore::MediaPlayerPrivateQTWin::supportsType): return MediaPlayer::SupportsType enum instead of bool 38134 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h: 38135 38136 2009-02-12 Julien Chaffraix <jchaffraix (a] webkit.org> 38137 38138 Reviewed by Darin Adler. 38139 38140 Test: fast/dom/prefixed-image-tag.xhtml 38141 38142 Bug 23915: Remove setPrefix work-around in Document::createElement(QualifiedName, bool) 38143 38144 Instead we now directly propage the QualifiedName inside the generated Factory. 38145 38146 Test: fast/dom/prefixed-image-tag.xhtml 38147 38148 * dom/Document.cpp: 38149 (WebCore::Document::createElement): Removed the setPrefix work-around 38150 and replaced it with an ASSERT to catch mistakes inside the Factory code. 38151 Remove the unneeded ExceptionCode argument. 38152 38153 (WebCore::Document::createElementNS): Removed ExceptionCode argument. 38154 * dom/Document.h: Updated the signature. 38155 * dom/XMLTokenizerLibxml2.cpp: 38156 (WebCore::XMLTokenizer::startElementNs): Removed ExceptionCode argument. 38157 * dom/XMLTokenizerQt.cpp: Ditto. 38158 (WebCore::XMLTokenizer::parseStartElement): Ditto. 38159 38160 * dom/make_names.pl: Implemented the QualifiedName propogation logic 38161 in the Factory. 38162 38163 2009-02-12 Simon Fraser <simon.fraser (a] apple.com> 38164 38165 Reviewed by Dave Hyatt 38166 38167 https://bugs.webkit.org/show_bug.cgi?id=23188 38168 38169 Define enum values for Animation::direction(), and one for 38170 IterationCountInfinite to make the code more self-documenting. 38171 38172 Order the member vars of Animation to optimize packing. 38173 38174 * css/CSSComputedStyleDeclaration.cpp: 38175 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 38176 * platform/animation/Animation.cpp: 38177 (WebCore::Animation::Animation): 38178 (WebCore::Animation::operator=): 38179 (WebCore::Animation::animationsMatch): 38180 * platform/animation/Animation.h: 38181 (WebCore::Animation::): 38182 (WebCore::Animation::direction): 38183 (WebCore::Animation::initialAnimationDirection): 38184 * platform/graphics/mac/GraphicsLayerCA.mm: 38185 (WebCore::GraphicsLayerCA::setBasicAnimation): 38186 (WebCore::GraphicsLayerCA::setKeyframeAnimation): 38187 38188 2009-02-12 Christian Dywan <christian (a] twotoasts.de> 38189 38190 Reviewed by Holger Freyther. 38191 38192 * platform/network/soup/ResourceHandleSoup.cpp: 38193 (WebCore::ResourceHandle::startHttp): Don't use O_CLOEXEC for now. 38194 38195 2009-02-12 Julien Chaffraix <jchaffraix (a] webkit.org> 38196 38197 Reviewed by Darin Adler. 38198 38199 Bug 23826: Potential bug with before/after rule while moving element from one document to another 38200 38201 Moved the document before/after toggle from the constructor to insertedIntoDocument. 38202 38203 Test: fast/css-generated-content/beforeAfter-interdocument.html 38204 38205 * html/HTMLQuoteElement.cpp: 38206 (WebCore::HTMLQuoteElement::HTMLQuoteElement): 38207 (WebCore::HTMLQuoteElement::insertedIntoDocument): 38208 * html/HTMLQuoteElement.h: 38209 38210 2009-02-12 David Hyatt <hyatt (a] apple.com> 38211 38212 Reviewed by Simon Fraser 38213 38214 Fix for https://bugs.webkit.org/show_bug.cgi?id=23912 38215 38216 I have no idea why this broke. As far as I can tell the old code never should have worked in 38217 the first place. Add code to handleWheelEvent that will find an enclosing renderer for a node 38218 in order to attempt a wheel scroll. 38219 38220 * page/EventHandler.cpp: 38221 (WebCore::EventHandler::handleWheelEvent): 38222 38223 2009-02-12 David Hyatt <hyatt (a] apple.com> 38224 38225 Move the functions that paint borders, box shadows and border images into RenderBoxModelObject. drawBorder and drawBorderArc, because they are used 38226 for outlines as well as borders, need to stay in RenderObject. Rename them to drawLineForBoxSide and drawArcForBoxSide in order to reflect their 38227 more generic use. Rename the BorderSide struct to BoxSide, since the concept of "side" is just a rectangle concept and not a border concept. 38228 38229 Reviewed by Simon Fraser 38230 38231 * rendering/InlineFlowBox.cpp: 38232 (WebCore::InlineFlowBox::paintFillLayer): 38233 (WebCore::InlineFlowBox::paintBoxShadow): 38234 (WebCore::InlineFlowBox::paintBoxDecorations): 38235 (WebCore::InlineFlowBox::paintMask): 38236 * rendering/RenderBlock.cpp: 38237 (WebCore::RenderBlock::paintColumns): 38238 * rendering/RenderBoxModelObject.cpp: 38239 (WebCore::RenderBoxModelObject::paintNinePieceImage): 38240 (WebCore::RenderBoxModelObject::paintBorder): 38241 (WebCore::RenderBoxModelObject::paintBoxShadow): 38242 * rendering/RenderBoxModelObject.h: 38243 * rendering/RenderFieldset.cpp: 38244 (WebCore::RenderFieldset::paintBorderMinusLegend): 38245 * rendering/RenderInline.cpp: 38246 (WebCore::RenderInline::paintOutlineForLine): 38247 * rendering/RenderObject.cpp: 38248 (WebCore::RenderObject::drawLineForBoxSide): 38249 (WebCore::RenderObject::drawArcForBoxSide): 38250 (WebCore::RenderObject::paintOutline): 38251 * rendering/RenderObject.h: 38252 (WebCore::): 38253 (WebCore::RenderObject::hasBoxDecorations): 38254 * rendering/RenderTableCell.cpp: 38255 (WebCore::CollapsedBorders::addBorder): 38256 (WebCore::RenderTableCell::paintCollapsedBorder): 38257 38258 2009-02-12 Eric Carlson <eric.carlson (a] apple.com> 38259 38260 Reviewed by Simon Fraser 38261 38262 Bug 18322: video element should have ui when scripting is disabled 38263 https://bugs.webkit.org/show_bug.cgi?id=18322 38264 38265 * html/HTMLMediaElement.cpp: 38266 (WebCore::HTMLMediaElement::controls): always return 'true' when JavaScript is disabled. 38267 * manual-tests/media-controls-when-javascript-disabled.html: Added. 38268 38269 2009-02-12 Dimitri Glazkov <dglazkov (a] chromium.org> 38270 38271 Reviewed by Eric Seidel. 38272 38273 https://bugs.webkit.org/show_bug.cgi?id=23906 38274 Add custom V8 bindings for HTMLPlugInElement. 38275 38276 * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: Added. 38277 (WebCore::NAMED_PROPERTY_GETTER): 38278 (WebCore::NAMED_PROPERTY_SETTER): 38279 (WebCore::CALLBACK_FUNC_DECL): 38280 (WebCore::INDEXED_PROPERTY_GETTER): 38281 (WebCore::INDEXED_PROPERTY_SETTER): 38282 38283 2009-02-12 Gustavo Noronha Silva <gns (a] gnome.org> 38284 38285 Reviewed by Mark Rowe. 38286 38287 [GTK] Soup backend must handle upload of multiple files 38288 https://bugs.webkit.org/show_bug.cgi?id=18343 38289 38290 * platform/network/soup/ResourceHandleSoup.cpp: 38291 (WebCore::): 38292 (WebCore::freeFileMapping): 38293 (WebCore::ResourceHandle::startHttp): Support multipart request bodies 38294 mmap'ing files to be uploaded. 38295 38296 2009-02-12 Adam Treat <adam.treat (a] torchmobile.com> 38297 38298 Fix the Qt build following r40871 which changed RenderObject::element() 38299 into RenderObject::node(). 38300 38301 * platform/qt/RenderThemeQt.cpp: 38302 (WebCore::RenderThemeQt::getMediaElementFromRenderObject): 38303 (WebCore::RenderThemeQt::getMediaControlForegroundColor): 38304 38305 2009-02-12 Alexey Proskuryakov <ap (a] webkit.org> 38306 38307 Build fix. 38308 38309 * platform/graphics/transforms/RotateTransformOperation.cpp: Include <algorithm>. 38310 38311 2009-02-12 Jian Li <jianli (a] chromium.org> 38312 38313 Reviewed by Alexey Proskuryakov. 38314 38315 Change worker code to use different proxy class pointers. 38316 https://bugs.webkit.org/show_bug.cgi?id=23859 38317 38318 This is a step towards using separate proxies in multi-process implementation. 38319 38320 * bindings/js/WorkerScriptController.cpp: 38321 (WebCore::WorkerScriptController::evaluate): 38322 * dom/Worker.cpp: 38323 (WebCore::Worker::Worker): 38324 (WebCore::Worker::~Worker): 38325 (WebCore::Worker::postMessage): 38326 (WebCore::Worker::terminate): 38327 (WebCore::Worker::hasPendingActivity): 38328 (WebCore::Worker::notifyFinished): 38329 (WebCore::Worker::dispatchMessage): 38330 * dom/Worker.h: 38331 * dom/WorkerContext.cpp: 38332 (WebCore::WorkerContext::~WorkerContext): 38333 (WebCore::WorkerContext::reportException): 38334 (WebCore::WorkerContext::addMessage): 38335 (WebCore::WorkerContext::postMessage): 38336 (WebCore::WorkerContext::dispatchMessage): 38337 * dom/WorkerContext.h: 38338 * dom/WorkerContextProxy.h: 38339 * dom/WorkerMessagingProxy.cpp: 38340 (WebCore::MessageWorkerContextTask::performTask): 38341 (WebCore::MessageWorkerTask::performTask): 38342 (WebCore::WorkerContextProxy::create): 38343 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): 38344 (WebCore::WorkerMessagingProxy::~WorkerMessagingProxy): 38345 (WebCore::WorkerMessagingProxy::startWorkerContext): 38346 (WebCore::postConsoleMessageTask): 38347 (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject): 38348 (WebCore::WorkerMessagingProxy::workerThreadCreated): 38349 * dom/WorkerMessagingProxy.h: 38350 * dom/WorkerObjectProxy.h: 38351 * dom/WorkerThread.cpp: 38352 (WebCore::WorkerThread::create): 38353 (WebCore::WorkerThread::WorkerThread): 38354 (WebCore::WorkerThread::workerThread): 38355 * dom/WorkerThread.h: 38356 (WebCore::WorkerThread::workerObjectProxy): 38357 * loader/WorkerThreadableLoader.cpp: 38358 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 38359 38360 2009-02-12 David Levin <levin (a] chromium.org> 38361 38362 Reviewed by Alexey Proskuryakov. 38363 38364 Bug 23688: ThreadableLoader needs a sync implementation for Workers. 38365 <https://bugs.webkit.org/show_bug.cgi?id=23688> 38366 38367 Add ResourceError to ThreadableLoaderClient. 38368 38369 No observable change in behavior, so no test. 38370 38371 * loader/DocumentThreadableLoader.cpp: 38372 (WebCore::DocumentThreadableLoader::create): 38373 (WebCore::DocumentThreadableLoader::willSendRequest): 38374 (WebCore::DocumentThreadableLoader::didFail): 38375 * loader/ThreadableLoaderClient.h: 38376 (WebCore::ThreadableLoaderClient::didFail): 38377 (WebCore::ThreadableLoaderClient::didFailWillSendRequestCheck): 38378 * loader/ThreadableLoaderClientWrapper.h: 38379 (WebCore::ThreadableLoaderClientWrapper::didFail): 38380 * loader/WorkerThreadableLoader.cpp: 38381 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 38382 (WebCore::workerContextDidFail): 38383 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): 38384 * loader/WorkerThreadableLoader.h: 38385 * xml/XMLHttpRequest.cpp: 38386 (WebCore::XMLHttpRequest::didFail): 38387 (WebCore::XMLHttpRequest::didFailWillSendRequestCheck): 38388 * xml/XMLHttpRequest.h: 38389 38390 2009-02-11 Simon Fraser <simon.fraser (a] apple.com> 38391 38392 Reviewed by Dave Hyatt 38393 38394 Fix the build on Leopard with ACCELERATED_COMPOSITING turned on. 38395 38396 * WebCore.xcodeproj/project.pbxproj: 38397 FloatPoint3D needs to be a private header, since it's included by GraphicsLayer.h 38398 * platform/graphics/mac/GraphicsLayerCA.mm: 38399 (WebCore::getTransformFunctionValue): 38400 (WebCore::caValueFunctionSupported): 38401 (WebCore::GraphicsLayerCA::setAnchorPoint): 38402 (WebCore::GraphicsLayerCA::setPreserves3D): 38403 (WebCore::GraphicsLayerCA::setContentsToImage): 38404 (WebCore::GraphicsLayerCA::setBasicAnimation): 38405 (WebCore::GraphicsLayerCA::setKeyframeAnimation): 38406 * rendering/RenderLayer.h: 38407 (WebCore::RenderLayer::isRootLayer): 38408 Fix isRootLayer to return true for the renderView's layer, not the root 38409 renderer's layer. 38410 38411 2009-02-11 Adele Peterson <adele (a] apple.com> 38412 38413 Reviewed by Oliver Hunt. 38414 38415 Fix for https://bugs.webkit.org/show_bug.cgi?id=23910 38416 <rdar://problem/6160546> REGRESSION: In Full page mode, movie controller hides when I drag the knob if movie is playing 38417 38418 * rendering/RenderMedia.cpp: (WebCore::RenderMedia::forwardEvent): 38419 When we get a mouseOut event, consider the mouse as still within the RenderMedia if the relatedTarget is a descendant. 38420 38421 2009-02-11 David Hyatt <hyatt (a] apple.com> 38422 38423 Remove all of the inline box wrapper functions from RenderObject, since they only apply to RenderBox. Devirtualize the functions. 38424 Patch all of the call sites to convert to a RenderBox. 38425 38426 Reviewed by Simon Fraser 38427 38428 * dom/Position.cpp: 38429 (WebCore::nextRenderedEditable): 38430 (WebCore::previousRenderedEditable): 38431 (WebCore::Position::getInlineBoxAndOffset): 38432 * rendering/InlineBox.cpp: 38433 (WebCore::InlineBox::deleteLine): 38434 (WebCore::InlineBox::extractLine): 38435 (WebCore::InlineBox::attachLine): 38436 * rendering/RenderLineBoxList.cpp: 38437 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 38438 * rendering/RenderObject.cpp: 38439 * rendering/RenderObject.h: 38440 * rendering/RenderObjectChildList.cpp: 38441 (WebCore::RenderObjectChildList::removeChildNode): 38442 * rendering/RenderTextControl.cpp: 38443 (WebCore::RenderTextControl::textWithHardLineBreaks): 38444 38445 2009-02-11 David Hyatt <hyatt (a] apple.com> 38446 38447 Eliminate createInlineBox and dirtyLineBoxes from RenderObject. These functions have been devirtualized. 38448 The single call site now calls a helper function that just bit checks and casts before calling the correct 38449 type. RenderBlock's dirtyLineBoxes function was dead code (caused by the RenderFlow deletion), so it has 38450 just been removed. 38451 38452 Reviewed by Eric Seidel 38453 38454 * rendering/RenderBR.cpp: 38455 * rendering/RenderBR.h: 38456 * rendering/RenderBlock.cpp: 38457 (WebCore::RenderBlock::createRootInlineBox): 38458 * rendering/RenderBlock.h: 38459 * rendering/RenderBox.cpp: 38460 (WebCore::RenderBox::createInlineBox): 38461 * rendering/RenderBox.h: 38462 * rendering/RenderCounter.cpp: 38463 * rendering/RenderCounter.h: 38464 * rendering/RenderInline.cpp: 38465 (WebCore::RenderInline::createInlineFlowBox): 38466 * rendering/RenderInline.h: 38467 * rendering/RenderObject.cpp: 38468 * rendering/RenderObject.h: 38469 * rendering/RenderSVGInlineText.cpp: 38470 (WebCore::RenderSVGInlineText::createTextBox): 38471 * rendering/RenderSVGInlineText.h: 38472 (WebCore::RenderSVGInlineText::isSVGText): 38473 * rendering/RenderText.cpp: 38474 (WebCore::RenderText::createTextBox): 38475 (WebCore::RenderText::createInlineTextBox): 38476 * rendering/RenderText.h: 38477 * rendering/bidi.cpp: 38478 (WebCore::createInlineBoxForRenderer): 38479 (WebCore::RenderBlock::createLineBoxes): 38480 (WebCore::RenderBlock::constructLine): 38481 (WebCore::RenderBlock::layoutInlineChildren): 38482 38483 2009-02-11 Chris Marrin <cmarrin (a] apple.com> 38484 38485 Reviewed by Dave Hyatt. 38486 38487 https://bugs.webkit.org/show_bug.cgi?id=23905 38488 38489 Adds support for 3D CSS properties (transform-style-3d, perspective, 38490 perspective-origin, and backface-visibility) to RenderStyle and friends 38491 38492 * platform/graphics/transforms/TransformOperation.h 38493 * rendering/style/RenderStyle.cpp: 38494 (WebCore::RenderStyle::diff): 38495 (WebCore::RenderStyle::applyTransform): 38496 * rendering/style/RenderStyle.h: 38497 (WebCore::InheritedFlags::transformOriginZ): 38498 (WebCore::InheritedFlags::hasTransformRelatedProperty): 38499 (WebCore::InheritedFlags::transformStyle3D): 38500 (WebCore::InheritedFlags::backfaceVisibility): 38501 (WebCore::InheritedFlags::perspective): 38502 (WebCore::InheritedFlags::perspectiveOriginX): 38503 (WebCore::InheritedFlags::perspectiveOriginY): 38504 (WebCore::InheritedFlags::setTransformOriginZ): 38505 (WebCore::InheritedFlags::setTransformStyle3D): 38506 (WebCore::InheritedFlags::setBackfaceVisibility): 38507 (WebCore::InheritedFlags::setPerspective): 38508 (WebCore::InheritedFlags::setPerspectiveOriginX): 38509 (WebCore::InheritedFlags::setPerspectiveOriginY): 38510 (WebCore::InheritedFlags::initialTransformOriginZ): 38511 (WebCore::InheritedFlags::initialTransformStyle3D): 38512 (WebCore::InheritedFlags::initialBackfaceVisibility): 38513 (WebCore::InheritedFlags::initialPerspective): 38514 (WebCore::InheritedFlags::initialPerspectiveOriginX): 38515 (WebCore::InheritedFlags::initialPerspectiveOriginY): 38516 * rendering/style/RenderStyleConstants.h: 38517 (WebCore::): 38518 * rendering/style/StyleRareNonInheritedData.cpp: 38519 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 38520 (WebCore::StyleRareNonInheritedData::operator==): 38521 * rendering/style/StyleRareNonInheritedData.h: 38522 * rendering/style/StyleTransformData.cpp: 38523 (WebCore::StyleTransformData::StyleTransformData): 38524 (WebCore::StyleTransformData::operator==): 38525 * rendering/style/StyleTransformData.h: 38526 38527 2009-02-11 Simon Fraser <simon.fraser (a] apple.com> 38528 38529 No review. 38530 38531 Fix ACCELERATED_COMPOSITING build. 38532 38533 * rendering/RenderLayerBacking.cpp: 38534 (WebCore::RenderLayerBacking::createGraphicsLayer): 38535 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 38536 * rendering/RenderLayerCompositor.cpp: 38537 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 38538 38539 2009-02-11 Simon Fraser <simon.fraser (a] apple.com> 38540 38541 Reviewed by Dave Hyatt 38542 38543 https://bugs.webkit.org/show_bug.cgi?id=23862 38544 38545 Add a bit on RenderStyle that gets set when running accelerated 38546 transitions of transform or opacity. These ensure that styles 38547 compare as different during the transition, so that interruption 38548 can be detected reliably. 38549 38550 * page/animation/ImplicitAnimation.cpp: 38551 (WebCore::ImplicitAnimation::animate): 38552 * rendering/style/RenderStyle.h: 38553 (WebCore::InheritedFlags::isRunningAcceleratedAnimation): 38554 (WebCore::InheritedFlags::setIsRunningAcceleratedAnimation): 38555 * rendering/style/StyleRareNonInheritedData.cpp: 38556 (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): 38557 (WebCore::StyleRareNonInheritedData::operator==): 38558 * rendering/style/StyleRareNonInheritedData.h: 38559 38560 2009-02-11 David Hyatt <hyatt (a] apple.com> 38561 38562 Eliminate the virtual position() function from RenderObject. Rename the position() overrides 38563 in RenderText and RenderBox to positionLineBox and devirtualize them. 38564 38565 Patch the one call site to just check for isText() and isBox() and call the methods directly. 38566 38567 Remove some unnecessary overrides of position() on table sections and rows. 38568 38569 Reviewed by Simon Fraser 38570 38571 * rendering/RenderBox.cpp: 38572 (WebCore::RenderBox::positionLineBox): 38573 * rendering/RenderBox.h: 38574 * rendering/RenderObject.h: 38575 * rendering/RenderSVGRoot.cpp: 38576 * rendering/RenderSVGRoot.h: 38577 * rendering/RenderTableRow.h: 38578 (WebCore::RenderTableRow::lineHeight): 38579 * rendering/RenderTableSection.h: 38580 (WebCore::RenderTableSection::lineHeight): 38581 * rendering/RenderText.cpp: 38582 (WebCore::RenderText::positionLineBox): 38583 * rendering/RenderText.h: 38584 * rendering/bidi.cpp: 38585 (WebCore::RenderBlock::computeVerticalPositionsForLine): 38586 38587 2009-02-11 Dimitri Glazkov <dglazkov (a] chromium.org> 38588 38589 Reviewed by Eric Seidel. 38590 38591 https://bugs.webkit.org/show_bug.cgi?id=23901 38592 Add HTML options/collections V8 custom bindings. 38593 38594 * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Added. 38595 (WebCore::getNamedItems): 38596 (WebCore::getItem): 38597 (WebCore::NAMED_PROPERTY_GETTER): 38598 (WebCore::CALLBACK_FUNC_DECL): 38599 * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Added. 38600 (WebCore::NAMED_PROPERTY_GETTER): 38601 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 38602 (WebCore::ACCESSOR_GETTER): 38603 (WebCore::ACCESSOR_SETTER): 38604 (WebCore::CALLBACK_FUNC_DECL): 38605 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 38606 (WebCore::CALLBACK_FUNC_DECL): 38607 (WebCore::ACCESSOR_SETTER): 38608 * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Added. 38609 (WebCore::CALLBACK_FUNC_DECL): 38610 (WebCore::removeElement): 38611 * bindings/v8/custom/V8HTMLSelectElementCustom.h: Added. 38612 * bindings/v8/custom/V8NamedNodesCollection.cpp: Added. 38613 (WebCore::V8NamedNodesCollection::item): 38614 (WebCore::V8NamedNodesCollection::itemWithName): 38615 * bindings/v8/custom/V8NamedNodesCollection.h: Added. 38616 (WebCore::V8NamedNodesCollection::V8NamedNodesCollection): 38617 (WebCore::V8NamedNodesCollection::length): 38618 38619 2009-02-11 Dimitri Dupuis-latour <dupuislatour (a] apple.com> 38620 38621 Added a preference to disable some Inspector's panels (rdar://6419624, rdar://6419645). 38622 This is controlled via the 'WebKitInspectorHiddenPanels' key; if nothing is specified, all panels are shown. 38623 38624 Reviewed by Timothy Hatcher. 38625 38626 * inspector/InspectorClient.h: 38627 * inspector/InspectorController.cpp: 38628 (WebCore::hiddenPanels): 38629 (WebCore::InspectorController::hiddenPanels): 38630 (WebCore::InspectorController::windowScriptObjectAvailable): 38631 * inspector/InspectorController.h: 38632 * inspector/front-end/inspector.js: 38633 (WebInspector.loaded): 38634 * loader/EmptyClients.h: 38635 (WebCore::EmptyInspectorClient::hiddenPanels): 38636 38637 2009-02-11 David Hyatt <hyatt (a] apple.com> 38638 38639 Combine RenderObject::element() and RenderObject::node() into a single function. 38640 node() now has the "anonymous bit" checking behavior of element() and will 38641 return 0 for anonymous content. This patch switches all callers of element() 38642 to node() and patches old callers of node() to deal with situations where they 38643 did not expect node() to be 0. A bunch of node() calls were calling stuff on 38644 Document that they clearly didn't intend, so overall this is a nice improvement. 38645 38646 Reviewed by Sam Weinig 38647 38648 * dom/ContainerNode.cpp: 38649 (WebCore::ContainerNode::getUpperLeftCorner): 38650 * dom/Element.cpp: 38651 (WebCore::Element::offsetParent): 38652 * dom/Position.cpp: 38653 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): 38654 * editing/ModifySelectionListLevel.cpp: 38655 (WebCore::getStartEndListChildren): 38656 (WebCore::IncreaseSelectionListLevelCommand::doApply): 38657 (WebCore::DecreaseSelectionListLevelCommand::doApply): 38658 * editing/TextIterator.cpp: 38659 (WebCore::TextIterator::advance): 38660 * editing/VisiblePosition.cpp: 38661 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 38662 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 38663 * editing/visible_units.cpp: 38664 (WebCore::startPositionForLine): 38665 (WebCore::endPositionForLine): 38666 * page/AXObjectCache.cpp: 38667 (WebCore::AXObjectCache::get): 38668 * page/AccessibilityList.cpp: 38669 (WebCore::AccessibilityList::isUnorderedList): 38670 (WebCore::AccessibilityList::isOrderedList): 38671 (WebCore::AccessibilityList::isDefinitionList): 38672 * page/AccessibilityListBox.cpp: 38673 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 38674 * page/AccessibilityRenderObject.cpp: 38675 (WebCore::AccessibilityRenderObject::isPasswordField): 38676 (WebCore::AccessibilityRenderObject::isFileUploadButton): 38677 (WebCore::AccessibilityRenderObject::isInputImage): 38678 (WebCore::AccessibilityRenderObject::isMultiSelect): 38679 (WebCore::AccessibilityRenderObject::isControl): 38680 (WebCore::AccessibilityRenderObject::getAttribute): 38681 (WebCore::AccessibilityRenderObject::anchorElement): 38682 (WebCore::AccessibilityRenderObject::actionElement): 38683 (WebCore::AccessibilityRenderObject::mouseButtonListener): 38684 (WebCore::AccessibilityRenderObject::helpText): 38685 (WebCore::AccessibilityRenderObject::textUnderElement): 38686 (WebCore::AccessibilityRenderObject::hasIntValue): 38687 (WebCore::AccessibilityRenderObject::intValue): 38688 (WebCore::AccessibilityRenderObject::labelElementContainer): 38689 (WebCore::AccessibilityRenderObject::title): 38690 (WebCore::AccessibilityRenderObject::accessibilityDescription): 38691 (WebCore::AccessibilityRenderObject::boundingBoxRect): 38692 (WebCore::AccessibilityRenderObject::checkboxOrRadioRect): 38693 (WebCore::AccessibilityRenderObject::titleUIElement): 38694 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 38695 (WebCore::AccessibilityRenderObject::text): 38696 (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange): 38697 (WebCore::AccessibilityRenderObject::accessKey): 38698 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 38699 (WebCore::AccessibilityRenderObject::url): 38700 (WebCore::AccessibilityRenderObject::isFocused): 38701 (WebCore::AccessibilityRenderObject::setFocused): 38702 (WebCore::AccessibilityRenderObject::setValue): 38703 (WebCore::AccessibilityRenderObject::isEnabled): 38704 (WebCore::AccessibilityRenderObject::visiblePositionRange): 38705 (WebCore::AccessibilityRenderObject::index): 38706 (WebCore::AccessibilityRenderObject::activeDescendant): 38707 (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged): 38708 (WebCore::AccessibilityRenderObject::observableObject): 38709 (WebCore::AccessibilityRenderObject::roleValue): 38710 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 38711 (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren): 38712 * page/AccessibilityTable.cpp: 38713 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 38714 (WebCore::AccessibilityTable::title): 38715 * page/AccessibilityTableCell.cpp: 38716 (WebCore::AccessibilityTableCell::titleUIElement): 38717 * page/AccessibilityTableColumn.cpp: 38718 (WebCore::AccessibilityTableColumn::headerObjectForSection): 38719 * page/AccessibilityTableRow.cpp: 38720 (WebCore::AccessibilityTableRow::headerObject): 38721 * page/EventHandler.cpp: 38722 (WebCore::EventHandler::dispatchMouseEvent): 38723 (WebCore::EventHandler::canMouseDownStartSelect): 38724 (WebCore::EventHandler::canMouseDragExtendSelect): 38725 (WebCore::EventHandler::shouldDragAutoNode): 38726 * page/Frame.cpp: 38727 (WebCore::Frame::searchForLabelsAboveCell): 38728 (WebCore::Frame::setFocusedNodeIfNeeded): 38729 * page/FrameView.cpp: 38730 (WebCore::FrameView::updateOverflowStatus): 38731 * page/animation/AnimationBase.cpp: 38732 (WebCore::AnimationBase::updateStateMachine): 38733 * page/animation/AnimationController.cpp: 38734 (WebCore::AnimationControllerPrivate::updateAnimationTimer): 38735 (WebCore::AnimationController::cancelAnimations): 38736 (WebCore::AnimationController::updateAnimations): 38737 * page/animation/KeyframeAnimation.cpp: 38738 (WebCore::KeyframeAnimation::KeyframeAnimation): 38739 (WebCore::KeyframeAnimation::endAnimation): 38740 * page/mac/AccessibilityObjectWrapper.mm: 38741 (blockquoteLevel): 38742 (AXAttributeStringSetHeadingLevel): 38743 * page/mac/FrameMac.mm: 38744 (WebCore::Frame::searchForNSLabelsAboveCell): 38745 * rendering/InlineFlowBox.cpp: 38746 (WebCore::InlineFlowBox::verticallyAlignBoxes): 38747 (WebCore::InlineFlowBox::paint): 38748 (WebCore::shouldDrawTextDecoration): 38749 * rendering/InlineTextBox.cpp: 38750 (WebCore::InlineTextBox::paintDocumentMarkers): 38751 * rendering/RenderBR.cpp: 38752 (WebCore::RenderBR::positionForCoordinates): 38753 * rendering/RenderBlock.cpp: 38754 (WebCore::RenderBlock::layoutBlock): 38755 (WebCore::RenderBlock::handleRunInChild): 38756 (WebCore::RenderBlock::paintObject): 38757 (WebCore::RenderBlock::isSelectionRoot): 38758 (WebCore::RenderBlock::rightmostPosition): 38759 (WebCore::RenderBlock::positionForBox): 38760 (WebCore::RenderBlock::positionForRenderer): 38761 (WebCore::RenderBlock::positionForCoordinates): 38762 (WebCore::RenderBlock::hasLineIfEmpty): 38763 (WebCore::RenderBlock::updateFirstLetter): 38764 (WebCore::RenderBlock::updateHitTestResult): 38765 (WebCore::RenderBlock::addFocusRingRects): 38766 * rendering/RenderBox.cpp: 38767 (WebCore::RenderBox::styleWillChange): 38768 (WebCore::RenderBox::updateBoxModelInfoFromStyle): 38769 (WebCore::RenderBox::paintRootBoxDecorations): 38770 (WebCore::RenderBox::positionForCoordinates): 38771 * rendering/RenderButton.cpp: 38772 (WebCore::RenderButton::updateFromElement): 38773 (WebCore::RenderButton::canHaveChildren): 38774 * rendering/RenderCounter.cpp: 38775 (WebCore::planCounter): 38776 * rendering/RenderFieldset.cpp: 38777 (WebCore::RenderFieldset::findLegend): 38778 * rendering/RenderFlexibleBox.cpp: 38779 (WebCore::RenderFlexibleBox::layoutVerticalBox): 38780 * rendering/RenderForeignObject.cpp: 38781 (WebCore::RenderForeignObject::translationForAttributes): 38782 (WebCore::RenderForeignObject::calculateLocalTransform): 38783 * rendering/RenderFrame.h: 38784 (WebCore::RenderFrame::element): 38785 * rendering/RenderImage.cpp: 38786 (WebCore::RenderImage::paintReplaced): 38787 (WebCore::RenderImage::imageMap): 38788 (WebCore::RenderImage::nodeAtPoint): 38789 (WebCore::RenderImage::updateAltText): 38790 * rendering/RenderInline.cpp: 38791 (WebCore::RenderInline::cloneInline): 38792 (WebCore::RenderInline::updateHitTestResult): 38793 * rendering/RenderLayer.cpp: 38794 (WebCore::RenderLayer::isTransparent): 38795 (WebCore::RenderLayer::scrollToOffset): 38796 (WebCore::RenderLayer::resize): 38797 (WebCore::RenderLayer::createScrollbar): 38798 (WebCore::RenderLayer::updateOverflowStatus): 38799 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 38800 (WebCore::RenderLayer::enclosingElement): 38801 (WebCore::RenderLayer::updateHoverActiveState): 38802 (WebCore::RenderLayer::updateScrollCornerStyle): 38803 (WebCore::RenderLayer::updateResizerStyle): 38804 * rendering/RenderLayer.h: 38805 (WebCore::RenderLayer::isRootLayer): 38806 * rendering/RenderListItem.cpp: 38807 (WebCore::getParentOfFirstLineBox): 38808 * rendering/RenderMarquee.cpp: 38809 (WebCore::RenderMarquee::marqueeSpeed): 38810 * rendering/RenderObject.cpp: 38811 (WebCore::RenderObject::RenderObject): 38812 (WebCore::RenderObject::isBody): 38813 (WebCore::RenderObject::isHR): 38814 (WebCore::RenderObject::isHTMLMarquee): 38815 (WebCore::RenderObject::isEditable): 38816 (WebCore::RenderObject::addPDFURLRect): 38817 (WebCore::RenderObject::showTreeForThis): 38818 (WebCore::RenderObject::draggableNode): 38819 (WebCore::RenderObject::hasOutlineAnnotation): 38820 (WebCore::RenderObject::positionForCoordinates): 38821 (WebCore::RenderObject::updateDragState): 38822 (WebCore::RenderObject::updateHitTestResult): 38823 (WebCore::RenderObject::getUncachedPseudoStyle): 38824 (WebCore::RenderObject::getTextDecorationColors): 38825 (WebCore::RenderObject::caretMaxOffset): 38826 (WebCore::RenderObject::offsetParent): 38827 * rendering/RenderObject.h: 38828 (WebCore::RenderObject::isRoot): 38829 (WebCore::RenderObject::isInlineContinuation): 38830 (WebCore::RenderObject::node): 38831 (WebCore::RenderObject::setNode): 38832 * rendering/RenderObjectChildList.cpp: 38833 (WebCore::RenderObjectChildList::destroyLeftoverChildren): 38834 * rendering/RenderPart.cpp: 38835 (WebCore::RenderPart::updateWidgetPosition): 38836 * rendering/RenderPartObject.cpp: 38837 (WebCore::RenderPartObject::updateWidget): 38838 (WebCore::RenderPartObject::viewCleared): 38839 * rendering/RenderPath.cpp: 38840 (WebCore::RenderPath::calculateLocalTransform): 38841 (WebCore::RenderPath::layout): 38842 (WebCore::RenderPath::paint): 38843 (WebCore::RenderPath::drawMarkersIfNeeded): 38844 * rendering/RenderReplaced.cpp: 38845 (WebCore::RenderReplaced::positionForCoordinates): 38846 (WebCore::RenderReplaced::isSelected): 38847 * rendering/RenderSVGGradientStop.cpp: 38848 (WebCore::RenderSVGGradientStop::gradientElement): 38849 * rendering/RenderSVGImage.cpp: 38850 (WebCore::RenderSVGImage::calculateLocalTransform): 38851 * rendering/RenderSVGInlineText.cpp: 38852 (WebCore::RenderSVGInlineText::positionForCoordinates): 38853 * rendering/RenderSVGRoot.cpp: 38854 (WebCore::RenderSVGRoot::layout): 38855 (WebCore::RenderSVGRoot::applyContentTransforms): 38856 (WebCore::RenderSVGRoot::paint): 38857 (WebCore::RenderSVGRoot::calcViewport): 38858 (WebCore::RenderSVGRoot::absoluteTransform): 38859 * rendering/RenderSVGText.cpp: 38860 (WebCore::RenderSVGText::calculateLocalTransform): 38861 (WebCore::RenderSVGText::layout): 38862 * rendering/RenderSVGTextPath.cpp: 38863 (WebCore::RenderSVGTextPath::layoutPath): 38864 (WebCore::RenderSVGTextPath::startOffset): 38865 (WebCore::RenderSVGTextPath::exactAlignment): 38866 (WebCore::RenderSVGTextPath::stretchMethod): 38867 * rendering/RenderSVGTransformableContainer.cpp: 38868 (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): 38869 * rendering/RenderSVGViewportContainer.cpp: 38870 (WebCore::RenderSVGViewportContainer::calcViewport): 38871 (WebCore::RenderSVGViewportContainer::viewportTransform): 38872 (WebCore::RenderSVGViewportContainer::nodeAtPoint): 38873 * rendering/RenderTable.cpp: 38874 (WebCore::RenderTable::addChild): 38875 * rendering/RenderTableCell.cpp: 38876 (WebCore::RenderTableCell::updateFromElement): 38877 (WebCore::RenderTableCell::calcPrefWidths): 38878 * rendering/RenderTableCol.cpp: 38879 (WebCore::RenderTableCol::updateFromElement): 38880 * rendering/RenderTableRow.cpp: 38881 (WebCore::RenderTableRow::addChild): 38882 * rendering/RenderTableSection.cpp: 38883 (WebCore::RenderTableSection::addChild): 38884 * rendering/RenderText.cpp: 38885 (WebCore::RenderText::originalText): 38886 (WebCore::RenderText::positionForCoordinates): 38887 * rendering/RenderTextControlMultiLine.cpp: 38888 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 38889 * rendering/RenderTextControlSingleLine.cpp: 38890 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 38891 * rendering/RenderTextFragment.cpp: 38892 (WebCore::RenderTextFragment::originalText): 38893 (WebCore::RenderTextFragment::previousCharacter): 38894 * rendering/RenderTheme.cpp: 38895 (WebCore::RenderTheme::isActive): 38896 (WebCore::RenderTheme::isChecked): 38897 (WebCore::RenderTheme::isIndeterminate): 38898 (WebCore::RenderTheme::isEnabled): 38899 (WebCore::RenderTheme::isFocused): 38900 (WebCore::RenderTheme::isPressed): 38901 (WebCore::RenderTheme::isReadOnlyControl): 38902 (WebCore::RenderTheme::isHovered): 38903 * rendering/RenderThemeMac.mm: 38904 (WebCore::RenderThemeMac::updatePressedState): 38905 (WebCore::RenderThemeMac::paintMediaFullscreenButton): 38906 (WebCore::RenderThemeMac::paintMediaMuteButton): 38907 (WebCore::RenderThemeMac::paintMediaPlayButton): 38908 (WebCore::RenderThemeMac::paintMediaSeekBackButton): 38909 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): 38910 (WebCore::RenderThemeMac::paintMediaSliderTrack): 38911 (WebCore::RenderThemeMac::paintMediaSliderThumb): 38912 (WebCore::RenderThemeMac::paintMediaTimelineContainer): 38913 (WebCore::RenderThemeMac::paintMediaCurrentTime): 38914 (WebCore::RenderThemeMac::paintMediaTimeRemaining): 38915 * rendering/RenderThemeSafari.cpp: 38916 (WebCore::RenderThemeSafari::paintMediaMuteButton): 38917 (WebCore::RenderThemeSafari::paintMediaPlayButton): 38918 (WebCore::RenderThemeSafari::paintMediaSliderTrack): 38919 * rendering/RenderTreeAsText.cpp: 38920 (WebCore::operator<<): 38921 (WebCore::writeSelection): 38922 * rendering/RenderWidget.cpp: 38923 (WebCore::RenderWidget::setWidgetGeometry): 38924 (WebCore::RenderWidget::updateWidgetPosition): 38925 (WebCore::RenderWidget::nodeAtPoint): 38926 * rendering/RootInlineBox.cpp: 38927 (WebCore::isEditableLeaf): 38928 * rendering/SVGRenderSupport.cpp: 38929 (WebCore::prepareToRenderSVGContent): 38930 * rendering/SVGRenderTreeAsText.cpp: 38931 (WebCore::write): 38932 * rendering/SVGRootInlineBox.cpp: 38933 (WebCore::SVGRootInlineBox::buildLayoutInformation): 38934 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 38935 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 38936 (WebCore::SVGRootInlineBox::buildTextChunks): 38937 * rendering/style/SVGRenderStyle.cpp: 38938 (WebCore::SVGRenderStyle::cssPrimitiveToLength): 38939 * svg/SVGFont.cpp: 38940 (WebCore::SVGTextRunWalker::walk): 38941 (WebCore::floatWidthOfSubStringUsingSVGFont): 38942 (WebCore::Font::drawTextUsingSVGFont): 38943 * svg/SVGTextContentElement.cpp: 38944 (WebCore::findInlineTextBoxInTextChunks): 38945 * svg/graphics/SVGPaintServer.cpp: 38946 (WebCore::SVGPaintServer::fillPaintServer): 38947 (WebCore::SVGPaintServer::strokePaintServer): 38948 38949 2009-02-11 Brady Eidson <beidson (a] apple.com> 38950 38951 Reviewed by Darin Adler 38952 38953 <rdar://problem/3541409> - Further FrameLoader and page cache cleanup 38954 38955 * history/CachedFrame.cpp: 38956 (WebCore::CachedFrame::restore): Moved updatePlatformScriptObjects() here. 38957 38958 * loader/FrameLoader.cpp: 38959 (WebCore::FrameLoader::commitProvisionalLoad): Rolled opened() into this method. This method was 38960 the only caller and - in the future - will benefit from doing parts of opened()'s work differently. 38961 (WebCore::FrameLoader::open): Split off per-frame logic into open(CachedFrame&) method. 38962 (WebCore::FrameLoader::closeAndRemoveChild): Added. Do the non-tree related cleanup that 38963 FrameTree::removeChild() used to do. 38964 (WebCore::FrameLoader::detachFromParent): Call ::closeAndRemoveChild() instead. 38965 (WebCore::FrameLoader::cachePageForHistoryItem): Perform the "can cache page" check here. 38966 * loader/FrameLoader.h: 38967 38968 * page/FrameTree.cpp: 38969 (WebCore::FrameTree::removeChild): Just remove the Frame from the tree. Closing it and other 38970 cleanup is the responsibility of the FrameLoader. 38971 * page/FrameTree.h: 38972 (WebCore::FrameTree::detachFromParent): Added to just clear a Frame's parent pointer 38973 38974 2009-02-11 Scott Violet <sky (a] google.com> 38975 38976 Reviewed by Eric Seidel. 38977 38978 https://bugs.webkit.org/show_bug.cgi?id=23882 38979 GraphicsContextSkia draws round rects as solid rects 38980 38981 Fixes two bugs in Skia's GraphicsContext::fillRoundedRect: 38982 . fillRoundedRect had an extra call to fillRect, resulting in always 38983 drawing a solid rectangle. 38984 . if the total radius along a given axis is greater than the size of 38985 the axis to draw, a solid rect should be drawn. 38986 38987 The layout tests LayoutTests/fast/css/shadow-multiple.html and 38988 LayoutTests/fast/box-shadow/basic-shadows.html cover this. 38989 38990 * platform/graphics/skia/GraphicsContextSkia.cpp: 38991 (WebCore::GraphicsContext::fillRoundedRect): 38992 38993 2009-02-11 Julien Chaffraix <jchaffraix (a] webkit.org> 38994 38995 Reviewed by Eric Seidel. 38996 38997 Bug 23536: Auto-generate HTMLElementFactory 38998 38999 Remove the HTMLElementFactory files. Farewell. 39000 39001 * html/HTMLElementFactory.cpp: Removed. 39002 * html/HTMLElementFactory.h: Removed. 39003 39004 2009-02-11 Julien Chaffraix <jchaffraix (a] webkit.org> 39005 39006 Reviewed by Eric Seidel. 39007 39008 Bug 23536: Auto-generate HTMLElementFactory 39009 39010 Make the platform auto-generate the HTMLElementFactory. 39011 39012 * DerivedSources.make: 39013 * GNUmakefile.am: 39014 * WebCore.pro: 39015 * WebCore.scons: 39016 * WebCore.vcproj/WebCore.vcproj: 39017 * WebCore.xcodeproj/project.pbxproj: 39018 * WebCoreSources.bkl: 39019 * webcore-base.bkl: 39020 39021 2009-02-11 Sam Weinig <sam (a] webkit.org> 39022 39023 Reviewed by David Hyatt. 39024 39025 Remove unneeded ASSERTS. 39026 39027 * rendering/RenderBox.h: 39028 (WebCore::RenderBox::width): 39029 (WebCore::RenderBox::height): 39030 (WebCore::RenderBox::size): 39031 (WebCore::RenderBox::frameRect): 39032 39033 2009-02-11 Simon Fraser <simon.fraser (a] apple.com> 39034 39035 Reviewed by Dave Hyatt 39036 39037 Add function to RenderStyle to ask whether a background image has been specified. 39038 39039 * rendering/style/RenderStyle.h: 39040 (WebCore::InheritedFlags::hasBackgroundImage): 39041 39042 2009-02-11 Simon Fraser <simon.fraser (a] apple.com> 39043 39044 Reviewed by Dave Hyatt 39045 39046 https://bugs.webkit.org/show_bug.cgi?id=23548 39047 39048 When opacity or transform change on an object which has a compositing layer, 39049 avoid repainting the layer. 39050 39051 Added a new StyleDifference value, StyleDifferenceRecompositeLayer, which indicates 39052 that the only thing styleChanged() has to do is to update composited properties of 39053 the layer. RenderStyle::diff() now has an out param for a bitmask of "context sensitive" 39054 properties, currently for opacity and transform. When one of these changes, we need 39055 to see if we have a compositing layer before we decide whether to layout/repaint, 39056 or just update the composited layer, via adjustStyleDifference(). 39057 39058 * rendering/RenderObject.cpp: 39059 (WebCore::RenderObject::adjustStyleDifference): 39060 (WebCore::RenderObject::setStyle): 39061 (WebCore::RenderObject::styleDidChange): 39062 * rendering/RenderObject.h: 39063 * rendering/style/RenderStyle.cpp: 39064 (WebCore::RenderStyle::diff): 39065 * rendering/style/RenderStyle.h: 39066 * rendering/style/RenderStyleConstants.h: 39067 (WebCore::): 39068 39069 2009-02-11 Alexey Proskuryakov <ap (a] webkit.org> 39070 39071 Reviewed by Darin Adler. 39072 39073 <rdar://problem/6562920> Pasted text should be normalized to NFC 39074 39075 Testing requires putting non-HTML content in pasteboard, so it cannot be done with WebKit alone. 39076 39077 * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::plainText): Route the text through 39078 -[NSString precomposedStringWithCanonicalMapping]. 39079 39080 2009-02-10 Chris Marrin <cmarrin (a] apple.com> 39081 39082 Reviewed by Simon Fraser. 39083 39084 https://bugs.webkit.org/show_bug.cgi?id=23883 39085 39086 Added new TransformOperation subclasses and methods to existing ones 39087 to support 3D. 39088 39089 * WebCore.xcodeproj/project.pbxproj: 39090 * platform/graphics/transforms/IdentityTransformOperation.h: 39091 (WebCore::IdentityTransformOperation::isAffine): 39092 * platform/graphics/transforms/Matrix3DTransformOperation.cpp: Added. 39093 (WebCore::Matrix3DTransformOperation::blend): 39094 * platform/graphics/transforms/Matrix3DTransformOperation.h: Added. 39095 (WebCore::Matrix3DTransformOperation::create): 39096 (WebCore::Matrix3DTransformOperation::isIdentity): 39097 (WebCore::Matrix3DTransformOperation::isAffine): 39098 (WebCore::Matrix3DTransformOperation::getOperationType): 39099 (WebCore::Matrix3DTransformOperation::isSameType): 39100 (WebCore::Matrix3DTransformOperation::operator==): 39101 (WebCore::Matrix3DTransformOperation::apply): 39102 (WebCore::Matrix3DTransformOperation::Matrix3DTransformOperation): 39103 * platform/graphics/transforms/MatrixTransformOperation.h: 39104 (WebCore::MatrixTransformOperation::isAffine): 39105 (WebCore::MatrixTransformOperation::apply): 39106 * platform/graphics/transforms/PerspectiveTransformOperation.cpp: Added. 39107 (WebCore::PerspectiveTransformOperation::blend): 39108 * platform/graphics/transforms/PerspectiveTransformOperation.h: Added. 39109 (WebCore::PerspectiveTransformOperation::create): 39110 (WebCore::PerspectiveTransformOperation::isIdentity): 39111 (WebCore::PerspectiveTransformOperation::isAffine): 39112 (WebCore::PerspectiveTransformOperation::getOperationType): 39113 (WebCore::PerspectiveTransformOperation::isSameType): 39114 (WebCore::PerspectiveTransformOperation::operator==): 39115 (WebCore::PerspectiveTransformOperation::apply): 39116 (WebCore::PerspectiveTransformOperation::PerspectiveTransformOperation): 39117 * platform/graphics/transforms/RotateTransformOperation.cpp: 39118 (WebCore::RotateTransformOperation::blend): 39119 * platform/graphics/transforms/RotateTransformOperation.h: 39120 (WebCore::RotateTransformOperation::create): 39121 (WebCore::RotateTransformOperation::angle): 39122 (WebCore::RotateTransformOperation::isAffine): 39123 (WebCore::RotateTransformOperation::operator==): 39124 (WebCore::RotateTransformOperation::apply): 39125 (WebCore::RotateTransformOperation::RotateTransformOperation): 39126 * platform/graphics/transforms/ScaleTransformOperation.cpp: 39127 (WebCore::ScaleTransformOperation::blend): 39128 * platform/graphics/transforms/ScaleTransformOperation.h: 39129 (WebCore::ScaleTransformOperation::create): 39130 (WebCore::ScaleTransformOperation::z): 39131 (WebCore::ScaleTransformOperation::isIdentity): 39132 (WebCore::ScaleTransformOperation::isAffine): 39133 (WebCore::ScaleTransformOperation::operator==): 39134 (WebCore::ScaleTransformOperation::apply): 39135 (WebCore::ScaleTransformOperation::ScaleTransformOperation): 39136 * platform/graphics/transforms/SkewTransformOperation.h: 39137 (WebCore::SkewTransformOperation::isAffine): 39138 * platform/graphics/transforms/TransformOperation.h: 39139 (WebCore::TransformOperation::): 39140 (WebCore::TransformOperation::is3DOperation): 39141 * platform/graphics/transforms/TransformOperations.h: 39142 (WebCore::TransformOperations::isAffine): 39143 (WebCore::TransformOperations::has3DOperation): 39144 * platform/graphics/transforms/TranslateTransformOperation.cpp: 39145 (WebCore::TranslateTransformOperation::blend): 39146 * platform/graphics/transforms/TranslateTransformOperation.h: 39147 (WebCore::TranslateTransformOperation::create): 39148 (WebCore::TranslateTransformOperation::z): 39149 (WebCore::TranslateTransformOperation::isIdentity): 39150 (WebCore::TranslateTransformOperation::isAffine): 39151 (WebCore::TranslateTransformOperation::operator==): 39152 (WebCore::TranslateTransformOperation::apply): 39153 (WebCore::TranslateTransformOperation::TranslateTransformOperation): 39154 39155 2009-02-11 David Hyatt <hyatt (a] apple.com> 39156 39157 Move createAnonymousBlock() to RenderBlock. Since anonymous blocks are always parented to some other block, 39158 we can move this function to RenderBlock. Fix a couple of call sites as a result of this restriction. 39159 39160 Reviewed by Simon Fraser 39161 39162 * rendering/RenderBlock.cpp: 39163 (WebCore::RenderBlock::createAnonymousBlock): 39164 * rendering/RenderBlock.h: 39165 * rendering/RenderInline.cpp: 39166 (WebCore::RenderInline::childBecameNonInline): 39167 * rendering/RenderObject.cpp: 39168 (WebCore::RenderObject::handleDynamicFloatPositionChange): 39169 * rendering/RenderObject.h: 39170 39171 2009-02-11 David Hyatt <hyatt (a] apple.com> 39172 39173 https://bugs.webkit.org/show_bug.cgi?id=23895 39174 39175 Remove two complete nonsense lines that I accidentally added from a cut and paste error. This 39176 restores the original logic. 39177 39178 Reviewed by Simon Fraser 39179 39180 * rendering/RenderBox.cpp: 39181 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 39182 39183 2009-02-11 David Hyatt <hyatt (a] apple.com> 39184 39185 Rename getBaselineOfFirstLineBox to firstLineBoxBaseline. Rename getBaselineOfLastLineBox to 39186 lastLineBoxBaseline. Remove the functions from RenderObject and add them to RenderBox instead. 39187 39188 Reviewed by Eric Seidel 39189 39190 * rendering/RenderBlock.cpp: 39191 (WebCore::RenderBlock::baselinePosition): 39192 (WebCore::RenderBlock::firstLineBoxBaseline): 39193 (WebCore::RenderBlock::lastLineBoxBaseline): 39194 * rendering/RenderBlock.h: 39195 * rendering/RenderBox.h: 39196 (WebCore::RenderBox::firstLineBoxBaseline): 39197 (WebCore::RenderBox::lastLineBoxBaseline): 39198 * rendering/RenderFlexibleBox.cpp: 39199 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 39200 * rendering/RenderObject.h: 39201 * rendering/RenderTable.cpp: 39202 (WebCore::RenderTable::firstLineBoxBaseline): 39203 * rendering/RenderTable.h: 39204 * rendering/RenderTableCell.cpp: 39205 (WebCore::RenderTableCell::baselinePosition): 39206 * rendering/RenderTableSection.cpp: 39207 (WebCore::RenderTableSection::firstLineBoxBaseline): 39208 * rendering/RenderTableSection.h: 39209 39210 2009-02-11 Eric Carlson <eric.carlson (a] apple.com> 39211 39212 Reviewed by Simon Fraser 39213 39214 https://bugs.webkit.org/show_bug.cgi?id=23877 39215 Allow port to disable progress events from <video> and <audio> elements 39216 39217 * html/HTMLMediaElement.cpp: Initialize m_sendProgressEvents. 39218 (WebCore::HTMLMediaElement::HTMLMediaElement): Don't post progress events if m_sendProgressEvents is false. 39219 (WebCore::HTMLMediaElement::initAndDispatchProgressEvent): Ditto. 39220 (WebCore::HTMLMediaElement::load): Ditto. 39221 * html/HTMLMediaElement.h: Add m_sendProgressEvents 39222 39223 2009-02-11 Adam Roben <aroben (a] apple.com> 39224 39225 Windows build fix 39226 39227 * DerivedSources.cpp: Removed SVGElementFactory.cpp, since including 39228 it leads to ambiguities for symbols like "aTag", which exist in both 39229 the HTMLNames and SVGNames namespaces. 39230 39231 * WebCore.vcproj/WebCore.vcproj: Added SVGElementFactory.cpp to the 39232 project directly. VS also decided to reformat this file a little bit. 39233 39234 2009-02-10 Julien Chaffraix <jchaffraix (a] webkit.org> 39235 39236 Reviewed by Eric Seidel. 39237 39238 Bug 23536: Auto-generate HTMLElementFactory 39239 39240 Those are the last auto-generation bits needed to have a working generated HTMLElementFactory: 39241 39242 - Added a new option mapToTagName that enables a tag to use another's options and tagName (<image> 39243 uses imgTag for example) and wired the code generation to be consistent with the current factory. 39244 39245 - Disabled dashboard compatibility check for HTMLElementFactory as it would make at least one test case fail. 39246 39247 - Pass the QualifiedName down to the Element constructor for shared constructors to make the generated code as 39248 close as possible to the current one. We will pass the QualifiedName for all Element in a forthcoming patch. 39249 39250 * dom/make_names.pl: Did all the above points and tweaked the code generation to match the current HTMLElementFactory 39251 as closely as possible. 39252 39253 * html/HTMLElementFactory.cpp: 39254 (WebCore::quoteConstructor): 39255 * html/HTMLQuoteElement.cpp: 39256 (WebCore::HTMLQuoteElement::HTMLQuoteElement): Moved setUsesBeforeAfterRules to HTMLQuoteElement' constructor because some 39257 part of the code creates elements without using the HTMLElementFactory. Also added a FIXME as it is not the right place. 39258 39259 * html/HTMLTagNames.in: Corrected <image> parameters. 39260 39261 2009-02-10 David Hyatt <hyatt (a] apple.com> 39262 39263 Fix for pixel test regression in fast/text. Make sure not to add in 39264 the borderTop and paddingTop of the block to the baseline when painting 39265 strict mode text decorations. 39266 39267 Reviewed by Mark Rowe 39268 39269 * rendering/InlineFlowBox.cpp: 39270 (WebCore::InlineFlowBox::paintTextDecorations): 39271 * rendering/InlineFlowBox.h: 39272 39273 2009-02-10 Jon Honeycutt <jhoneycutt (a] apple.com> 39274 39275 Windows build fix after r40837. 39276 39277 Not reviewed. 39278 39279 * DerivedSources.cpp: 39280 39281 2009-02-10 Jon Honeycutt <jhoneycutt (a] apple.com> 39282 39283 <rdar://6349412> REGRESSION(r37204): Page is not repainted during and 39284 after pan scrolling 39285 39286 Reviewed by Steve Falkenburg. 39287 39288 * platform/ScrollView.cpp: 39289 (WebCore::ScrollView::scrollContents): Don't repaint the pan scroll 39290 icon rect immediately; we will paint after the view has been scrolled. 39291 39292 2009-02-10 Oliver Hunt <oliver (a] apple.com> 39293 39294 Reviewed by Adele Peterson. 39295 39296 <rdar://problem/6156755> onMouseOver events do not fire properly for cross frame drag and drop 39297 39298 This problem was caused by incorrectly ignoring whether or not the 39299 default behaviour of the mousedown event was suppressed. If a 39300 mousedown handler in a frame prevents default handling then the 39301 subsequent mousemove events fired for the drag should not be 39302 captured by that frame, should the mouse move out of its bounds. 39303 39304 Test: fast/events/mouse-drag-from-frame.html 39305 39306 * page/EventHandler.cpp: 39307 (WebCore::EventHandler::EventHandler): 39308 (WebCore::EventHandler::clear): 39309 (WebCore::EventHandler::handleMouseReleaseEvent): 39310 Reset new m_capturesDragging flag 39311 39312 (WebCore::EventHandler::handleMousePressEvent): 39313 Respect the m_capturesDragging flag when we propagate 39314 a mousedown event to a subframe. 39315 39316 * page/EventHandler.h: 39317 (WebCore::EventHandler::capturesDragging): 39318 39319 2009-02-10 Kevin Ollivier <kevino (a] theolliviers.com> 39320 39321 wx build fixes for recent changes to TransformationMatrix and DOMElement. 39322 39323 * WebCoreSources.bkl: 39324 * dom/Element.cpp: 39325 * platform/graphics/transforms/TransformationMatrix.h: 39326 * platform/graphics/wx/TransformationMatrixWx.cpp: 39327 (WebCore::TransformationMatrix::operator wxGraphicsMatrix): 39328 39329 2009-02-10 David Hyatt <hyatt (a] apple.com> 39330 39331 Some renames on line boxes. xPos()/yPos() -> x()/y(). setXPos()/setYPos() -> setX()/setY(). m_object/object() -> m_renderer/renderer(). textObject() -> textRenderer(). 39332 39333 Reviewed by Sam Weinig 39334 39335 * dom/Position.cpp: 39336 (WebCore::Position::upstream): 39337 (WebCore::Position::downstream): 39338 * editing/VisiblePosition.cpp: 39339 (WebCore::VisiblePosition::leftVisuallyDistinctCandidate): 39340 (WebCore::VisiblePosition::rightVisuallyDistinctCandidate): 39341 (WebCore::VisiblePosition::localCaretRect): 39342 * editing/visible_units.cpp: 39343 (WebCore::startPositionForLine): 39344 (WebCore::endPositionForLine): 39345 (WebCore::previousLinePosition): 39346 (WebCore::nextLinePosition): 39347 * rendering/EllipsisBox.cpp: 39348 (WebCore::EllipsisBox::paint): 39349 (WebCore::EllipsisBox::nodeAtPoint): 39350 * rendering/InlineBox.cpp: 39351 (WebCore::InlineBox::showTreeForThis): 39352 (WebCore::InlineBox::height): 39353 (WebCore::InlineBox::caretMinOffset): 39354 (WebCore::InlineBox::caretMaxOffset): 39355 (WebCore::InlineBox::deleteLine): 39356 (WebCore::InlineBox::extractLine): 39357 (WebCore::InlineBox::attachLine): 39358 (WebCore::InlineBox::adjustPosition): 39359 (WebCore::InlineBox::paint): 39360 (WebCore::InlineBox::nodeAtPoint): 39361 (WebCore::InlineBox::selectionState): 39362 (WebCore::InlineBox::canAccommodateEllipsis): 39363 * rendering/InlineBox.h: 39364 (WebCore::InlineBox::InlineBox): 39365 (WebCore::InlineBox::renderer): 39366 (WebCore::InlineBox::setX): 39367 (WebCore::InlineBox::x): 39368 (WebCore::InlineBox::setY): 39369 (WebCore::InlineBox::y): 39370 (WebCore::InlineBox::topOverflow): 39371 (WebCore::InlineBox::bottomOverflow): 39372 (WebCore::InlineBox::leftOverflow): 39373 (WebCore::InlineBox::rightOverflow): 39374 (WebCore::InlineBox::visibleToHitTesting): 39375 (WebCore::InlineBox::boxModelObject): 39376 * rendering/InlineFlowBox.cpp: 39377 (WebCore::InlineFlowBox::height): 39378 (WebCore::InlineFlowBox::addToLine): 39379 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): 39380 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): 39381 (WebCore::InlineFlowBox::attachLineBoxToRenderObject): 39382 (WebCore::InlineFlowBox::rendererLineBoxes): 39383 (WebCore::InlineFlowBox::onEndChain): 39384 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 39385 (WebCore::InlineFlowBox::placeBoxesHorizontally): 39386 (WebCore::InlineFlowBox::verticallyAlignBoxes): 39387 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): 39388 (WebCore::verticalPositionForBox): 39389 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 39390 (WebCore::InlineFlowBox::placeBoxesVertically): 39391 (WebCore::InlineFlowBox::nodeAtPoint): 39392 (WebCore::InlineFlowBox::paint): 39393 (WebCore::InlineFlowBox::paintFillLayer): 39394 (WebCore::InlineFlowBox::paintBoxShadow): 39395 (WebCore::InlineFlowBox::paintBoxDecorations): 39396 (WebCore::InlineFlowBox::paintMask): 39397 (WebCore::InlineFlowBox::paintTextDecorations): 39398 * rendering/InlineFlowBox.h: 39399 (WebCore::InlineFlowBox::borderLeft): 39400 (WebCore::InlineFlowBox::borderRight): 39401 (WebCore::InlineFlowBox::borderTop): 39402 (WebCore::InlineFlowBox::borderBottom): 39403 (WebCore::InlineFlowBox::baseline): 39404 * rendering/InlineTextBox.cpp: 39405 (WebCore::InlineTextBox::height): 39406 (WebCore::InlineTextBox::selectionState): 39407 (WebCore::InlineTextBox::selectionRect): 39408 (WebCore::InlineTextBox::deleteLine): 39409 (WebCore::InlineTextBox::extractLine): 39410 (WebCore::InlineTextBox::attachLine): 39411 (WebCore::InlineTextBox::placeEllipsisBox): 39412 (WebCore::InlineTextBox::isLineBreak): 39413 (WebCore::InlineTextBox::nodeAtPoint): 39414 (WebCore::InlineTextBox::paint): 39415 (WebCore::InlineTextBox::selectionStartEnd): 39416 (WebCore::InlineTextBox::paintSelection): 39417 (WebCore::InlineTextBox::paintCompositionBackground): 39418 (WebCore::InlineTextBox::paintCustomHighlight): 39419 (WebCore::InlineTextBox::paintDecoration): 39420 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 39421 (WebCore::InlineTextBox::paintTextMatchMarker): 39422 (WebCore::InlineTextBox::paintDocumentMarkers): 39423 (WebCore::InlineTextBox::paintCompositionUnderline): 39424 (WebCore::InlineTextBox::textPos): 39425 (WebCore::InlineTextBox::offsetForPosition): 39426 (WebCore::InlineTextBox::positionForOffset): 39427 * rendering/InlineTextBox.h: 39428 (WebCore::InlineTextBox::textRenderer): 39429 * rendering/ListMarkerBox.cpp: 39430 (WebCore::ListMarkerBox::isText): 39431 * rendering/RenderBlock.cpp: 39432 (WebCore::RenderBlock::paintEllipsisBoxes): 39433 (WebCore::RenderBlock::lowestPosition): 39434 (WebCore::RenderBlock::rightmostPosition): 39435 (WebCore::RenderBlock::leftmostPosition): 39436 (WebCore::RenderBlock::positionForBox): 39437 (WebCore::RenderBlock::positionForCoordinates): 39438 (WebCore::RenderBlock::getBaselineOfFirstLineBox): 39439 (WebCore::RenderBlock::getBaselineOfLastLineBox): 39440 (WebCore::RenderBlock::adjustForBorderFit): 39441 (WebCore::RenderBlock::addFocusRingRects): 39442 * rendering/RenderBox.cpp: 39443 (WebCore::RenderBox::paintCustomHighlight): 39444 (WebCore::RenderBox::position): 39445 (WebCore::RenderBox::containingBlockWidthForPositioned): 39446 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 39447 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 39448 * rendering/RenderBoxModelObject.cpp: 39449 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 39450 * rendering/RenderFlexibleBox.cpp: 39451 (WebCore::RenderFlexibleBox::layoutVerticalBox): 39452 * rendering/RenderInline.cpp: 39453 (WebCore::RenderInline::absoluteRects): 39454 (WebCore::RenderInline::absoluteQuads): 39455 (WebCore::RenderInline::offsetLeft): 39456 (WebCore::RenderInline::offsetTop): 39457 (WebCore::RenderInline::linesBoundingBox): 39458 (WebCore::RenderInline::relativePositionedInlineOffset): 39459 (WebCore::RenderInline::addFocusRingRects): 39460 (WebCore::RenderInline::paintOutline): 39461 * rendering/RenderLayer.cpp: 39462 (WebCore::RenderLayer::localBoundingBox): 39463 * rendering/RenderSVGTSpan.cpp: 39464 (WebCore::RenderSVGTSpan::absoluteRects): 39465 (WebCore::RenderSVGTSpan::absoluteQuads): 39466 * rendering/RenderSVGText.cpp: 39467 (WebCore::RenderSVGText::absoluteRects): 39468 (WebCore::RenderSVGText::absoluteQuads): 39469 (WebCore::RenderSVGText::relativeBBox): 39470 * rendering/RenderSVGTextPath.cpp: 39471 (WebCore::RenderSVGTextPath::absoluteRects): 39472 (WebCore::RenderSVGTextPath::absoluteQuads): 39473 * rendering/RenderText.cpp: 39474 (WebCore::RenderText::absoluteRects): 39475 (WebCore::RenderText::absoluteRectsForRange): 39476 (WebCore::RenderText::absoluteQuads): 39477 (WebCore::RenderText::absoluteQuadsForRange): 39478 (WebCore::RenderText::localCaretRect): 39479 (WebCore::RenderText::linesBoundingBox): 39480 * rendering/RootInlineBox.cpp: 39481 (WebCore::RootInlineBox::height): 39482 (WebCore::RootInlineBox::clearTruncation): 39483 (WebCore::RootInlineBox::placeEllipsis): 39484 (WebCore::RootInlineBox::paintEllipsisBox): 39485 (WebCore::RootInlineBox::addHighlightOverflow): 39486 (WebCore::RootInlineBox::paintCustomHighlight): 39487 (WebCore::RootInlineBox::paint): 39488 (WebCore::RootInlineBox::nodeAtPoint): 39489 (WebCore::RootInlineBox::childRemoved): 39490 (WebCore::RootInlineBox::fillLineSelectionGap): 39491 (WebCore::RootInlineBox::block): 39492 (WebCore::isEditableLeaf): 39493 (WebCore::RootInlineBox::closestLeafChildForXPos): 39494 (WebCore::RootInlineBox::setVerticalOverflowPositions): 39495 * rendering/RootInlineBox.h: 39496 (WebCore::RootInlineBox::bottomOverflow): 39497 (WebCore::RootInlineBox::floats): 39498 (WebCore::RootInlineBox::setHorizontalOverflowPositions): 39499 (WebCore::RootInlineBox::setVerticalSelectionPositions): 39500 * rendering/SVGCharacterLayoutInfo.cpp: 39501 (WebCore::SVGCharacterLayoutInfo::addLayoutInformation): 39502 * rendering/SVGInlineTextBox.cpp: 39503 (WebCore::SVGInlineTextBox::calculateGlyphWidth): 39504 (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback): 39505 (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback): 39506 (WebCore::SVGInlineTextBox::svgCharacterHitsPosition): 39507 (WebCore::SVGInlineTextBox::nodeAtPoint): 39508 (WebCore::SVGInlineTextBox::paintCharacters): 39509 (WebCore::SVGInlineTextBox::paintSelection): 39510 (WebCore::SVGInlineTextBox::paintDecoration): 39511 * rendering/SVGRenderTreeAsText.cpp: 39512 (WebCore::writeSVGInlineTextBox): 39513 * rendering/SVGRootInlineBox.cpp: 39514 (WebCore::SVGRootInlineBoxPaintWalker::SVGRootInlineBoxPaintWalker): 39515 (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback): 39516 (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback): 39517 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillCallback): 39518 (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeCallback): 39519 (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback): 39520 (WebCore::SVGRootInlineBox::paint): 39521 (WebCore::cummulatedWidthOfInlineBoxCharacterRange): 39522 (WebCore::cummulatedHeightOfInlineBoxCharacterRange): 39523 (WebCore::svgTextRunForInlineTextBox): 39524 (WebCore::cummulatedWidthOrHeightOfTextChunk): 39525 (WebCore::applyTextAnchorToTextChunk): 39526 (WebCore::SVGRootInlineBox::buildLayoutInformation): 39527 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 39528 (WebCore::SVGRootInlineBox::buildLayoutInformationForTextBox): 39529 (WebCore::SVGRootInlineBox::buildTextChunks): 39530 * rendering/bidi.cpp: 39531 (WebCore::RenderBlock::constructLine): 39532 (WebCore::RenderBlock::computeVerticalPositionsForLine): 39533 (WebCore::RenderBlock::layoutInlineChildren): 39534 (WebCore::RenderBlock::checkLinesForTextOverflow): 39535 * svg/SVGTextContentElement.cpp: 39536 (WebCore::cumulativeCharacterRangeLength): 39537 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): 39538 (WebCore::findInlineTextBoxInTextChunks): 39539 39540 2009-02-10 Simon Fraser <simon.fraser (a] apple.com> 39541 39542 Reviewed by Dave Hyatt 39543 39544 Clean up "fallbackAnimating" logic in AnimationBase. This flag indicates 39545 that animation of an accelerated property must run in software for some reason. 39546 39547 Also remove use of private headers in GraphicsLayerCA related to a case 39548 where we may have to fall back on software animation of transform. 39549 39550 * page/animation/AnimationBase.cpp: 39551 (WebCore::AnimationBase::blendProperties): 39552 * page/animation/AnimationBase.h: 39553 * page/animation/ImplicitAnimation.cpp: 39554 (WebCore::ImplicitAnimation::animate): 39555 * page/animation/KeyframeAnimation.cpp: 39556 (WebCore::KeyframeAnimation::animate): 39557 * platform/graphics/mac/GraphicsLayerCA.h: 39558 * platform/graphics/mac/GraphicsLayerCA.mm: 39559 (WebCore::getValueFunctionNameForTransformOperation): 39560 (WebCore::caValueFunctionSupported): 39561 (WebCore::GraphicsLayerCA::setBackgroundColor): 39562 (WebCore::GraphicsLayerCA::setOpacity): 39563 (WebCore::GraphicsLayerCA::animateTransform): 39564 (WebCore::GraphicsLayerCA::animateFloat): 39565 (WebCore::GraphicsLayerCA::setBasicAnimation): 39566 (WebCore::GraphicsLayerCA::setKeyframeAnimation): 39567 39568 2009-02-10 Simon Fraser <simon.fraser (a] apple.com> 39569 39570 Reviewed by Dave Hyatt 39571 39572 Move enclosingCompositingLayer() from RenderObject to RenderLayer, since it 39573 relates to the RenderLayer z-order/overflow structure, rather than the render tree 39574 parent chain. Add a convenience method, ancestorCompositingLayer(), which finds 39575 the enclosing layer excluding self. 39576 39577 Fix enclosingCompositingLayer() to correctly look at stacking context and overflow 39578 lists. 39579 39580 Check for documentBeingDestroyed() in a few places to avoid work on document 39581 teardown. 39582 39583 * rendering/RenderLayer.cpp: 39584 (WebCore::RenderLayer::enclosingCompositingLayer): 39585 (WebCore::RenderLayer::setParent): 39586 (WebCore::RenderLayer::dirtyZOrderLists): 39587 (WebCore::RenderLayer::dirtyOverflowList): 39588 * rendering/RenderLayer.h: 39589 (WebCore::RenderLayer::ancestorCompositingLayer): 39590 * rendering/RenderLayerBacking.cpp: 39591 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 39592 * rendering/RenderLayerCompositor.cpp: 39593 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 39594 (WebCore::RenderLayerCompositor::calculateCompositedBounds): 39595 (WebCore::RenderLayerCompositor::layerWillBeRemoved): 39596 (WebCore::RenderLayerCompositor::clippedByAncestor): 39597 * rendering/RenderLayerCompositor.h: 39598 * rendering/RenderObject.cpp: 39599 (WebCore::RenderObject::containerForRepaint): 39600 * rendering/RenderObject.h: 39601 39602 2009-02-10 David Hyatt <hyatt (a] apple.com> 39603 39604 Rename xPos() and yPos() on RenderLayer to x() and y() to match RenderBox. Rename setPos to setLocation. 39605 39606 Reviewed by Simon Fraser 39607 39608 * dom/MouseRelatedEvent.cpp: 39609 (WebCore::MouseRelatedEvent::receivedTarget): 39610 * rendering/RenderLayer.cpp: 39611 (WebCore::RenderLayer::updateLayerPosition): 39612 (WebCore::RenderLayer::convertToLayerCoords): 39613 * rendering/RenderLayer.h: 39614 (WebCore::RenderLayer::x): 39615 (WebCore::RenderLayer::y): 39616 (WebCore::RenderLayer::setLocation): 39617 * rendering/RenderTreeAsText.cpp: 39618 (WebCore::write): 39619 (WebCore::externalRepresentation): 39620 39621 2009-02-10 Darin Fisher <darin (a] chromium.org> 39622 39623 Reviewed by Eric Seidel. 39624 39625 https://bugs.webkit.org/show_bug.cgi?id=23879 39626 Add missing PLATFORM(SKIA) changes to TransformationMatrix.h 39627 39628 * platform/graphics/transforms/TransformationMatrix.h: 39629 39630 2009-02-10 Sam Weinig <sam (a] webkit.org> 39631 39632 Reviewed by David Hyatt. 39633 39634 Fix for https://bugs.webkit.org/show_bug.cgi?id=15897 39635 Please implement getBoundingClientRect and getClientRects 39636 <rdar://problem/6139669> 39637 39638 Cursory implementation of Element.getBoundingClientRect and 39639 Element.getClientRects. Adds necessary infrastructure classes 39640 ClientRect and ClientRectList. 39641 39642 Tests: fast/dom/getBoundingClientRect.html 39643 fast/dom/getClientRects.html 39644 39645 * DerivedSources.make: 39646 * GNUmakefile.am: 39647 * WebCore.pro: 39648 * WebCore.vcproj/WebCore.vcproj: 39649 * WebCore.xcodeproj/project.pbxproj: 39650 * WebCoreSources.bkl: 39651 * dom/ClientRect.cpp: Added. 39652 (WebCore::ClientRect::ClientRect): 39653 * dom/ClientRect.h: Added. 39654 (WebCore::ClientRect::create): 39655 (WebCore::ClientRect::top): 39656 (WebCore::ClientRect::right): 39657 (WebCore::ClientRect::bottom): 39658 (WebCore::ClientRect::left): 39659 (WebCore::ClientRect::width): 39660 (WebCore::ClientRect::height): 39661 * dom/ClientRect.idl: Added. 39662 * dom/ClientRectList.cpp: Added. 39663 (WebCore::ClientRectList::ClientRectList): 39664 (WebCore::ClientRectList::~ClientRectList): 39665 (WebCore::ClientRectList::length): 39666 (WebCore::ClientRectList::item): 39667 * dom/ClientRectList.h: Added. 39668 (WebCore::ClientRectList::create): 39669 * dom/ClientRectList.idl: Added. 39670 * dom/Element.cpp: 39671 (WebCore::Element::getClientRects): 39672 (WebCore::Element::getBoundingClientRect): 39673 * dom/Element.h: 39674 * dom/Element.idl: 39675 * page/DOMWindow.idl: 39676 * rendering/RenderInline.cpp: 39677 (WebCore::RenderInline::absoluteRects): 39678 (WebCore::RenderInline::absoluteQuads): 39679 39680 2009-02-10 David Hyatt <hyatt (a] apple.com> 39681 39682 Get rid of capsLockStateMayHaveChanged on RenderObject. It is only implemented by one class (text fields), 39683 so devirtualize and just query at the single call site. 39684 39685 Reviewed by Eric Seidel 39686 39687 * page/EventHandler.cpp: 39688 (WebCore::EventHandler::capsLockStateMayHaveChanged): 39689 * rendering/RenderObject.h: 39690 * rendering/RenderTextControlSingleLine.h: 39691 39692 2009-02-10 David Hyatt <hyatt (a] apple.com> 39693 39694 Shrink the size of all RenderObjects (except for RenderInlines) by 4 bytes. This patch moves the cached vertical position member to RenderInlines, 39695 since they were the only objects being queried across multiple lines. 39696 39697 Reviewed by Sam Weinig 39698 39699 * rendering/InlineFlowBox.cpp: 39700 (WebCore::verticalPositionForBox): 39701 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 39702 * rendering/RenderBoxModelObject.cpp: 39703 (WebCore::RenderBoxModelObject::verticalPosition): 39704 * rendering/RenderBoxModelObject.h: 39705 * rendering/RenderInline.cpp: 39706 (WebCore::RenderInline::RenderInline): 39707 (WebCore::RenderInline::verticalPositionFromCache): 39708 * rendering/RenderInline.h: 39709 (WebCore::RenderInline::invalidateVerticalPosition): 39710 * rendering/RenderObject.cpp: 39711 (WebCore::RenderObject::RenderObject): 39712 * rendering/RenderObject.h: 39713 * rendering/RenderText.cpp: 39714 * rendering/RenderText.h: 39715 * rendering/bidi.cpp: 39716 (WebCore::RenderBlock::layoutInlineChildren): 39717 39718 2009-02-10 Dimitri Glazkov <dglazkov (a] chromium.org> 39719 39720 Reviewed by Mark Rowe. 39721 39722 https://bugs.webkit.org/show_bug.cgi?id=23868 39723 Fix code style issues: removed 80-col wrapping, incorrect include style, if statement body on same line. 39724 39725 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: 39726 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: 39727 39728 2009-02-10 Dimitri Glazkov <dglazkov (a] chromium.org> 39729 39730 Reviewed by Eric Seidel. 39731 39732 https://bugs.webkit.org/show_bug.cgi?id=23868 39733 Add HTMLInputElement and HTMLOptionsCollection V8 custom bindings. 39734 39735 * bindings/v8/custom/V8HTMLInputElementCustom.cpp: Added. 39736 (WebCore::ACCESSOR_GETTER): 39737 (WebCore::ACCESSOR_SETTER): 39738 (WebCore::CALLBACK_FUNC_DECL): 39739 * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: Added. 39740 (WebCore::ACCESSOR_GETTER): 39741 (WebCore::ACCESSOR_SETTER): 39742 39743 2009-02-10 Adam Roben <aroben (a] apple.com> 39744 39745 Fix Bug 23871: Assertion failure beneath WebCore::openFunc when 39746 running http/tests/security/xss-DENIED-xsl-document-redirect.xml 39747 39748 <https://bugs.webkit.org/show_bug.cgi?id=23871> 39749 39750 Reviewed by Alexey Proskuryakov. 39751 39752 Covered by existing tests. 39753 39754 * dom/XMLTokenizerLibxml2.cpp: 39755 (WebCore::openFunc): Use the two-parameter KURL constructor so that 39756 the string will be parsed. libxml2 gives us a UTF-8-encoded string 39757 that needs to be parsed. 39758 39759 2009-02-10 David Hyatt <hyatt (a] apple.com> 39760 39761 Shrink the size of all replaced elements (images, form controls, plugins) by 4 bytes by packing the 39762 overflow boolean into the RenderObject base class. 39763 39764 Reviewed by Sam Weinig 39765 39766 * rendering/RenderObject.cpp: 39767 (WebCore::RenderObject::RenderObject): 39768 * rendering/RenderObject.h: 39769 (WebCore::RenderObject::replacedHasOverflow): 39770 (WebCore::RenderObject::setReplacedHasOverflow): 39771 * rendering/RenderReplaced.cpp: 39772 (WebCore::RenderReplaced::RenderReplaced): 39773 (WebCore::RenderReplaced::~RenderReplaced): 39774 (WebCore::RenderReplaced::adjustOverflowForBoxShadow): 39775 (WebCore::RenderReplaced::overflowHeight): 39776 (WebCore::RenderReplaced::overflowWidth): 39777 (WebCore::RenderReplaced::overflowLeft): 39778 (WebCore::RenderReplaced::overflowTop): 39779 (WebCore::RenderReplaced::overflowRect): 39780 * rendering/RenderReplaced.h: 39781 39782 2009-02-10 Eric Carlson <eric.carlson (a] apple.com> 39783 39784 Reviewed by Simon Fraser. 39785 39786 https://bugs.webkit.org/show_bug.cgi?id=23870 39787 Make it possible for a port to require a user gesture for an <audio> or <video> element 39788 to load a url. 39789 39790 * html/HTMLMediaElement.cpp: 39791 (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_loadRestrictions. 39792 (WebCore::HTMLMediaElement::attributeChanged): Only one attribute can change so put an "else" between tests. 39793 (WebCore::HTMLMediaElement::load): Return INVALID_STATE_ERR if RequireUserGestureLoadRestriction is set 39794 and we are not preocessing a user gesture. 39795 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): Remove unnecessary white space. 39796 (WebCore::HTMLMediaElement::play): Ditto. 39797 (WebCore::HTMLMediaElement::endScrubbing): Remove unnecessary braces added in r40789. 39798 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Cache currentTime() in a local instead of calling it 39799 multiple times. 39800 (WebCore::HTMLMediaElement::processingUserGesture): New. 39801 * html/HTMLMediaElement.h: 39802 (WebCore::HTMLMediaElement::): Define LoadRestrictions, add m_loadRestrictions. 39803 39804 2009-02-10 Holger Hans Peter Freyther <zecke (a] selfish.org> 39805 39806 Reviewed by Sam Weinig. 39807 39808 Remove the SVG checks from FloatPoint3D as it is used 39809 by TransformationMatrix. 39810 39811 * platform/graphics/FloatPoint3D.cpp: 39812 * platform/graphics/FloatPoint3D.h: 39813 39814 2009-02-10 David Hyatt <hyatt (a] apple.com> 39815 39816 Remove the m_baseline member variable from all line boxes, since it can easily be computed when needed and did not need to be cached. 39817 39818 Reviewed by Sam Weinig 39819 39820 * rendering/EllipsisBox.cpp: 39821 (WebCore::EllipsisBox::paint): 39822 (WebCore::EllipsisBox::nodeAtPoint): 39823 * rendering/EllipsisBox.h: 39824 (WebCore::EllipsisBox::EllipsisBox): 39825 * rendering/InlineBox.h: 39826 (WebCore::InlineBox::InlineBox): 39827 * rendering/InlineFlowBox.cpp: 39828 (WebCore::InlineFlowBox::verticallyAlignBoxes): 39829 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 39830 (WebCore::InlineFlowBox::placeBoxesVertically): 39831 (WebCore::InlineFlowBox::paintTextDecorations): 39832 * rendering/InlineFlowBox.h: 39833 (WebCore::InlineFlowBox::marginBorderPaddingLeft): 39834 (WebCore::InlineFlowBox::marginBorderPaddingRight): 39835 (WebCore::InlineFlowBox::marginLeft): 39836 (WebCore::InlineFlowBox::marginRight): 39837 (WebCore::InlineFlowBox::borderLeft): 39838 (WebCore::InlineFlowBox::borderRight): 39839 (WebCore::InlineFlowBox::borderTop): 39840 (WebCore::InlineFlowBox::borderBottom): 39841 (WebCore::InlineFlowBox::paddingLeft): 39842 (WebCore::InlineFlowBox::paddingRight): 39843 (WebCore::InlineFlowBox::paddingTop): 39844 (WebCore::InlineFlowBox::paddingBottom): 39845 (WebCore::InlineFlowBox::includeLeftEdge): 39846 (WebCore::InlineFlowBox::includeRightEdge): 39847 (WebCore::InlineFlowBox::baseline): 39848 * rendering/InlineTextBox.cpp: 39849 (WebCore::InlineTextBox::paint): 39850 (WebCore::InlineTextBox::paintDecoration): 39851 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 39852 (WebCore::InlineTextBox::paintCompositionUnderline): 39853 * rendering/RenderBlock.cpp: 39854 (WebCore::RenderBlock::getBaselineOfFirstLineBox): 39855 (WebCore::RenderBlock::getBaselineOfLastLineBox): 39856 * rendering/RenderTableCell.cpp: 39857 (WebCore::RenderTableCell::baselinePosition): 39858 * rendering/RootInlineBox.cpp: 39859 (WebCore::RootInlineBox::placeEllipsis): 39860 * rendering/SVGInlineTextBox.cpp: 39861 (WebCore::SVGInlineTextBox::paintDecoration): 39862 * rendering/SVGRootInlineBox.cpp: 39863 (WebCore::applyTextAnchorToTextChunk): 39864 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 39865 39866 2009-02-10 Alexey Proskuryakov <ap (a] webkit.org> 39867 39868 Reviewed by Darin Adler. 39869 39870 https://bugs.webkit.org/show_bug.cgi?id=23867 39871 Eliminate obsolete frame->document() checks 39872 39873 * page/FrameView.cpp: (WebCore::FrameView::paintContents): Apparently due to a typo 39874 (document vs. !document), fillWithRed was always set to false, and other branches were 39875 never taken. Removing the check for document restores debug-only red color filling. 39876 39877 * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): Only call dispatchWindowObjectAvailable() 39878 after a document is created. A client can do anything in its delegate method, so we'd need 39879 to have frame->document() checks otherwise. DumpRenderTree uses this delegate to add its 39880 custom property, and it was crashing due to null document in JSDOMWindowBase::getOwnPropertySlot(). 39881 39882 * bindings/js/JSDOMWindowBase.cpp: 39883 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 39884 * bindings/js/JSDOMWindowCustom.cpp: 39885 (WebCore::JSDOMWindow::addEventListener): 39886 (WebCore::JSDOMWindow::removeEventListener): 39887 * bindings/js/JSNavigatorCustom.cpp: 39888 (WebCore::needsYouTubeQuirk): 39889 * bindings/js/ScheduledAction.cpp: 39890 (WebCore::ScheduledAction::execute): 39891 * bindings/js/ScriptControllerMac.mm: 39892 (WebCore::updateRenderingForBindings): 39893 * dom/Document.cpp: 39894 (WebCore::Document::initSecurityContext): 39895 * editing/Editor.cpp: 39896 (WebCore::Editor::deleteWithDirection): 39897 (WebCore::Editor::dispatchCPPEvent): 39898 (WebCore::Editor::applyStyle): 39899 (WebCore::Editor::applyParagraphStyle): 39900 * editing/EditorCommand.cpp: 39901 (WebCore::Editor::Command::execute): 39902 (WebCore::Editor::Command::isEnabled): 39903 (WebCore::Editor::Command::state): 39904 (WebCore::Editor::Command::value): 39905 * editing/SelectionController.cpp: 39906 (WebCore::SelectionController::recomputeCaretRect): 39907 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 39908 (WebCore::SelectionController::selectAll): 39909 (WebCore::SelectionController::setFocused): 39910 * inspector/InspectorController.cpp: 39911 (WebCore::getResourceDocumentNode): 39912 * inspector/JavaScriptDebugServer.cpp: 39913 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 39914 * loader/DocumentLoader.cpp: 39915 (WebCore::canonicalizedTitle): 39916 (WebCore::DocumentLoader::stopLoading): 39917 (WebCore::DocumentLoader::isLoadingInAPISense): 39918 (WebCore::DocumentLoader::subresource): 39919 (WebCore::DocumentLoader::getSubresources): 39920 * loader/FrameLoader.cpp: 39921 (WebCore::FrameLoader::urlSelected): 39922 (WebCore::FrameLoader::stop): 39923 (WebCore::FrameLoader::iconURL): 39924 (WebCore::FrameLoader::executeIfJavaScriptURL): 39925 (WebCore::FrameLoader::clear): 39926 (WebCore::FrameLoader::endIfNotLoadingMainResource): 39927 (WebCore::FrameLoader::restoreDocumentState): 39928 (WebCore::FrameLoader::gotoAnchor): 39929 (WebCore::FrameLoader::loadDone): 39930 (WebCore::FrameLoader::checkCompleted): 39931 (WebCore::FrameLoader::checkCallImplicitClose): 39932 (WebCore::FrameLoader::scheduleRefresh): 39933 (WebCore::FrameLoader::outgoingOrigin): 39934 (WebCore::FrameLoader::canCachePageContainingThisFrame): 39935 (WebCore::FrameLoader::logCanCacheFrameDecision): 39936 (WebCore::FrameLoader::updatePolicyBaseURL): 39937 (WebCore::FrameLoader::setPolicyBaseURL): 39938 (WebCore::FrameLoader::frameDetached): 39939 (WebCore::FrameLoader::shouldScrollToAnchor): 39940 (WebCore::FrameLoader::saveDocumentState): 39941 * loader/archive/cf/LegacyWebArchive.cpp: 39942 (WebCore::LegacyWebArchive::create): 39943 * loader/icon/IconFetcher.cpp: 39944 (WebCore::IconFetcher::create): 39945 * loader/icon/IconLoader.cpp: 39946 (WebCore::IconLoader::startLoading): 39947 * page/AccessibilityRenderObject.cpp: 39948 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): 39949 * page/Chrome.cpp: 39950 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 39951 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 39952 * page/DOMWindow.cpp: 39953 (WebCore::DOMWindow::sessionStorage): 39954 (WebCore::DOMWindow::alert): 39955 (WebCore::DOMWindow::confirm): 39956 (WebCore::DOMWindow::prompt): 39957 (WebCore::DOMWindow::scrollX): 39958 (WebCore::DOMWindow::scrollY): 39959 (WebCore::DOMWindow::getMatchedCSSRules): 39960 (WebCore::DOMWindow::openDatabase): 39961 (WebCore::DOMWindow::scrollBy): 39962 (WebCore::DOMWindow::scrollTo): 39963 * page/EventHandler.cpp: 39964 (WebCore::EventHandler::allowDHTMLDrag): 39965 (WebCore::EventHandler::scrollOverflow): 39966 (WebCore::EventHandler::handleMousePressEvent): 39967 (WebCore::EventHandler::handleMouseDoubleClickEvent): 39968 (WebCore::EventHandler::handleMouseMoveEvent): 39969 (WebCore::EventHandler::handleMouseReleaseEvent): 39970 (WebCore::EventHandler::updateDragAndDrop): 39971 (WebCore::EventHandler::handleWheelEvent): 39972 (WebCore::EventHandler::sendContextMenuEvent): 39973 (WebCore::EventHandler::capsLockStateMayHaveChanged): 39974 (WebCore::EventHandler::sendResizeEvent): 39975 (WebCore::EventHandler::sendScrollEvent): 39976 * page/FocusController.cpp: 39977 (WebCore::deepFocusableNode): 39978 (WebCore::FocusController::advanceFocus): 39979 * page/Frame.cpp: 39980 (WebCore::Frame::setFocusedNodeIfNeeded): 39981 (WebCore::Frame::shouldApplyTextZoom): 39982 (WebCore::Frame::shouldApplyPageZoom): 39983 (WebCore::Frame::setZoomFactor): 39984 (WebCore::Frame::setPrinting): 39985 (WebCore::Frame::reapplyStyles): 39986 (WebCore::Frame::isContentEditable): 39987 (WebCore::Frame::computeAndSetTypingStyle): 39988 (WebCore::Frame::selectionComputedStyle): 39989 (WebCore::Frame::applyEditingStyleToBodyElement): 39990 (WebCore::Frame::removeEditingStyleFromBodyElement): 39991 (WebCore::Frame::contentRenderer): 39992 (WebCore::Frame::styleForSelectionStart): 39993 (WebCore::Frame::setSelectionFromNone): 39994 (WebCore::Frame::findString): 39995 (WebCore::Frame::markAllMatchesForText): 39996 (WebCore::Frame::setMarkedTextMatchesAreHighlighted): 39997 (WebCore::Frame::documentTypeString): 39998 (WebCore::Frame::shouldClose): 39999 (WebCore::Frame::respondToChangedSelection): 40000 * page/FrameView.cpp: 40001 (WebCore::FrameView::~FrameView): 40002 (WebCore::FrameView::createScrollbar): 40003 (WebCore::FrameView::layout): 40004 (WebCore::FrameView::layoutTimerFired): 40005 (WebCore::FrameView::scheduleRelayout): 40006 (WebCore::FrameView::needsLayout): 40007 (WebCore::FrameView::unscheduleRelayout): 40008 (WebCore::FrameView::windowClipRect): 40009 * page/Geolocation.cpp: 40010 (WebCore::Geolocation::disconnectFrame): 40011 * page/Page.cpp: 40012 (WebCore::networkStateChanged): 40013 (WebCore::Page::~Page): 40014 (WebCore::Page::unmarkAllTextMatches): 40015 (WebCore::Page::setMediaVolume): 40016 * page/animation/AnimationController.cpp: 40017 (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired): 40018 * page/mac/EventHandlerMac.mm: 40019 (WebCore::EventHandler::currentKeyboardEvent): 40020 (WebCore::EventHandler::needsKeyboardEventDisambiguationQuirks): 40021 * page/mac/FrameMac.mm: 40022 (WebCore::Frame::dashboardRegionsDictionary): 40023 (WebCore::Frame::setUserStyleSheetLocation): 40024 (WebCore::Frame::setUserStyleSheet): 40025 * storage/LocalStorageArea.cpp: 40026 (WebCore::LocalStorageArea::dispatchStorageEvent): 40027 * storage/SessionStorageArea.cpp: 40028 (WebCore::SessionStorageArea::dispatchStorageEvent): 40029 * svg/graphics/SVGImage.cpp: 40030 (WebCore::SVGImage::setContainerSize): 40031 (WebCore::SVGImage::usesContainerSize): 40032 (WebCore::SVGImage::size): 40033 (WebCore::SVGImage::hasRelativeWidth): 40034 (WebCore::SVGImage::hasRelativeHeight): 40035 Removed frame->document() checks. 40036 40037 2009-02-10 Adam Treat <adam.treat (a] torchmobile.com> 40038 40039 Reviewed by George Staikos. 40040 40041 Attempt to fix the Qt build after r40791. 40042 40043 * rendering/RenderSVGRoot.cpp: 40044 40045 2009-02-10 Adam Treat <adam.treat (a] torchmobile.com> 40046 40047 Reviewed by George Staikos. 40048 40049 Minor code cleanup. 40050 40051 * dom/ContainerNode.cpp: 40052 (WebCore::ContainerNode::replaceChild): 40053 40054 2009-02-10 Adam Treat <adam.treat (a] torchmobile.com> 40055 40056 Fix Qt build following r40793. 40057 40058 * editing/qt/EditorQt.cpp: 40059 40060 2009-02-10 Feng Qian <feng (a] chromium.org> 40061 40062 Reviewed by Alexey Proskuryakov. 40063 40064 Fix crashes when accessing navigator object of a deleted frame. 40065 https://bugs.webkit.org/show_bug.cgi?id=23626 40066 A layout test is added: fast/dom/navigator-detached-no-crash.html 40067 40068 * page/Navigator.cpp: 40069 (WebCore::Navigator::cookieEnabled): 40070 (WebCore::Navigator::javaEnabled): 40071 40072 2009-02-10 Sverrir Berg <sverrir (a] chromium.org> 40073 40074 Reviewed by Eric Seidel. 40075 40076 https://bugs.webkit.org/show_bug.cgi?id=23630 40077 Add complex font rendering using Skia instead of Windows ScriptTextOut. 40078 This adds support for enhanced webkit styles when drawing complex 40079 glyphs. 40080 40081 * platform/graphics/chromium/FontChromiumWin.cpp: 40082 (WebCore::Font::drawGlyphs): 40083 (WebCore::Font::drawComplexText): 40084 * platform/graphics/chromium/UniscribeHelper.cpp: 40085 (WebCore::containsMissingGlyphs): 40086 (WebCore::UniscribeHelper::draw): 40087 (WebCore::UniscribeHelper::shape): 40088 * platform/graphics/chromium/UniscribeHelper.h: 40089 * platform/graphics/skia/SkiaFontWin.cpp: 40090 (WebCore::windowsCanHandleTextDrawing): 40091 (WebCore::skiaDrawText): 40092 (WebCore::paintSkiaText): 40093 * platform/graphics/skia/SkiaFontWin.h: 40094 40095 2009-02-10 Darin Fisher <darin (a] chromium.org> 40096 40097 Revert r40797 as requested by Sam Weinig. 40098 40099 https://bugs.webkit.org/show_bug.cgi?id=23809 40100 40101 * bindings/scripts/CodeGeneratorJS.pm: 40102 * dom/Document.idl: 40103 * html/HTMLCanvasElement.idl: 40104 40105 2009-02-09 Darin Fisher <darin (a] chromium.org> 40106 40107 Reviewed by Eric Seidel. 40108 40109 https://bugs.webkit.org/show_bug.cgi?id=23855 40110 Fix TransformationMatrixSkia.cpp and GraphicsContextSkia.cpp bustage 40111 40112 * platform/graphics/skia/GraphicsContextSkia.cpp: 40113 (WebCore::GraphicsContext::getCTM): 40114 * platform/graphics/skia/TransformationMatrixSkia.cpp: 40115 (WebCore::TransformationMatrix::operator SkMatrix): 40116 40117 2009-02-09 Dan Bernstein <mitz (a] apple.com> 40118 40119 Reviewed by Dave Hyatt. 40120 40121 - fix <rdar://problem/6568942> REGRESSION: Font rendering in Wikipedia input field is incorrect (default GDI text mode) 40122 40123 * platform/graphics/win/SimpleFontDataWin.cpp: 40124 (WebCore::SimpleFontData::widthForGDIGlyph): Make sure that the DC is 40125 in the advanced graphics mode before calling GetCharWidthI(), because 40126 otherwise that function returns incorrect results for the default UI 40127 font at a certain size. 40128 40129 2009-02-09 Chris Marrin <cmarrin (a] apple.com> 40130 40131 Reviewed by Simon Fraser 40132 40133 https://bugs.webkit.org/show_bug.cgi?id=23689 40134 40135 Added 3D functions to WebKitCSSMatrix. This depends on the 3D functions 40136 added to TransformationMatrix in https://bugs.webkit.org/show_bug.cgi?id=6868 40137 40138 Test: transforms/3d/cssmatrix-3d-interface.xhtml 40139 40140 * css/WebKitCSSMatrix.cpp: 40141 * css/WebKitCSSMatrix.h: 40142 * css/WebKitCSSMatrix.idl: 40143 40144 2009-02-09 Mark Rowe <mrowe (a] apple.com> 40145 40146 Reviewed by Darin Adler. 40147 40148 Fix <https://bugs.webkit.org/show_bug.cgi?id=23858> 40149 Bug 23858: Crash when removing a HTMLSelectElement from the document from inside its focus event handler 40150 40151 * html/HTMLSelectElement.cpp: 40152 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't store the renderer in a local variable 40153 as it can be invalidated by any of the calls to focus() within the function. Instead, retrieve it and 40154 null-check it when it is needed. 40155 40156 2009-02-09 David Hyatt <hyatt (a] apple.com> 40157 40158 Remove the m_height member from InlineBox. This shaves 4 bytes off of all inline boxes. Unfortunately SVG 40159 sets heights that are independent of the renderer or of the font, and so all SVG boxes have to retain m_height 40160 member variables. 40161 40162 height() on InlineBox is now a virtual function that does a dynamic computation (including shrinking boxes 40163 with no text children). For SVG boxes there is also a non-virtual setHeight function for updating the 40164 m_height member variable like before. 40165 40166 Reviewed by Darin Adler 40167 40168 * rendering/EllipsisBox.cpp: 40169 (WebCore::EllipsisBox::nodeAtPoint): 40170 * rendering/EllipsisBox.h: 40171 (WebCore::EllipsisBox::EllipsisBox): 40172 * rendering/InlineBox.cpp: 40173 (WebCore::InlineBox::height): 40174 (WebCore::InlineBox::root): 40175 * rendering/InlineBox.h: 40176 (WebCore::InlineBox::InlineBox): 40177 (WebCore::InlineBox::isInlineFlowBox): 40178 (WebCore::InlineBox::isRootInlineBox): 40179 (WebCore::InlineBox::topOverflow): 40180 (WebCore::InlineBox::bottomOverflow): 40181 (WebCore::InlineBox::leftOverflow): 40182 (WebCore::InlineBox::rightOverflow): 40183 * rendering/InlineFlowBox.cpp: 40184 (WebCore::InlineFlowBox::height): 40185 (WebCore::InlineFlowBox::adjustMaxAscentAndDescent): 40186 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 40187 (WebCore::InlineFlowBox::placeBoxesVertically): 40188 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): 40189 (WebCore::InlineFlowBox::nodeAtPoint): 40190 * rendering/InlineFlowBox.h: 40191 (WebCore::InlineFlowBox::isInlineFlowBox): 40192 * rendering/InlineTextBox.cpp: 40193 (WebCore::InlineTextBox::height): 40194 (WebCore::InlineTextBox::nodeAtPoint): 40195 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 40196 (WebCore::InlineTextBox::paintCompositionUnderline): 40197 * rendering/InlineTextBox.h: 40198 * rendering/RootInlineBox.cpp: 40199 (WebCore::RootInlineBox::height): 40200 (WebCore::RootInlineBox::placeEllipsis): 40201 (WebCore::RootInlineBox::setVerticalOverflowPositions): 40202 * rendering/RootInlineBox.h: 40203 (WebCore::RootInlineBox::isRootInlineBox): 40204 (WebCore::RootInlineBox::topOverflow): 40205 (WebCore::RootInlineBox::bottomOverflow): 40206 (WebCore::RootInlineBox::leftOverflow): 40207 (WebCore::RootInlineBox::rightOverflow): 40208 (WebCore::RootInlineBox::selectionBottom): 40209 (WebCore::RootInlineBox::Overflow::Overflow): 40210 (WebCore::RootInlineBox::setVerticalSelectionPositions): 40211 * rendering/SVGInlineFlowBox.h: 40212 (WebCore::SVGInlineFlowBox::SVGInlineFlowBox): 40213 (WebCore::SVGInlineFlowBox::height): 40214 (WebCore::SVGInlineFlowBox::setHeight): 40215 * rendering/SVGInlineTextBox.cpp: 40216 (WebCore::SVGInlineTextBox::SVGInlineTextBox): 40217 * rendering/SVGInlineTextBox.h: 40218 (WebCore::SVGInlineTextBox::height): 40219 (WebCore::SVGInlineTextBox::setHeight): 40220 * rendering/SVGRootInlineBox.cpp: 40221 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 40222 * rendering/SVGRootInlineBox.h: 40223 (WebCore::SVGRootInlineBox::SVGRootInlineBox): 40224 (WebCore::SVGRootInlineBox::height): 40225 (WebCore::SVGRootInlineBox::setHeight): 40226 40227 2009-02-09 Eric Seidel <eric (a] webkit.org> 40228 40229 Reviewed by Sam Weinig. 40230 40231 Document our Selection DOM extensions 40232 (in preparation for re-writing Selection to work with ranges) 40233 40234 * page/DOMSelection.cpp: 40235 (WebCore::DOMSelection::type): 40236 * page/DOMSelection.h: 40237 * page/DOMSelection.idl: 40238 40239 2009-02-09 Eric Seidel <eric (a] webkit.org> 40240 40241 Attempt to fix wx build 40242 40243 * WebCoreSources.bkl: change Selection to VisibleSelection 40244 40245 2009-02-06 Darin Fisher <darin (a] chromium.org> 40246 40247 Reviewed by Eric Seidel. 40248 40249 https://bugs.webkit.org/show_bug.cgi?id=23809 40250 Return CanvasRenderingContext2D instead of DOMObject in IDL to avoid V8 #ifdefs 40251 40252 * bindings/scripts/CodeGeneratorJS.pm: 40253 * dom/Document.idl: 40254 * html/HTMLCanvasElement.idl: 40255 40256 2009-02-09 Dirk Schulze <krit (a] webkit.org> 40257 40258 Reviewed by Eric Seidel. 40259 40260 Transform the gradient instead of the context for most platforms and 40261 transform the context after CGContextReplacePathWithStrokedPath for CG. 40262 40263 REGRESSION: SVG gradient transformation/BoundingBox can cause ugly stroke thickness 40264 https://bugs.webkit.org/show_bug.cgi?id=23547 40265 40266 * platform/graphics/Gradient.h: 40267 (WebCore::Gradient::setGradientSpaceTransform): 40268 (WebCore::Gradient::gradientSpaceTransform): 40269 * platform/graphics/cairo/GradientCairo.cpp: 40270 (WebCore::Gradient::platformGradient): 40271 * platform/graphics/cg/GraphicsContextCG.cpp: 40272 (WebCore::GraphicsContext::fillPath): 40273 (WebCore::GraphicsContext::strokePath): 40274 (WebCore::GraphicsContext::fillRect): 40275 * platform/graphics/qt/GraphicsContextQt.cpp: 40276 (WebCore::GraphicsContext::fillPath): 40277 (WebCore::GraphicsContext::strokePath): 40278 (WebCore::GraphicsContext::fillRect): 40279 * platform/graphics/skia/GradientSkia.cpp: 40280 (WebCore::Gradient::platformGradient): 40281 * svg/graphics/SVGPaintServerGradient.cpp: 40282 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): 40283 (WebCore::clipToTextMask): 40284 (WebCore::SVGPaintServerGradient::setup): 40285 (WebCore::SVGPaintServerGradient::teardown): 40286 40287 2009-02-09 Sam Weinig <sam (a] webkit.org> 40288 40289 Reviewed by David Hyatt. 40290 40291 Fix the highlight when inspecting inline elements. 40292 40293 * inspector/InspectorController.cpp: 40294 (WebCore::drawHighlightForBox): 40295 (WebCore::drawHighlightForLineBoxes): 40296 (WebCore::InspectorController::drawNodeHighlight): 40297 40298 2009-02-09 Eric Seidel <eric (a] webkit.org> 40299 40300 Fix the gtk build by adding VisibleSelection and removing Selection. 40301 40302 * GNUmakefile.am: 40303 40304 2009-02-09 Eric Seidel <eric (a] webkit.org> 40305 40306 Reviewed by Dave Hyatt. 40307 40308 Rename Selection to VisibleSelection to allow us to separate 40309 the selections the user works with from the ones used by 40310 the JS editing APIs. 40311 https://bugs.webkit.org/show_bug.cgi?id=23852 40312 40313 No functional changes, thus no tests. 40314 40315 * WebCore.base.exp: 40316 * WebCore.pro: 40317 * WebCore.scons: 40318 * WebCore.vcproj/WebCore.vcproj: 40319 * WebCore.xcodeproj/project.pbxproj: 40320 * dom/Element.cpp: 40321 (WebCore::Element::updateFocusAppearance): 40322 * editing/ApplyStyleCommand.cpp: 40323 (WebCore::ApplyStyleCommand::updateStartEnd): 40324 (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): 40325 * editing/BreakBlockquoteCommand.cpp: 40326 (WebCore::BreakBlockquoteCommand::doApply): 40327 * editing/CompositeEditCommand.cpp: 40328 (WebCore::CompositeEditCommand::inputText): 40329 (WebCore::CompositeEditCommand::deleteSelection): 40330 (WebCore::CompositeEditCommand::rebalanceWhitespace): 40331 (WebCore::CompositeEditCommand::pushAnchorElementDown): 40332 (WebCore::CompositeEditCommand::pushPartiallySelectedAnchorElementsDown): 40333 (WebCore::CompositeEditCommand::moveParagraphs): 40334 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): 40335 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): 40336 * editing/CompositeEditCommand.h: 40337 * editing/CreateLinkCommand.cpp: 40338 (WebCore::CreateLinkCommand::doApply): 40339 * editing/DeleteButtonController.cpp: 40340 (WebCore::enclosingDeletableElement): 40341 (WebCore::DeleteButtonController::respondToChangedSelection): 40342 * editing/DeleteButtonController.h: 40343 * editing/DeleteSelectionCommand.cpp: 40344 (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): 40345 (WebCore::DeleteSelectionCommand::clearTransientState): 40346 (WebCore::DeleteSelectionCommand::doApply): 40347 * editing/DeleteSelectionCommand.h: 40348 (WebCore::DeleteSelectionCommand::create): 40349 * editing/EditCommand.cpp: 40350 (WebCore::EditCommand::setStartingSelection): 40351 (WebCore::EditCommand::setEndingSelection): 40352 * editing/EditCommand.h: 40353 (WebCore::EditCommand::startingSelection): 40354 (WebCore::EditCommand::endingSelection): 40355 * editing/Editor.cpp: 40356 (WebCore::Editor::selectionForCommand): 40357 (WebCore::Editor::respondToChangedSelection): 40358 (WebCore::Editor::respondToChangedContents): 40359 (WebCore::Editor::applyStyle): 40360 (WebCore::Editor::applyParagraphStyle): 40361 (WebCore::Editor::appliedEditing): 40362 (WebCore::Editor::unappliedEditing): 40363 (WebCore::Editor::reappliedEditing): 40364 (WebCore::Editor::insertTextWithoutSendingTextEvent): 40365 (WebCore::Editor::selectComposition): 40366 (WebCore::Editor::confirmComposition): 40367 (WebCore::Editor::advanceToNextMisspelling): 40368 (WebCore::Editor::markMisspellingsAfterTypingToPosition): 40369 (WebCore::markMisspellingsOrBadGrammar): 40370 (WebCore::Editor::markMisspellings): 40371 (WebCore::Editor::markBadGrammar): 40372 (WebCore::Editor::rangeForPoint): 40373 (WebCore::Editor::transpose): 40374 * editing/Editor.h: 40375 * editing/EditorCommand.cpp: 40376 (WebCore::expandSelectionToGranularity): 40377 (WebCore::executeSwapWithMark): 40378 (WebCore::enabledVisibleSelection): 40379 (WebCore::enabledVisibleSelectionAndMark): 40380 (WebCore::enableCaretInEditableText): 40381 * editing/FormatBlockCommand.cpp: 40382 (WebCore::FormatBlockCommand::modifyRange): 40383 (WebCore::FormatBlockCommand::doApply): 40384 * editing/IndentOutdentCommand.cpp: 40385 (WebCore::IndentOutdentCommand::indentRegion): 40386 (WebCore::IndentOutdentCommand::outdentRegion): 40387 (WebCore::IndentOutdentCommand::doApply): 40388 * editing/InsertLineBreakCommand.cpp: 40389 (WebCore::InsertLineBreakCommand::doApply): 40390 * editing/InsertListCommand.cpp: 40391 (WebCore::InsertListCommand::modifyRange): 40392 (WebCore::InsertListCommand::doApply): 40393 * editing/InsertParagraphSeparatorCommand.cpp: 40394 (WebCore::InsertParagraphSeparatorCommand::doApply): 40395 * editing/InsertTextCommand.cpp: 40396 (WebCore::InsertTextCommand::performTrivialReplace): 40397 (WebCore::InsertTextCommand::input): 40398 * editing/ModifySelectionListLevel.cpp: 40399 (WebCore::getStartEndListChildren): 40400 (WebCore::canIncreaseListLevel): 40401 (WebCore::canDecreaseListLevel): 40402 * editing/MoveSelectionCommand.cpp: 40403 (WebCore::MoveSelectionCommand::doApply): 40404 * editing/RemoveFormatCommand.cpp: 40405 * editing/ReplaceSelectionCommand.cpp: 40406 (WebCore::ReplacementFragment::ReplacementFragment): 40407 (WebCore::ReplaceSelectionCommand::doApply): 40408 (WebCore::ReplaceSelectionCommand::completeHTMLReplacement): 40409 * editing/Selection.cpp: Removed. 40410 * editing/Selection.h: Removed. 40411 * editing/SelectionController.cpp: 40412 (WebCore::SelectionController::moveTo): 40413 (WebCore::SelectionController::setSelection): 40414 (WebCore::SelectionController::nodeWillBeRemoved): 40415 (WebCore::SelectionController::clear): 40416 (WebCore::SelectionController::setBase): 40417 (WebCore::SelectionController::setExtent): 40418 (WebCore::SelectionController::selectFrameElementInParentIfFullySelected): 40419 (WebCore::SelectionController::selectAll): 40420 (WebCore::SelectionController::setSelectedRange): 40421 * editing/SelectionController.h: 40422 (WebCore::SelectionController::selection): 40423 (WebCore::SelectionController::selectionType): 40424 * editing/TypingCommand.cpp: 40425 (WebCore::TypingCommand::insertText): 40426 (WebCore::TypingCommand::deleteKeyPressed): 40427 (WebCore::TypingCommand::forwardDeleteKeyPressed): 40428 * editing/TypingCommand.h: 40429 * editing/VisiblePosition.cpp: 40430 (WebCore::VisiblePosition::honorEditableBoundaryAtOrBefore): 40431 (WebCore::VisiblePosition::honorEditableBoundaryAtOrAfter): 40432 * editing/VisibleSelection.cpp: Added. 40433 (WebCore::VisibleSelection::VisibleSelection): 40434 (WebCore::VisibleSelection::selectionFromContentsOfNode): 40435 (WebCore::VisibleSelection::setBase): 40436 (WebCore::VisibleSelection::setExtent): 40437 (WebCore::VisibleSelection::firstRange): 40438 (WebCore::VisibleSelection::toNormalizedRange): 40439 (WebCore::VisibleSelection::expandUsingGranularity): 40440 (WebCore::makeSearchRange): 40441 (WebCore::VisibleSelection::appendTrailingWhitespace): 40442 (WebCore::VisibleSelection::setBaseAndExtentToDeepEquivalents): 40443 (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): 40444 (WebCore::VisibleSelection::updateSelectionType): 40445 (WebCore::VisibleSelection::validate): 40446 (WebCore::VisibleSelection::setWithoutValidation): 40447 (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): 40448 (WebCore::VisibleSelection::isContentEditable): 40449 (WebCore::VisibleSelection::isContentRichlyEditable): 40450 (WebCore::VisibleSelection::rootEditableElement): 40451 (WebCore::VisibleSelection::shadowTreeRootNode): 40452 (WebCore::VisibleSelection::debugPosition): 40453 (WebCore::VisibleSelection::formatForDebugger): 40454 (WebCore::VisibleSelection::showTreeForThis): 40455 (showTree): 40456 * editing/VisibleSelection.h: Added. 40457 (WebCore::VisibleSelection::): 40458 (WebCore::VisibleSelection::selectionType): 40459 (WebCore::VisibleSelection::setAffinity): 40460 (WebCore::VisibleSelection::affinity): 40461 (WebCore::VisibleSelection::base): 40462 (WebCore::VisibleSelection::extent): 40463 (WebCore::VisibleSelection::start): 40464 (WebCore::VisibleSelection::end): 40465 (WebCore::VisibleSelection::visibleStart): 40466 (WebCore::VisibleSelection::visibleEnd): 40467 (WebCore::VisibleSelection::isNone): 40468 (WebCore::VisibleSelection::isCaret): 40469 (WebCore::VisibleSelection::isRange): 40470 (WebCore::VisibleSelection::isCaretOrRange): 40471 (WebCore::VisibleSelection::isBaseFirst): 40472 (WebCore::VisibleSelection::granularity): 40473 (WebCore::operator==): 40474 (WebCore::operator!=): 40475 * editing/htmlediting.cpp: 40476 (WebCore::selectionForParagraphIteration): 40477 (WebCore::avoidIntersectionWithNode): 40478 * editing/htmlediting.h: 40479 * editing/markup.cpp: 40480 (WebCore::createMarkup): 40481 * html/HTMLInputElement.cpp: 40482 (WebCore::HTMLInputElement::selection): 40483 * html/HTMLInputElement.h: 40484 * html/HTMLTextAreaElement.cpp: 40485 (WebCore::HTMLTextAreaElement::selection): 40486 * html/HTMLTextAreaElement.h: 40487 * page/AccessibilityObject.cpp: 40488 (WebCore::AccessibilityObject::selection): 40489 (WebCore::AccessibilityObject::visiblePositionRangeForUnorderedPositions): 40490 * page/AccessibilityObject.h: 40491 * page/AccessibilityRenderObject.cpp: 40492 (WebCore::AccessibilityRenderObject::selection): 40493 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 40494 (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): 40495 (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): 40496 (WebCore::AccessibilityRenderObject::doAXRangeForLine): 40497 * page/AccessibilityRenderObject.h: 40498 * page/DOMSelection.cpp: 40499 (WebCore::DOMSelection::anchorNode): 40500 (WebCore::DOMSelection::anchorOffset): 40501 (WebCore::DOMSelection::focusNode): 40502 (WebCore::DOMSelection::focusOffset): 40503 (WebCore::DOMSelection::collapseToEnd): 40504 (WebCore::DOMSelection::collapseToStart): 40505 (WebCore::DOMSelection::getRangeAt): 40506 (WebCore::DOMSelection::addRange): 40507 * page/DOMSelection.h: 40508 * page/DragController.cpp: 40509 (WebCore::DragController::tryDocumentDrag): 40510 (WebCore::setSelectionToDragCaret): 40511 (WebCore::DragController::concludeEditDrag): 40512 (WebCore::prepareClipboardForImageDrag): 40513 (WebCore::DragController::startDrag): 40514 (WebCore::DragController::placeDragCaret): 40515 * page/EditorClient.h: 40516 * page/EventHandler.cpp: 40517 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 40518 (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): 40519 (WebCore::EventHandler::handleMousePressEventTripleClick): 40520 (WebCore::EventHandler::handleMousePressEventSingleClick): 40521 (WebCore::EventHandler::updateSelectionForMouseDrag): 40522 (WebCore::EventHandler::handleMouseReleaseEvent): 40523 * page/Frame.cpp: 40524 (WebCore::Frame::mark): 40525 (WebCore::Frame::setMark): 40526 (WebCore::Frame::selectionLayoutChanged): 40527 (WebCore::Frame::shouldChangeSelection): 40528 (WebCore::Frame::shouldDeleteSelection): 40529 (WebCore::Frame::revealSelection): 40530 (WebCore::Frame::setSelectionFromNone): 40531 (WebCore::Frame::findString): 40532 (WebCore::Frame::respondToChangedSelection): 40533 * page/Frame.h: 40534 * page/Page.cpp: 40535 (WebCore::Page::selection): 40536 * page/Page.h: 40537 * page/mac/AccessibilityObjectWrapper.mm: 40538 (-[AccessibilityObjectWrapper textMarkerRangeForSelection]): 40539 * rendering/RenderBlock.cpp: 40540 (WebCore::RenderBlock::fillInlineSelectionGaps): 40541 * rendering/RenderTextControl.cpp: 40542 (WebCore::RenderTextControl::setSelectionRange): 40543 (WebCore::RenderTextControl::selection): 40544 * rendering/RenderTextControl.h: 40545 * rendering/RenderTreeAsText.cpp: 40546 (WebCore::writeSelection): 40547 * rendering/RootInlineBox.cpp: 40548 (WebCore::RootInlineBox::fillLineSelectionGap): 40549 * svg/SVGTextContentElement.cpp: 40550 (WebCore::SVGTextContentElement::selectSubString): 40551 40552 2009-02-09 Dimitri Glazkov <dglazkov (a] chromium.org> 40553 40554 Reviewed by Dave Hyatt. 40555 40556 https://bugs.webkit.org/show_bug.cgi?id=23806 40557 Fix a regression crash where an empty src value and a "text/html" type 40558 on an EMBED element did not finish ResourceRequest initialization due to 40559 an early return. 40560 40561 Test: fast/loader/empty-embed-src-attribute.html 40562 40563 * loader/FrameLoader.cpp: 40564 (WebCore::FrameLoader::addExtraFieldsToRequest): 40565 40566 2009-02-09 Rob Buis <rwlbuis (a] gmail.com> 40567 40568 Reviewed by Eric Seidel. 40569 40570 https://bugs.webkit.org/show_bug.cgi?id=23816 40571 Clean up RenderSVGRoot.cpp 40572 40573 Clean up RenderSVGRoot.cpp. 40574 40575 * rendering/RenderSVGRoot.cpp: 40576 (WebCore::RenderSVGRoot::paint): 40577 (WebCore::RenderSVGRoot::calcViewport): 40578 40579 2009-02-09 Eric Carlson <eric.carlson (a] apple.com> 40580 40581 Reviewed by Antti Koivisto 40582 40583 https://bugs.webkit.org/show_bug.cgi?id=23737 40584 Make it possible to control media element playback without knowing so many 40585 internal implementation details. 40586 40587 * html/HTMLMediaElement.cpp: 40588 (WebCore::HTMLMediaElement::togglePlayState): New, toggle between playing and paused state. 40589 (WebCore::HTMLMediaElement::beginScrubbing): New, pause as necessary for scrubbing mode. 40590 (WebCore::HTMLMediaElement::endScrubbing): New, resume playback if paused for scrubbing mode. 40591 * html/HTMLMediaElement.h: 40592 40593 (WebCore::HTMLMediaElement::hasVideo): New, added so clients don't need to access MediaPlayer directly. 40594 * html/HTMLVideoElement.h: 40595 40596 (WebCore::HTMLVideoElement::hasVideo): New. 40597 40598 * rendering/MediaControlElements.cpp: 40599 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): Use new media element 40600 togglePlayState method. 40601 (WebCore::MediaControlTimelineElement::defaultEventHandler): Tell media element when scrubbing 40602 begins and ends so it can deal with pausing logic. Don't call setCurrentTime unless the time 40603 will change. 40604 40605 * rendering/RenderMedia.cpp: 40606 (WebCore::RenderMedia::updateControls): Ask media element if it is able to play instead of including 40607 internal logic here. 40608 (WebCore::RenderMedia::updateControlVisibility): Ditto. 40609 40610 2009-02-09 Eric Carlson <eric.carlson (a] apple.com> 40611 40612 Reviewed by Antti Koivisto 40613 40614 Change RenderPart and RenderPartObject constructors to take a Node* 40615 instead of a HTMLFrameOwnerElement* since that is all then need. 40616 40617 * rendering/RenderPart.cpp: 40618 (WebCore::RenderPart::RenderPart): take Node* instead of HTMLFrameOwnerElement* 40619 * rendering/RenderPart.h: 40620 * rendering/RenderPartObject.cpp: 40621 (WebCore::RenderPartObject::RenderPartObject): take Node* instead of HTMLFrameOwnerElement* 40622 * rendering/RenderPartObject.h: 40623 40624 2009-02-09 Dan Bernstein <mitz (a] apple.com> 40625 40626 - fix -Wmissing-prototypes builds 40627 40628 * editing/ReplaceSelectionCommand.cpp: 40629 (WebCore::isHeaderElement): Marked this function static. 40630 (WebCore::haveSameTagName): Ditto. 40631 * editing/markup.cpp: 40632 (WebCore::isSpecialAncestorBlock): Ditto. 40633 * platform/graphics/transforms/TransformationMatrix.cpp: 40634 (WebCore::makeMapBetweenRects): Removed unused function. 40635 * platform/graphics/transforms/TransformationMatrix.h: Removed unused 40636 declaration of private member makeMapBetweenRects(). 40637 40638 2009-02-09 Adam Treat <adam.treat (a] torchmobile.com> 40639 40640 Reviewed by Sam Weinig. 40641 40642 https://bugs.webkit.org/show_bug.cgi?id=23850 40643 Code cleanup of HTMLParser class which was using a mix of m_* and bare 40644 class member variable names which helps to obfuscate the code. Also 40645 changed a few of the static helper functions to take a const pointer type 40646 as they should not be modifying the node. 40647 40648 * html/HTMLParser.cpp: 40649 (WebCore::HTMLParser::HTMLParser): 40650 (WebCore::HTMLParser::~HTMLParser): 40651 (WebCore::HTMLParser::reset): 40652 (WebCore::HTMLParser::setCurrent): 40653 (WebCore::HTMLParser::parseToken): 40654 (WebCore::HTMLParser::parseDoctypeToken): 40655 (WebCore::isTableSection): 40656 (WebCore::isTablePart): 40657 (WebCore::isTableRelated): 40658 (WebCore::HTMLParser::insertNode): 40659 (WebCore::HTMLParser::handleError): 40660 (WebCore::HTMLParser::textCreateErrorCheck): 40661 (WebCore::HTMLParser::commentCreateErrorCheck): 40662 (WebCore::HTMLParser::headCreateErrorCheck): 40663 (WebCore::HTMLParser::bodyCreateErrorCheck): 40664 (WebCore::HTMLParser::framesetCreateErrorCheck): 40665 (WebCore::HTMLParser::formCreateErrorCheck): 40666 (WebCore::HTMLParser::isindexCreateErrorCheck): 40667 (WebCore::HTMLParser::noscriptCreateErrorCheck): 40668 (WebCore::HTMLParser::pCloserStrictCreateErrorCheck): 40669 (WebCore::HTMLParser::mapCreateErrorCheck): 40670 (WebCore::HTMLParser::getNode): 40671 (WebCore::HTMLParser::allowNestedRedundantTag): 40672 (WebCore::HTMLParser::processCloseTag): 40673 (WebCore::HTMLParser::isInline): 40674 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): 40675 (WebCore::HTMLParser::reopenResidualStyleTags): 40676 (WebCore::HTMLParser::pushBlock): 40677 (WebCore::HTMLParser::popBlock): 40678 (WebCore::HTMLParser::popOneBlockCommon): 40679 (WebCore::HTMLParser::popOneBlock): 40680 (WebCore::HTMLParser::moveOneBlockToStack): 40681 (WebCore::HTMLParser::checkIfHasPElementInScope): 40682 (WebCore::HTMLParser::popInlineBlocks): 40683 (WebCore::HTMLParser::freeBlock): 40684 (WebCore::HTMLParser::createHead): 40685 (WebCore::HTMLParser::handleIsindex): 40686 (WebCore::HTMLParser::startBody): 40687 (WebCore::HTMLParser::finished): 40688 (WebCore::HTMLParser::reportErrorToConsole): 40689 * html/HTMLParser.h: 40690 40691 2009-02-09 Alexey Proskuryakov <ap (a] webkit.org> 40692 40693 Applying review comment on a second location. 40694 40695 * rendering/RenderText.cpp: (WebCore::RenderText::nextOffset): 40696 Use "ifdef BUILDING_ON_TIGER". 40697 40698 2009-02-09 Alexey Proskuryakov <ap (a] webkit.org> 40699 40700 Reviewed by Darin Adler. 40701 40702 https://bugs.webkit.org/show_bug.cgi?id=23845 40703 editing/deleting/backward-deletion.html fails on Tiger 40704 40705 * rendering/RenderText.cpp: 40706 (WebCore::RenderText::previousOffset): 40707 (WebCore::RenderText::nextOffset): 40708 Work around a bug in older ICU versions by hardcoding narrow voiced marks. 40709 40710 2009-02-09 Adam Roben <aroben (a] apple.com> 40711 40712 Windows build fix 40713 40714 * WebCore.vcproj/WebCore.vcproj: Fix the XML syntax. 40715 40716 2009-02-09 Jian Li <jianli (a] chromium.org> 40717 40718 Reviewed by Alexey Proskuryakov. 40719 40720 Make WorkerMessagingProxy derive from two base proxy classes. 40721 https://bugs.webkit.org/show_bug.cgi?id=23777 40722 40723 * bindings/js/WorkerScriptController.cpp: 40724 (WebCore::WorkerScriptController::evaluate): 40725 * dom/Worker.cpp: 40726 (WebCore::Worker::terminate): 40727 (WebCore::Worker::hasPendingActivity): 40728 * dom/WorkerContext.cpp: 40729 (WebCore::WorkerContext::reportException): 40730 * dom/WorkerMessagingProxy.cpp: 40731 (WebCore::WorkerThreadActivityReportTask::performTask): 40732 (WebCore::WorkerMessagingProxy::postExceptionToWorkerObject): 40733 (WebCore::WorkerMessagingProxy::workerObjectDestroyed): 40734 (WebCore::WorkerMessagingProxy::terminateWorkerContext): 40735 (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage): 40736 (WebCore::WorkerMessagingProxy::reportPendingActivity): 40737 (WebCore::WorkerMessagingProxy::reportPendingActivityInternal): 40738 (WebCore::WorkerMessagingProxy::hasPendingActivity): 40739 * dom/WorkerMessagingProxy.h: 40740 40741 2009-02-09 Jian Li <jianli (a] chromium.org> 40742 40743 Reviewed by Alexey Proskuryakov. 40744 40745 Introduce 2 base classes to split WorkerMessagingProxy. 40746 https://bugs.webkit.org/show_bug.cgi?id=23776 40747 40748 * GNUmakefile.am: 40749 * WebCore.vcproj/WebCore.vcproj: 40750 * WebCore.xcodeproj/project.pbxproj: 40751 * dom/WorkerContextProxy.h: Added. 40752 (WebCore::WorkerContextProxy::~WorkerContextProxy): 40753 * dom/WorkerObjectProxy.h: Added. 40754 (WebCore::WorkerObjectProxy::~WorkerObjectProxy): 40755 40756 2009-02-08 David Hyatt <hyatt (a] apple.com> 40757 40758 Fix for https://bugs.webkit.org/show_bug.cgi?id=23839 40759 40760 Make sure that generated content is properly handled when content is moved from a block run-in 40761 to an inline run-in. 40762 40763 Reviewed by Sam Weinig 40764 40765 Added fast/runin/002.html 40766 40767 * rendering/RenderBlock.cpp: 40768 (WebCore::RenderBlock::handleRunInChild): 40769 40770 2009-02-08 David Hyatt <hyatt (a] apple.com> 40771 40772 Fix for https://bugs.webkit.org/show_bug.cgi?id=23832, crash when inspecting an image using the 40773 Web inspector. 40774 40775 Reviewed by Mark Rowe 40776 40777 * rendering/RenderObject.cpp: 40778 (WebCore::RenderObject::absoluteRectsForRange): 40779 (WebCore::RenderObject::absoluteQuadsForRange): 40780 40781 2009-02-08 Dirk Schulze <krit (a] webkit.org> 40782 40783 Unreviewed Qt build fix. 40784 40785 TransformationMatrix changes in r40761 broke QT build. 40786 40787 * platform/graphics/qt/GraphicsContextQt.cpp: 40788 (WebCore::GraphicsContext::getCTM): 40789 (WebCore::GraphicsContext::scale): 40790 40791 2009-02-08 Dirk Schulze <krit (a] webkit.org> 40792 40793 Reviewed by Holger Freyther. 40794 40795 This is a follow up of the last commit. It cleans up TransformationMatrix.h 40796 and convert to a series of #elif. 40797 40798 * platform/graphics/transforms/TransformationMatrix.h: 40799 40800 2009-02-08 Gustavo Noronha Silva <gns (a] gnome.org> 40801 40802 Reviewed by Simon Fraser. 40803 40804 [CAIRO] build broken by TransformationMatrix rework 40805 https://bugs.webkit.org/show_bug.cgi?id=23831 40806 40807 Fixed cairo build after the TransformationMatrix rework done in 40808 revision 40761. 40809 40810 * platform/graphics/cairo/GraphicsContextCairo.cpp: 40811 (WebCore::GraphicsContext::getCTM): 40812 (WebCore::GraphicsContext::concatCTM): 40813 * platform/graphics/cairo/TransformationMatrixCairo.cpp: 40814 (WebCore::TransformationMatrix::operator cairo_matrix_t): 40815 * platform/graphics/transforms/TransformationMatrix.h: 40816 40817 2009-02-07 David Hyatt <hyatt (a] apple.com> 40818 40819 Shrink the size of all InlineTextBoxes and all InlineBoxes (for images and replaced elements) by four bytes. 40820 Change the overflow variable on InlineFlowBoxes into a short and move the bits for InlineFlowBoxes out of the 40821 base InlineBox class. Since the number of bits in the base class was 35, shoving the 3 bits for InlineFlowBoxes 40822 back down into that class (into the 16 bits exposed by making the overflow variable into a short), all text 40823 boxes and image boxes shrink by 4 bytes. 40824 40825 Reviewed by Anders 40826 40827 * rendering/InlineBox.h: 40828 (WebCore::InlineBox::InlineBox): 40829 * rendering/InlineFlowBox.cpp: 40830 (WebCore::InlineFlowBox::placeBoxesHorizontally): 40831 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 40832 (WebCore::InlineFlowBox::placeBoxesVertically): 40833 * rendering/InlineFlowBox.h: 40834 (WebCore::InlineFlowBox::InlineFlowBox): 40835 (WebCore::InlineFlowBox::maxHorizontalVisualOverflow): 40836 (WebCore::InlineFlowBox::hasTextChildren): 40837 40838 2009-02-07 Dean Jackson <dino (a] apple.com> 40839 40840 Attempted build fix for Qt. Not reviewed. 40841 40842 TransformationMatrix changes in r40761 broke non-Apple builds. 40843 40844 * platform/graphics/qt/TransformationMatrixQt.cpp: 40845 (WebCore::TransformationMatrix::operator QMatrix): 40846 * platform/graphics/transforms/TransformationMatrix.h: 40847 40848 2009-02-07 David Hyatt <hyatt (a] apple.com> 40849 40850 This patch changes the base class of RenderInline from RenderBox to RenderBoxModelObject. This shift 40851 in base class knocks 32 bytes off the size of every RenderInline. All of the necessary functions 40852 for both RenderInline and RenderBox have either been pulled up into RenderBoxModelObject for sharing 40853 or split into two functions (one in each derived class). 40854 40855 Reviewed by Anders and Antti 40856 40857 * dom/Element.cpp: 40858 (WebCore::Element::offsetLeft): 40859 (WebCore::Element::offsetTop): 40860 (WebCore::Element::offsetWidth): 40861 (WebCore::Element::offsetHeight): 40862 (WebCore::Element::offsetParent): 40863 (WebCore::Element::clientWidth): 40864 (WebCore::Element::clientHeight): 40865 (WebCore::Element::scrollWidth): 40866 (WebCore::Element::scrollHeight): 40867 * dom/Node.cpp: 40868 (WebCore::Node::renderBox): 40869 (WebCore::Node::renderBoxModelObject): 40870 * dom/Node.h: 40871 * html/HTMLAnchorElement.cpp: 40872 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 40873 * rendering/InlineBox.h: 40874 (WebCore::InlineBox::boxModelObject): 40875 * rendering/InlineFlowBox.cpp: 40876 (WebCore::InlineFlowBox::marginLeft): 40877 (WebCore::InlineFlowBox::marginRight): 40878 (WebCore::InlineFlowBox::placeBoxesHorizontally): 40879 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 40880 (WebCore::InlineFlowBox::placeBoxesVertically): 40881 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): 40882 * rendering/InlineFlowBox.h: 40883 (WebCore::InlineFlowBox::borderLeft): 40884 (WebCore::InlineFlowBox::borderRight): 40885 (WebCore::InlineFlowBox::paddingLeft): 40886 (WebCore::InlineFlowBox::paddingRight): 40887 * rendering/RenderBlock.cpp: 40888 (WebCore::getBorderPaddingMargin): 40889 (WebCore::RenderBlock::calcInlinePrefWidths): 40890 * rendering/RenderBox.cpp: 40891 (WebCore::RenderBox::imageChanged): 40892 (WebCore::RenderBox::calcReplacedWidthUsing): 40893 (WebCore::RenderBox::calcReplacedHeightUsing): 40894 (WebCore::RenderBox::containingBlockWidthForPositioned): 40895 (WebCore::RenderBox::containingBlockHeightForPositioned): 40896 (WebCore::RenderBox::calcAbsoluteHorizontal): 40897 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 40898 (WebCore::RenderBox::calcAbsoluteVertical): 40899 (WebCore::RenderBox::calcAbsoluteVerticalValues): 40900 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 40901 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 40902 (WebCore::RenderBox::positionForCoordinates): 40903 * rendering/RenderBox.h: 40904 (WebCore::RenderBox::borderBoundingBox): 40905 (WebCore::RenderBox::offsetHeight): 40906 (WebCore::RenderBox::marginTop): 40907 (WebCore::RenderBox::marginBottom): 40908 (WebCore::RenderBox::marginLeft): 40909 (WebCore::RenderBox::marginRight): 40910 * rendering/RenderBoxModelObject.cpp: 40911 (WebCore::RenderBoxModelObject::offsetLeft): 40912 (WebCore::RenderBoxModelObject::offsetTop): 40913 (WebCore::RenderBoxModelObject::paddingTop): 40914 (WebCore::RenderBoxModelObject::paddingBottom): 40915 (WebCore::RenderBoxModelObject::paddingLeft): 40916 (WebCore::RenderBoxModelObject::paddingRight): 40917 (WebCore::RenderBoxModelObject::paintFillLayerExtended): 40918 (WebCore::RenderBoxModelObject::calculateBackgroundSize): 40919 (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): 40920 * rendering/RenderBoxModelObject.h: 40921 (WebCore::RenderBoxModelObject::borderTop): 40922 (WebCore::RenderBoxModelObject::borderBottom): 40923 (WebCore::RenderBoxModelObject::borderLeft): 40924 (WebCore::RenderBoxModelObject::borderRight): 40925 (WebCore::RenderBoxModelObject::hasHorizontalBordersPaddingOrMargin): 40926 (WebCore::RenderBoxModelObject::hasHorizontalBordersOrPadding): 40927 (WebCore::RenderBoxModelObject::childBecameNonInline): 40928 (WebCore::RenderBoxModelObject::isBoxModelObject): 40929 * rendering/RenderInline.cpp: 40930 (WebCore::RenderInline::RenderInline): 40931 (WebCore::RenderInline::destroy): 40932 (WebCore::RenderInline::styleDidChange): 40933 (WebCore::nextContinuation): 40934 (WebCore::RenderInline::continuationBefore): 40935 (WebCore::RenderInline::addChildIgnoringContinuation): 40936 (WebCore::RenderInline::splitInlines): 40937 (WebCore::RenderInline::splitFlow): 40938 (WebCore::RenderInline::addChildToContinuation): 40939 (WebCore::RenderInline::absoluteRects): 40940 (WebCore::RenderInline::offsetLeft): 40941 (WebCore::RenderInline::offsetTop): 40942 (WebCore::RenderInline::marginLeft): 40943 (WebCore::RenderInline::marginRight): 40944 (WebCore::RenderInline::positionForCoordinates): 40945 (WebCore::RenderInline::clippedOverflowRectForRepaint): 40946 (WebCore::RenderInline::rectWithOutlineForRepaint): 40947 (WebCore::RenderInline::computeRectForRepaint): 40948 (WebCore::RenderInline::updateDragState): 40949 (WebCore::RenderInline::childBecameNonInline): 40950 (WebCore::RenderInline::updateHitTestResult): 40951 (WebCore::RenderInline::imageChanged): 40952 (WebCore::RenderInline::addFocusRingRects): 40953 * rendering/RenderInline.h: 40954 (WebCore::RenderInline::marginTop): 40955 (WebCore::RenderInline::marginBottom): 40956 (WebCore::RenderInline::continuation): 40957 (WebCore::RenderInline::setContinuation): 40958 * rendering/RenderLineBoxList.cpp: 40959 (WebCore::RenderLineBoxList::paint): 40960 (WebCore::RenderLineBoxList::hitTest): 40961 * rendering/RenderLineBoxList.h: 40962 * rendering/RenderObject.cpp: 40963 (WebCore::addLayers): 40964 (WebCore::RenderObject::removeLayers): 40965 (WebCore::RenderObject::moveLayers): 40966 (WebCore::RenderObject::findNextLayer): 40967 (WebCore::RenderObject::enclosingLayer): 40968 (WebCore::RenderObject::enclosingCompositingLayer): 40969 (WebCore::RenderObject::setLayerNeedsFullRepaint): 40970 (WebCore::RenderObject::handleDynamicFloatPositionChange): 40971 (WebCore::RenderObject::destroy): 40972 (WebCore::RenderObject::offsetParent): 40973 * rendering/RenderObject.h: 40974 (WebCore::RenderObject::isInlineContinuation): 40975 * rendering/RenderSVGTSpan.cpp: 40976 (WebCore::RenderSVGTSpan::absoluteRects): 40977 (WebCore::RenderSVGTSpan::absoluteQuads): 40978 * rendering/RenderSVGTextPath.cpp: 40979 (WebCore::RenderSVGTextPath::absoluteRects): 40980 (WebCore::RenderSVGTextPath::absoluteQuads): 40981 * rendering/RenderTreeAsText.cpp: 40982 (WebCore::operator<<): 40983 * rendering/RenderView.cpp: 40984 (WebCore::RenderView::setBestTruncatedAt): 40985 * rendering/RenderView.h: 40986 * rendering/bidi.cpp: 40987 (WebCore::getBorderPaddingMargin): 40988 (WebCore::inlineWidth): 40989 (WebCore::RenderBlock::layoutInlineChildren): 40990 (WebCore::inlineFlowRequiresLineBox): 40991 (WebCore::requiresLineBox): 40992 (WebCore::RenderBlock::findNextLineBreak): 40993 * wml/WMLAElement.cpp: 40994 (WebCore::WMLAElement::isKeyboardFocusable): 40995 40996 2009-02-07 Yael Aharon <yael.aharon (a] nokia.com> 40997 40998 Reviewed by Timothy Hatcher <timothy (a] hatcher.name> 40999 41000 Partial fix for <https://bugs.webkit.org/show_bug.cgi?id=21051> 41001 Include localStorage and sessionStorage in DatabasesPanel. 41002 41003 * WebCore.vcproj/WebCore.vcproj: 41004 * inspector/InspectorController.cpp: 41005 (WebCore::InspectorDOMStorageResource::create): 41006 (WebCore::InspectorDOMStorageResource::setScriptObject): 41007 (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource): 41008 (WebCore::InspectorController::populateScriptObjects): 41009 (WebCore::InspectorController::addDOMStorageScriptResource): 41010 (WebCore::InspectorController::removeDOMStorageScriptResource): 41011 (WebCore::InspectorController::resetScriptObjects): 41012 (WebCore::InspectorController::didCommitLoad): 41013 (WebCore::InspectorController::didUseDOMStorage): 41014 * inspector/InspectorController.h: 41015 * inspector/front-end/DOMStorage.js: Added. 41016 (WebInspector.DOMStorage): 41017 (WebInspector.DOMStorage.prototype.get domStorage): 41018 (WebInspector.DOMStorage.prototype.set domStorage): 41019 (WebInspector.DOMStorage.prototype.get domain): 41020 (WebInspector.DOMStorage.prototype.set domain): 41021 (WebInspector.DOMStorage.prototype.get isLocalStorage): 41022 (WebInspector.DOMStorage.prototype.set isLocalStorage): 41023 * inspector/front-end/DOMStorageItemsView.js: Added. 41024 (WebInspector.DOMStorageItemsView): 41025 (WebInspector.DOMStorageItemsView.prototype.show): 41026 (WebInspector.DOMStorageItemsView.prototype.update): 41027 * inspector/front-end/DatabaseQueryView.js: 41028 (WebInspector.DatabaseQueryView): 41029 * inspector/front-end/DatabaseTableView.js: 41030 (WebInspector.DatabaseTableView): 41031 (WebInspector.DatabaseTableView.prototype._queryFinished): 41032 (WebInspector.DatabaseTableView.prototype._queryError): 41033 * inspector/front-end/DatabasesPanel.js: 41034 (WebInspector.DatabasesPanel): 41035 (WebInspector.DatabasesPanel.prototype.reset): 41036 (WebInspector.DatabasesPanel.prototype.addDatabase): 41037 (WebInspector.DatabasesPanel.prototype.addDOMStorage): 41038 (WebInspector.DatabasesPanel.prototype.showDatabase): 41039 (WebInspector.DatabasesPanel.prototype.showDOMStorage): 41040 (WebInspector.DatabasesPanel.prototype.closeVisibleView): 41041 (WebInspector.DatabasesPanel.prototype.updateDatabaseTables): 41042 (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): 41043 (WebInspector.DatabasesPanel.prototype._updateSidebarWidth): 41044 (WebInspector.DOMStorageSidebarTreeElement): 41045 (WebInspector.DOMStorageSidebarTreeElement.prototype.onselect): 41046 (WebInspector.DOMStorageSidebarTreeElement.prototype.get mainTitle): 41047 (WebInspector.DOMStorageSidebarTreeElement.prototype.set mainTitle): 41048 (WebInspector.DOMStorageSidebarTreeElement.prototype.get subtitle): 41049 (WebInspector.DOMStorageSidebarTreeElement.prototype.set subtitle): 41050 * inspector/front-end/Images/domStorage.png: Added. 41051 * inspector/front-end/WebKit.qrc: 41052 * inspector/front-end/inspector.css: 41053 * inspector/front-end/inspector.html: 41054 * inspector/front-end/inspector.js: 41055 (WebInspector.addDOMStorage): 41056 * page/DOMWindow.cpp: 41057 (WebCore::DOMWindow::sessionStorage): 41058 (WebCore::DOMWindow::localStorage): 41059 41060 2009-02-07 Feng Qian <feng (a] chromium.org> 41061 41062 Reviewed by Eric Seidel <eric (a] webkit.org> 41063 41064 Put #if ENABLE(PAN_SCROLLING) around EventHandler::setPanScrollCursor. 41065 https://bugs.webkit.org/show_bug.cgi?id=23574 41066 41067 * page/EventHandler.cpp: 41068 * page/EventHandler.h: 41069 41070 2009-02-07 Zalan Bujtas <zbujtas (a] gmail.com> 41071 41072 Reviewed by Rob Buis <rwlbuis (a] gmail.com> 41073 41074 https://bugs.webkit.org/show_bug.cgi?id=23788 41075 call style()->isOriginalDisplayInlineType() on RenderBox instead of RenderObject. 41076 41077 * rendering/bidi.cpp: 41078 (WebCore::RenderBlock::skipLeadingWhitespace): 41079 41080 2009-02-07 Rob Buis <rwlbuis (a] gmail.com> 41081 41082 Reviewed by Darin. 41083 41084 https://bugs.webkit.org/show_bug.cgi?id=3248 41085 Bug 3248: Mouse events on OPTION element seem to be ignored 41086 41087 Support mouse events on options in a select when it forms a list box. 41088 41089 Test: fast/forms/option-mouseevents.html 41090 41091 * html/HTMLSelectElement.cpp: Convert to coords relative to the list box. 41092 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 41093 * rendering/RenderListBox.cpp: Handle hit testing for option elements. 41094 (WebCore::RenderListBox::nodeAtPoint): 41095 * rendering/RenderListBox.h: 41096 41097 2009-02-07 Adam Treat <adam.treat (a] torchmobile.com> 41098 41099 Prospective build fix for all non-Apple platforms. 41100 41101 * platform/graphics/transforms/TransformationMatrix.h: 41102 41103 2009-02-06 Chris Marrin <cmarrin (a] apple.com> 41104 41105 Reviewed by Simon Fraser. 41106 41107 https://bugs.webkit.org/show_bug.cgi?id=6868 41108 41109 I have not only made TransformationMatrix platform independent 41110 but I've also added 3D methods, which will be used when I update 41111 WebKitCSSMatrix to include 3D (see https://bugs.webkit.org/show_bug.cgi?id=23689). 41112 I am now keeping a full 4x4 matrix in TransformationMatrix. I'm also doing all 41113 the math as doubles rather than floats. This makes a TransformationMatrix 41114 go from 24 bytes to 128 bytes, but I don't think this class is used enough to 41115 make this overhead will be significant. 41116 41117 The change from floats to doubles has caused some differences in rounding and 41118 display (sometimes things that displayed as -0.0 now display as 0.0 or vice versa), 41119 so I've had to change some LayoutTest results in the SVG tests. 41120 41121 * platform/graphics/FloatPoint.cpp: 41122 (WebCore::FloatPoint::matrixTransform): 41123 * platform/graphics/cg/GraphicsContextCG.cpp: 41124 (WebCore::GraphicsContext::getCTM): 41125 * platform/graphics/cg/TransformationMatrixCG.cpp: 41126 (WebCore::TransformationMatrix::operator CGAffineTransform): 41127 * platform/graphics/transforms/TransformationMatrix.cpp: 41128 (WebCore::determinant2x2): 41129 (WebCore::determinant3x3): 41130 (WebCore::determinant4x4): 41131 (WebCore::adjoint): 41132 (WebCore::inverse): 41133 (WebCore::transposeMatrix4): 41134 (WebCore::v4MulPointByMatrix): 41135 (WebCore::v3Length): 41136 (WebCore::v3Scale): 41137 (WebCore::v3Dot): 41138 (WebCore::v3Combine): 41139 (WebCore::v3Cross): 41140 (WebCore::decompose): 41141 (WebCore::slerp): 41142 (WebCore::TransformationMatrix::scale): 41143 (WebCore::TransformationMatrix::rotateFromVector): 41144 (WebCore::TransformationMatrix::flipX): 41145 (WebCore::TransformationMatrix::flipY): 41146 (WebCore::makeMapBetweenRects): 41147 (WebCore::TransformationMatrix::projectPoint): 41148 (WebCore::TransformationMatrix::mapPoint): 41149 (WebCore::TransformationMatrix::mapRect): 41150 (WebCore::TransformationMatrix::mapQuad): 41151 (WebCore::TransformationMatrix::scale3d): 41152 (WebCore::TransformationMatrix::rotate3d): 41153 (WebCore::TransformationMatrix::translate): 41154 (WebCore::TransformationMatrix::translate3d): 41155 (WebCore::TransformationMatrix::skew): 41156 (WebCore::TransformationMatrix::applyPerspective): 41157 (WebCore::TransformationMatrix::multLeft): 41158 (WebCore::TransformationMatrix::multVecMatrix): 41159 (WebCore::TransformationMatrix::isInvertible): 41160 (WebCore::TransformationMatrix::inverse): 41161 (WebCore::blendFloat): 41162 (WebCore::TransformationMatrix::blend): 41163 (WebCore::TransformationMatrix::decompose): 41164 (WebCore::TransformationMatrix::recompose): 41165 * platform/graphics/transforms/TransformationMatrix.h: 41166 (WebCore::TransformationMatrix::TransformationMatrix): 41167 (WebCore::TransformationMatrix::setMatrix): 41168 (WebCore::TransformationMatrix::operator =): 41169 (WebCore::TransformationMatrix::makeIdentity): 41170 (WebCore::TransformationMatrix::isIdentity): 41171 (WebCore::TransformationMatrix::map): 41172 (WebCore::TransformationMatrix::m11): 41173 (WebCore::TransformationMatrix::setM11): 41174 (WebCore::TransformationMatrix::m12): 41175 (WebCore::TransformationMatrix::setM12): 41176 (WebCore::TransformationMatrix::m13): 41177 (WebCore::TransformationMatrix::setM13): 41178 (WebCore::TransformationMatrix::m14): 41179 (WebCore::TransformationMatrix::setM14): 41180 (WebCore::TransformationMatrix::m21): 41181 (WebCore::TransformationMatrix::setM21): 41182 (WebCore::TransformationMatrix::m22): 41183 (WebCore::TransformationMatrix::setM22): 41184 (WebCore::TransformationMatrix::m23): 41185 (WebCore::TransformationMatrix::setM23): 41186 (WebCore::TransformationMatrix::m24): 41187 (WebCore::TransformationMatrix::setM24): 41188 (WebCore::TransformationMatrix::m31): 41189 (WebCore::TransformationMatrix::setM31): 41190 (WebCore::TransformationMatrix::m32): 41191 (WebCore::TransformationMatrix::setM32): 41192 (WebCore::TransformationMatrix::m33): 41193 (WebCore::TransformationMatrix::setM33): 41194 (WebCore::TransformationMatrix::m34): 41195 (WebCore::TransformationMatrix::setM34): 41196 (WebCore::TransformationMatrix::m41): 41197 (WebCore::TransformationMatrix::setM41): 41198 (WebCore::TransformationMatrix::m42): 41199 (WebCore::TransformationMatrix::setM42): 41200 (WebCore::TransformationMatrix::m43): 41201 (WebCore::TransformationMatrix::setM43): 41202 (WebCore::TransformationMatrix::m44): 41203 (WebCore::TransformationMatrix::setM44): 41204 (WebCore::TransformationMatrix::a): 41205 (WebCore::TransformationMatrix::setA): 41206 (WebCore::TransformationMatrix::b): 41207 (WebCore::TransformationMatrix::setB): 41208 (WebCore::TransformationMatrix::c): 41209 (WebCore::TransformationMatrix::setC): 41210 (WebCore::TransformationMatrix::d): 41211 (WebCore::TransformationMatrix::setD): 41212 (WebCore::TransformationMatrix::e): 41213 (WebCore::TransformationMatrix::setE): 41214 (WebCore::TransformationMatrix::f): 41215 (WebCore::TransformationMatrix::setF): 41216 (WebCore::TransformationMatrix::multiply): 41217 (WebCore::TransformationMatrix::rotate): 41218 (WebCore::TransformationMatrix::skewX): 41219 (WebCore::TransformationMatrix::skewY): 41220 (WebCore::TransformationMatrix::hasPerspective): 41221 (WebCore::TransformationMatrix::): 41222 (WebCore::TransformationMatrix::isAffine): 41223 (WebCore::TransformationMatrix::operator==): 41224 (WebCore::TransformationMatrix::operator*=): 41225 (WebCore::TransformationMatrix::operator*): 41226 * rendering/RenderForeignObject.cpp: 41227 (WebCore::RenderForeignObject::nodeAtPoint): 41228 * rendering/RenderLayer.cpp: 41229 (WebCore::RenderLayer::updateTransform): 41230 * rendering/RenderPath.cpp: 41231 (WebCore::RenderPath::mapAbsolutePointToLocal): 41232 * rendering/RenderSVGImage.cpp: 41233 (WebCore::RenderSVGImage::nodeAtPoint): 41234 * rendering/RenderSVGRoot.cpp: 41235 (WebCore::RenderSVGRoot::nodeAtPoint): 41236 * rendering/RenderSVGText.cpp: 41237 (WebCore::RenderSVGText::nodeAtPoint): 41238 * rendering/RenderSVGViewportContainer.cpp: 41239 (WebCore::RenderSVGViewportContainer::nodeAtPoint): 41240 * svg/SVGAnimateMotionElement.cpp: 41241 (WebCore::SVGAnimateMotionElement::resetToBaseValue): 41242 (WebCore::SVGAnimateMotionElement::calculateAnimatedValue): 41243 * svg/SVGSVGElement.cpp: 41244 (WebCore::SVGSVGElement::viewport): 41245 * svg/SVGTransform.cpp: 41246 (SVGTransform::setTranslate): 41247 (SVGTransform::setScale): 41248 (SVGTransform::setRotate): 41249 (SVGTransform::setSkewX): 41250 (SVGTransform::setSkewY): 41251 * svg/graphics/SVGResourceMarker.cpp: 41252 (WebCore::SVGResourceMarker::draw): 41253 41254 2009-02-07 Simon Hausmann <simon.hausmann (a] nokia.com> 41255 41256 Reviewed by Tor Arne Vestb. 41257 41258 For the Qt port implement Image::drawPattern via 41259 BitmapImage::drawPatterns' implementation and implement 41260 Gradient::fill. 41261 41262 This partially fixes rendering of generated gradient content. 41263 41264 * platform/graphics/BitmapImage.h: Remove the drawPattern 41265 implementation for the Qt port in BitmapImage, it's been moved to 41266 Image::drawPattern. 41267 * platform/graphics/qt/GradientQt.cpp: 41268 (WebCore::Gradient::fill): Implement using a simple fillRect. 41269 * platform/graphics/qt/ImageQt.cpp: 41270 (WebCore::Image::drawPattern): Moved implementation from 41271 BitmapImage::drawPattern. 41272 41273 2009-02-06 Eric Seidel <eric (a] webkit.org> 41274 41275 Reviewed by Justin Garcia. 41276 41277 DOMSelection.getRangeAt() returns a different range than the selection 41278 https://bugs.webkit.org/show_bug.cgi?id=23601 41279 41280 Rename toRange to toNormalizedRange and add new firstRange which returns an unmodified range 41281 41282 Test: fast/dom/Selection/getRangeAt.html 41283 41284 * WebCore.base.exp: 41285 * dom/InputElement.cpp: 41286 (WebCore::InputElement::handleBeforeTextInsertedEvent): 41287 * editing/DeleteButtonController.cpp: 41288 (WebCore::enclosingDeletableElement): 41289 * editing/Editor.cpp: 41290 (WebCore::Editor::selectedRange): 41291 (WebCore::Editor::fontForSelection): 41292 (WebCore::Editor::applyStyleToSelection): 41293 (WebCore::Editor::applyParagraphStyleToSelection): 41294 (WebCore::Editor::insertTextWithoutSendingTextEvent): 41295 (WebCore::Editor::insertLineBreak): 41296 (WebCore::Editor::insertParagraphSeparator): 41297 (WebCore::Editor::ignoreSpelling): 41298 (WebCore::Editor::isSelectionUngrammatical): 41299 (WebCore::Editor::guessesForUngrammaticalSelection): 41300 (WebCore::markMisspellingsOrBadGrammar): 41301 (WebCore::Editor::rangeForPoint): 41302 * editing/EditorCommand.cpp: 41303 (WebCore::expandSelectionToGranularity): 41304 (WebCore::executeDeleteToMark): 41305 (WebCore::executeSelectToMark): 41306 * editing/RemoveFormatCommand.cpp: 41307 (WebCore::RemoveFormatCommand::doApply): 41308 * editing/ReplaceSelectionCommand.cpp: 41309 (WebCore::ReplacementFragment::ReplacementFragment): 41310 * editing/Selection.cpp: 41311 (WebCore::Selection::firstRange): 41312 (WebCore::Selection::toNormalizedRange): 41313 * editing/Selection.h: 41314 * editing/SelectionController.h: 41315 (WebCore::SelectionController::toNormalizedRange): 41316 * editing/TypingCommand.cpp: 41317 (WebCore::TypingCommand::deleteKeyPressed): 41318 (WebCore::TypingCommand::forwardDeleteKeyPressed): 41319 * editing/markup.cpp: 41320 (WebCore::createMarkup): 41321 * loader/archive/cf/LegacyWebArchive.cpp: 41322 (WebCore::LegacyWebArchive::createFromSelection): 41323 * page/AccessibilityRenderObject.cpp: 41324 (WebCore::AccessibilityRenderObject::ariaSelectedTextDOMRange): 41325 * page/ContextMenuController.cpp: 41326 (WebCore::ContextMenuController::contextMenuItemSelected): 41327 * page/DOMSelection.cpp: 41328 (WebCore::DOMSelection::getRangeAt): 41329 (WebCore::DOMSelection::addRange): 41330 (WebCore::DOMSelection::deleteFromDocument): 41331 (WebCore::DOMSelection::containsNode): 41332 (WebCore::DOMSelection::toString): 41333 * page/DragController.cpp: 41334 (WebCore::setSelectionToDragCaret): 41335 (WebCore::DragController::concludeEditDrag): 41336 (WebCore::DragController::startDrag): 41337 * page/EventHandler.cpp: 41338 (WebCore::EventHandler::dispatchMouseEvent): 41339 * page/Frame.cpp: 41340 (WebCore::Frame::selectedText): 41341 (WebCore::Frame::shouldChangeSelection): 41342 (WebCore::Frame::shouldDeleteSelection): 41343 (WebCore::Frame::selectionComputedStyle): 41344 (WebCore::Frame::selectionTextRects): 41345 (WebCore::Frame::findString): 41346 (WebCore::Frame::respondToChangedSelection): 41347 * platform/ContextMenu.cpp: 41348 (WebCore::selectionContainsPossibleWord): 41349 41350 2009-02-06 Brady Eidson <beidson (a] apple.com> 41351 41352 Reviewed by Dan Bernstein 41353 41354 <rdar://problem/6563402> - Workaround a case where ::didReceiveData() might be called on a ResourceHandleClient 41355 before ::didReceiveResponse(). 41356 41357 No layout test, as we don't have a concrete way to reproduce these conditions. To that effect, I've added an ASSERT 41358 to catch the conditions before the workaround takes effect in case any WebKit Debug-build developer runs across 41359 this case and can come up with something more reproducible. 41360 41361 * loader/MainResourceLoader.cpp: 41362 (WebCore::MainResourceLoader::didReceiveData): If the response is null create a dummy response. This is much 41363 like the FrameLoader::init() response that is used for initial document creation. 41364 41365 2009-02-06 Geoffrey Garen <ggaren (a] apple.com> 41366 41367 Build fix. 41368 41369 * WebCore.base.exp: 41370 41371 2009-02-06 Xan Lopez <xan (a] gnome.org> 41372 41373 Reviewed by Holger Freyther. 41374 41375 https://bugs.webkit.org/show_bug.cgi?id=23621 41376 41377 Do not use m_scrollOffset to check if we are setting the same 41378 value than we already have. 41379 41380 m_scrollOffset starts at 0 for ScrollView, so when opening a new 41381 page and scrolling to 0 (the usual case) the check will fail and 41382 we won't update the adjustment value, resulting in a possibly 41383 mispositioned scrollbar. Use the adjustment value directly 41384 instead, which is what we are updating anyway. 41385 41386 * platform/gtk/ScrollViewGtk.cpp: 41387 (WebCore::ScrollView::platformHandleHorizontalAdjustment): 41388 (WebCore::ScrollView::platformHandleVerticalAdjustment): 41389 41390 2009-02-06 Justin Garcia <justin.garcia (a] apple.com> 41391 41392 Reviewed by Oliver Hunt. 41393 41394 https://bugs.webkit.org/show_bug.cgi?id=23800 41395 Header elements are not always preserved during paste 41396 41397 At paste time, don't merge out of header elements. At copy time, be sure to include 41398 headers in the list of special common ancestor blocks, so that copying a paragraph or less 41399 of content inside a header will include the header element in the copied markup. 41400 41401 * editing/ReplaceSelectionCommand.cpp: 41402 (WebCore::areSameHeaderElements): 41403 (WebCore::ReplaceSelectionCommand::shouldMerge): 41404 * editing/markup.cpp: 41405 (WebCore::isSpecialAncestorBlock): 41406 (WebCore::createMarkup): 41407 41408 2009-02-06 Geoffrey Garen <ggaren (a] apple.com> 41409 41410 Reviewed by Sam Weinig. 41411 41412 Part III of <rdar://problem/6552272>. 41413 41414 Make redirect data available to WebKit. (I tried having WebKit track this 41415 data for itself, but that went wrong -- it's just too hard to figure 41416 out the weird corners of the WebCore loader from within another framework.) 41417 41418 * loader/DocumentLoader.cpp: 41419 (WebCore::DocumentLoader::DocumentLoader): 41420 * loader/DocumentLoader.h: Store a flag indicating whether we created 41421 a global history entry. If we didn't, then we know that the next redirect 41422 should not link to us, since we're not in history. 41423 41424 (WebCore::DocumentLoader::clientRedirectSourceForHistory): 41425 (WebCore::DocumentLoader::clientRedirectDestinationForHistory): 41426 (WebCore::DocumentLoader::setClientRedirectSourceForHistory): 41427 (WebCore::DocumentLoader::serverRedirectSourceForHistory): 41428 (WebCore::DocumentLoader::serverRedirectDestinationForHistory): 41429 (WebCore::DocumentLoader::didCreateGlobalHistoryEntry): 41430 (WebCore::DocumentLoader::setDidCreateGlobalHistoryEntry): Added accessors 41431 to help WebKit wade through the muck of WebCore history. 41432 41433 * loader/EmptyClients.h: 41434 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryRedirectLinks): Renamed 41435 this client function to say what it does, instead of when it's called. 41436 41437 * loader/FrameLoader.cpp: 41438 (WebCore::FrameLoader::load): 41439 (WebCore::FrameLoader::loadWithNavigationAction): In the case of a redirect, 41440 store a link to the previous history URL in the new DocumentLoader, so 41441 it can update WebKit with that link when the load commits. 41442 41443 (WebCore::FrameLoader::updateHistory*): Use our new flags and names, 41444 described above. 41445 41446 * loader/FrameLoader.h: 41447 (WebCore::FrameLoader::documentLoader): 41448 (WebCore::FrameLoader::policyDocumentLoader): 41449 (WebCore::FrameLoader::provisionalDocumentLoader): 41450 (WebCore::FrameLoader::state): Inlined a few trivial functions because 41451 performance mistakes give me the itches. 41452 41453 * loader/FrameLoaderClient.h: Renamed this client function to say what 41454 it does, instead of when it's called. 41455 41456 2009-02-06 Eric Seidel <eric (a] webkit.org> 41457 41458 Reviewed by Justin Garcia. 41459 41460 Minor refactoring and cleanup to Selection code 41461 https://bugs.webkit.org/show_bug.cgi?id=23774 41462 41463 No functional changes, thus no tests. 41464 41465 * editing/Editor.cpp: 41466 (WebCore::Editor::applyStyle): 41467 (WebCore::Editor::applyParagraphStyle): 41468 * editing/Selection.cpp: 41469 (WebCore::Selection::Selection): 41470 (WebCore::Selection::setBaseAndExtentToDeepEquivalents): 41471 (WebCore::Selection::setStartAndEndFromBaseAndExtentRespectingGranularity): 41472 (WebCore::Selection::updateSelectionType): 41473 (WebCore::Selection::validate): 41474 (WebCore::Selection::setWithoutValidation): 41475 (WebCore::Selection::adjustSelectionToAvoidCrossingEditingBoundaries): 41476 * editing/Selection.h: 41477 (WebCore::Selection::): 41478 (WebCore::Selection::selectionType): 41479 (WebCore::Selection::extent): 41480 (WebCore::Selection::isNone): 41481 (WebCore::Selection::isCaret): 41482 (WebCore::Selection::isRange): 41483 (WebCore::Selection::isCaretOrRange): 41484 * editing/SelectionController.h: 41485 (WebCore::SelectionController::selectionType): 41486 * editing/TypingCommand.cpp: 41487 (WebCore::TypingCommand::deleteKeyPressed): 41488 (WebCore::TypingCommand::forwardDeleteKeyPressed): 41489 * page/Frame.cpp: 41490 (WebCore::Frame::revealSelection): 41491 41492 2009-02-06 Dimitri Glazkov <dglazkov (a] chromium.org> 41493 41494 Reviewed by Eric Seidel. 41495 41496 https://bugs.webkit.org/show_bug.cgi?id=23801 41497 Add custom V8 bindings for SVG. 41498 41499 * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: Added. 41500 (WebCore::CALLBACK_FUNC_DECL): 41501 * bindings/v8/custom/V8SVGLengthCustom.cpp: Added. 41502 (WebCore::ACCESSOR_GETTER): 41503 (WebCore::CALLBACK_FUNC_DECL): 41504 * bindings/v8/custom/V8SVGMatrixCustom.cpp: Added. 41505 (WebCore::CALLBACK_FUNC_DECL): 41506 41507 2009-02-06 David Levin <levin (a] chromium.org> 41508 41509 Reviewed by Eric Seidel. 41510 41511 Bug 23792: unused param is used in RenderLayer.cpp but not #include'd 41512 <https://bugs.webkit.org/show_bug.cgi?id=23792> 41513 41514 Add include file for UnusedParam which is used in this file. 41515 41516 * rendering/RenderLayer.cpp: 41517 41518 2009-02-06 David Levin <levin (a] chromium.org> 41519 41520 Reviewed by Eric Seidel. 41521 41522 <https://bugs.webkit.org/show_bug.cgi?id=23741> 41523 41524 Bug 23798: KURLGoogle needs support for protocolInHTTPFamily 41525 <https://bugs.webkit.org/show_bug.cgi?id=23798> 41526 41527 Add protocolInHTTPFamily() to the KURLGoogle implementation. 41528 This is another chromium build fix to mirror r40553. 41529 41530 While in this file, I did some style fixes and consistency fixes: 41531 + fixed many_occurences_of_underscoring_naming 41532 + usages of NULL 41533 + comparisons to 0 41534 + changed the copyright remove an extraneous , and capitalize the (C) 41535 which was suggested for other files that I've submitted. 41536 41537 No observable change in behavior, so no test. 41538 41539 * platform/KURL.h: 41540 (WebCore::KURL::protocolInHTTPFamily): 41541 * platform/KURLGoogle.cpp: 41542 (WebCore::KURLCharsetConverter::ConvertFromUTF16): 41543 (WebCore::lowerCaseEqualsASCII): 41544 (WebCore::KURLGooglePrivate::KURLGooglePrivate): 41545 (WebCore::KURLGooglePrivate::setUtf8): 41546 (WebCore::KURLGooglePrivate::setAscii): 41547 (WebCore::KURLGooglePrivate::init): 41548 (WebCore::KURLGooglePrivate::initProtocolInHTTPFamily): 41549 (WebCore::KURLGooglePrivate::copyTo): 41550 (WebCore::KURLGooglePrivate::replaceComponents): 41551 (WebCore::KURL::KURL): 41552 (WebCore::KURL::createCFURL): 41553 (WebCore::KURL::isEmpty): 41554 (WebCore::KURL::protocolInHTTPFamily): 41555 (WebCore::KURL::query): 41556 (WebCore::decodeURLEscapeSequences): 41557 (WebCore::KURL::protocolIs): 41558 (WebCore::encodeWithURLEscapeSequences): 41559 (WebCore::KURL::invalidate): 41560 (WebCore::equalIgnoringRef): 41561 * platform/KURLGooglePrivate.h: 41562 41563 2009-02-06 David Kilzer <ddkilzer (a] apple.com> 41564 41565 Bug 23741: StyleRareNonInheritedData::operator==() should not compare ContentData objects by pointer 41566 41567 Reviewed by Darin Adler. 41568 41569 * rendering/style/RenderStyle.cpp: 41570 (WebCore::RenderStyle::contentDataEquivalent): Moved method to 41571 WebCore::StyleRareNonInheritedData class. 41572 * rendering/style/RenderStyle.h: 41573 (WebCore::InheritedFlags::contentDataEquivalent): Replaced declaration 41574 with inline method that calls contentDataEquivalent() on 41575 WebCore::StyleRareNonInheritedData instead. 41576 * rendering/style/StyleRareNonInheritedData.cpp: 41577 (WebCore::StyleRareNonInheritedData::operator==): This is the bug fix! 41578 Replaced pointer comparison of ContentData objects with call to 41579 StyleRareNonInheritedData::contentDataEquivalent(). 41580 (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added. 41581 * rendering/style/StyleRareNonInheritedData.h: 41582 (WebCore::StyleRareNonInheritedData::contentDataEquivalent): Added 41583 declaration. 41584 41585 2009-02-06 Simon Fraser <simon.fraser (a] apple.com> 41586 41587 Reviewed by Eric Seidel 41588 41589 Factor code that checks whether the object is rooted in 41590 repaint() and repaintRectangle() into a common isRooted() 41591 method. 41592 41593 * rendering/RenderObject.cpp: 41594 (WebCore::RenderObject::repaint): 41595 (WebCore::RenderObject::repaintRectangle): 41596 (WebCore::RenderObject::isRooted): 41597 * rendering/RenderObject.h: 41598 41599 2009-02-06 Simon Fraser <simon.fraser (a] apple.com> 41600 41601 Reviewed by Eric Seidel 41602 41603 Expose an isRootLayer() method on RenderLayer that works whether the 41604 layer is rooted or not, and use that in a few places in the 41605 accelerated compositing code. 41606 41607 * rendering/RenderLayer.h: 41608 (WebCore::RenderLayer::isRootLayer): 41609 * rendering/RenderLayerBacking.cpp: 41610 (WebCore::RenderLayerBacking::paintingGoesToWindow): 41611 * rendering/RenderLayerCompositor.cpp: 41612 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 41613 (WebCore::RenderLayerCompositor::requiresCompositingLayer): 41614 41615 2009-02-06 Dan Bernstein <mitz (a] apple.com> 41616 41617 Reviewed by Darin Adler. 41618 41619 - fix <rdar://problem/6552338> FontCache::releaseFontData() called on a small caps font that is not in the cache 41620 41621 Most platforms do not retrieve the small caps font from the FontCache, 41622 but cross-platform code in ~SimpleFontData() assumes the the small caps 41623 font data did come from the cache and therefore calls releaseFontData() 41624 on it. 41625 41626 * platform/graphics/SimpleFontData.cpp: 41627 (WebCore::SimpleFontData::~SimpleFontData): Reordered to call 41628 platformDestroy() before releasing the small caps font and pruning the 41629 glyph page tree. This allows platformDestroy() to reset 41630 m_smallCapsFontData to 0 if it was not obtained from the cache. 41631 * platform/graphics/chromium/SimpleFontDataLinux.cpp: 41632 (WebCore::SimpleFontData::platformDestroy): Set m_smallCapsFontData to 41633 0 after deleting it. 41634 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 41635 (WebCore::SimpleFontData::platformDestroy): Ditto. 41636 * platform/graphics/gtk/SimpleFontDataPango.cpp: 41637 (WebCore::SimpleFontData::platformDestroy): Ditto. 41638 * platform/graphics/win/SimpleFontDataWin.cpp: 41639 (WebCore::SimpleFontData::platformCommonDestroy): Ditto. 41640 * platform/graphics/wx/SimpleFontDataWx.cpp: 41641 (WebCore::SimpleFontData::platformDestroy): Ditto. 41642 41643 2009-02-06 Simon Fraser <simon.fraser (a] apple.com> 41644 41645 Reviewed by Eric Seidel 41646 41647 Make RenderStyle::transitionForProperty() const. 41648 41649 * rendering/style/RenderStyle.cpp: 41650 (WebCore::RenderStyle::transitionForProperty): 41651 * rendering/style/RenderStyle.h: 41652 41653 2009-02-06 Simon Fraser <simon.fraser (a] apple.com> 41654 41655 Fix build when ACCELERATED_COMPOSITING is turned on. 41656 41657 Remove font smoothing changes that will be committed 41658 separately. 41659 41660 * platform/graphics/mac/WebLayer.mm: 41661 (WebCore::if): 41662 41663 2009-02-06 Anders Carlsson <andersca (a] apple.com> 41664 41665 Build fix. 41666 41667 * bridge/npapi.h: 41668 41669 2009-02-06 Darin Fisher <darin (a] chromium.org> 41670 41671 Reviewed by Eric Seidel. 41672 41673 https://bugs.webkit.org/show_bug.cgi?id=23790 41674 Custom -> JSCCustom in SVGPointList.idl 41675 41676 * svg/SVGPointList.idl: 41677 41678 2009-02-06 Anantanarayanan Iyengar <ananta (a] chromium.org> 41679 41680 Reviewed by Eric Seidel. 41681 41682 https://bugs.webkit.org/show_bug.cgi?id=23309 41683 Fix whitespace indent errors. The rest of the original patch has already 41684 landed. 41685 41686 * platform/graphics/cairo/ImageSourceCairo.cpp: 41687 (WebCore::ImageSource::clear): 41688 * platform/graphics/cg/ImageSourceCG.cpp: 41689 (WebCore::ImageSource::clear): 41690 * platform/graphics/qt/ImageSourceQt.cpp: 41691 (WebCore::ImageSource::clear): 41692 * platform/graphics/wx/ImageSourceWx.cpp: 41693 (WebCore::ImageSource::clear): 41694 41695 2009-02-06 Dirk Schulze <krit (a] webkit.org> 41696 41697 Reviewed by Simon Hausmann. 41698 41699 Fix bug in clearRect(). Use fillRect() instead of eraseRect() to get 41700 the context transparent. 41701 41702 [QT] clearRect fill's a given rect with white 41703 https://bugs.webkit.org/show_bug.cgi?id=23728 41704 41705 * platform/graphics/qt/GraphicsContextQt.cpp: 41706 (WebCore::GraphicsContext::clearRect): 41707 41708 2009-02-06 Simon Fraser <simon.fraser (a] apple.com> 41709 41710 Reviewed by Dave Hyatt 41711 41712 https://bugs.webkit.org/show_bug.cgi?id=23781 41713 41714 When the document is attached and detached, and when it becomes active/inactive 41715 (e.g. coming out or going into the page cache) we need to call 41716 RenderView::didMoveOnscreen()/willMoveOffscreen() to hook and unhook the composited 41717 layers. 41718 41719 Also, if Document::recalcStyle() does not do a layout, it needs to 41720 update the compositing layers. 41721 41722 * dom/Document.cpp: 41723 (WebCore::Document::updateRendering): 41724 (WebCore::Document::updateLayout): 41725 (WebCore::Document::attach): 41726 (WebCore::Document::detach): 41727 (WebCore::Document::documentWillBecomeInactive): 41728 (WebCore::Document::documentDidBecomeActive): 41729 41730 2009-02-06 Simon Hausmann <simon.hausmann (a] nokia.com> 41731 41732 Reviewed by Tor Arne Vestb. 41733 41734 Added support for different ownership models for wrapped QObjects in 41735 the JavaScript environment. 41736 41737 * bindings/js/ScriptControllerQt.cpp: 41738 (WebCore::ScriptController::createScriptInstanceForWidget): Specify 41739 QtOwnership for scriptable widgets. 41740 * bridge/npruntime_internal.h: Add "NormalState" to the list of 41741 undef'ed macros as an included Qt header uses "NormalState" as value 41742 in an enum. 41743 * bridge/qt/qt_instance.cpp: 41744 (JSC::Bindings::QtInstance::QtInstance): Save and initialize ownership 41745 member. 41746 (JSC::Bindings::QtInstance::~QtInstance): Respect 41747 QScriptEngine::ValueOwnership policy with regards to wrapped m_object. 41748 (JSC::Bindings::QtInstance::getQtInstance): Pass the ownership down to 41749 the instance. 41750 * bridge/qt/qt_instance.h: 41751 (JSC::Bindings::QtInstance::create): Ditto. 41752 * bridge/qt/qt_runtime.cpp: 41753 (JSC::Bindings::convertQVariantToValue): Use QtOwnership for 41754 automatically wrapped QObjects. 41755 (JSC::Bindings::QtConnectionObject::execute): Ditto. 41756 41757 2009-02-05 Maciej Stachowiak <mjs (a] apple.com> and Brady Eidson <beidson (a] apple.com> 41758 41759 Reviewed by Dan Bernstein and Geoff Garen. 41760 41761 - WebCore code to track per-day and per-week visit counts in history 41762 41763 The basic idea is as follows: we track daily visits for up to 13 41764 days, and weekly visits for up to 5 weeks past the end of the 41765 current daily visits. As soon as the number of daily counts goes 41766 over 13, we squish them down into weeks, and then prune the excess weeks. 41767 41768 * history/HistoryItem.cpp: 41769 (WebCore::HistoryItem::HistoryItem): Remove bogus whitespace. 41770 (WebCore::timeToDay): Helper function: convert time to days from the epoch. 41771 (WebCore::HistoryItem::padDailyCountsForNewVisit): Insert 0 counts if 41772 a site is visited after a span of days. 41773 (WebCore::HistoryItem::collapseDailyVisitsToWeekly): Core day/week upgrade 41774 algorithm as described above. 41775 (WebCore::HistoryItem::recordVisitAtTime): Use above helpers to record all 41776 info about a visit to this history item. 41777 (WebCore::HistoryItem::setLastVisitedTime): Updated. 41778 (WebCore::HistoryItem::visited): Updated. 41779 (WebCore::HistoryItem::recordInitialVisit): New function to 41780 handle recording data about the very first visit, replacing the 41781 prior practice of explicitly setting visit count to 1. 41782 (WebCore::HistoryItem::adoptVisitCounts): Take ownership of 41783 daily and weekly visit count vectors. 41784 (WebCore::HistoryItem::mergeAutoCompleteHints): Added a comment 41785 noting that this function doesn't work properly now (though 41786 this shouldn't matter much in practice.) 41787 * history/HistoryItem.h: 41788 (WebCore::HistoryItem::dailyVisitCounts): Accessor for daily counts. 41789 (WebCore::HistoryItem::weeklyVisitCounts): Ditto for weekly counts. 41790 * WebCore.base.exp: Add new symbols and sort. 41791 41792 2009-02-05 Alexey Proskuryakov <ap (a] webkit.org> 41793 41794 Reviewed by Darin Adler. 41795 41796 <rdar://problem/6438271> Improve backspace handling of accented characters 41797 41798 Test: platform/mac/editing/deleting/backward-delete.html 41799 41800 This change makes WebKit behave like AppKit on the Mac. Other platforms are not affected, 41801 because the current behavior matches their standards (tested on Windows, assumed elsewhere). 41802 41803 * dom/Position.cpp: 41804 (WebCore::Position::previous): 41805 (WebCore::Position::next): 41806 (WebCore::Position::uncheckedPreviousOffsetForBackwardDeletion): 41807 * dom/Position.h: 41808 Added a new option for previous(), used to move to a next position for backward deletion. 41809 Renamed EUsingComposedCharacters to PositionMoveType. 41810 41811 * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): 41812 Use previous(BackwardDeletion) to find a proper range to delete. Also, simplified a check 41813 surrounding this code a little. 41814 41815 * editing/htmlediting.cpp: 41816 (WebCore::nextVisuallyDistinctCandidate): 41817 (WebCore::previousVisuallyDistinctCandidate): 41818 Adjusted for renamed enum values. 41819 41820 * rendering/RenderObject.cpp: 41821 * rendering/RenderObject.h: 41822 * rendering/RenderText.h: 41823 Added previousOffsetForBackwardDeletion(). 41824 41825 * rendering/RenderText.cpp: (WebCore::RenderText::previousOffsetForBackwardDeletion): 41826 On PLATFORM(MAC), use an algorithm that matches the one AppKit has for backward deletion. 41827 41828 2009-02-05 Adam Roben <aroben (a] apple.com> 41829 41830 Fix a crash in RenderWidget::destroy when navigating away from a page 41831 with an <iframe> 41832 41833 This was a regression caused by r40679 41834 41835 Reviewed by Dave Hyatt. 41836 41837 Tested by many many tests. 41838 41839 * rendering/RenderWidget.cpp: 41840 (WebCore::RenderWidget::destroy): Only deref the RenderWidget after we 41841 finish accessing its members. 41842 41843 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 41844 41845 Reviewed by Anders Carlsson 41846 41847 getAnimatedStyleForRenderer() should not create a new 41848 CompositeAnimation if the object isn't already animating, and 41849 it should just fall back to returning renderer->style(). 41850 41851 * page/animation/AnimationController.cpp: 41852 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): 41853 41854 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 41855 41856 Fix build when ACCELERATED_COMPOSITING is turned on. 41857 41858 Give RenderLayerBacking some love after the great 41859 RenderBoxModelObject split. 41860 41861 * rendering/RenderLayerBacking.cpp: 41862 (WebCore::RenderLayerBacking::updateLayerTransform): 41863 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 41864 (WebCore::RenderLayerBacking::contentsBox): 41865 (WebCore::RenderLayerBacking::paintIntoLayer): 41866 (WebCore::RenderLayerBacking::startAnimation): 41867 (WebCore::RenderLayerBacking::startTransition): 41868 * rendering/RenderLayerBacking.h: 41869 (WebCore::RenderLayerBacking::renderer): 41870 41871 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 41872 41873 Fix build when ACCELERATED_COMPOSITING is turned on. 41874 41875 writeIndent() needs to be static to avoid warnings on some OSes, 41876 and remove unused CAToTransform3D() method. 41877 41878 * platform/graphics/GraphicsLayer.cpp: 41879 (WebCore::writeIndent): 41880 * platform/graphics/mac/GraphicsLayerCA.mm: 41881 41882 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 41883 41884 Reviewed by Anders Carlsson 41885 41886 Add some methods to the TransformOperation classes that are required 41887 by GraphicsLayer when ACCELERATED_COMPOSITING is turned on. 41888 41889 * platform/graphics/transforms/MatrixTransformOperation.h: 41890 (WebCore::MatrixTransformOperation::create): 41891 (WebCore::MatrixTransformOperation::MatrixTransformOperation): 41892 * platform/graphics/transforms/ScaleTransformOperation.h: 41893 (WebCore::ScaleTransformOperation::x): 41894 (WebCore::ScaleTransformOperation::y): 41895 * platform/graphics/transforms/TranslateTransformOperation.h: 41896 (WebCore::TranslateTransformOperation::x): 41897 (WebCore::TranslateTransformOperation::y): 41898 41899 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 41900 41901 Minor clenaup: fix brace style in CompositeAnimationPrivate::updateTransitions(), 41902 and correct a usage of UNUSED_PARAM(). 41903 41904 * page/animation/CompositeAnimation.cpp: 41905 (WebCore::CompositeAnimationPrivate::updateTransitions): 41906 * page/animation/ImplicitAnimation.cpp: 41907 (WebCore::ImplicitAnimation::startAnimation): 41908 41909 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 41910 41911 Fix build when ACCELERATED_COMPOSITING is turned on. 41912 41913 animationOfPropertyIsAccelerated() needs to be public because 41914 it is called from AnimationController. 41915 41916 * page/animation/AnimationBase.h: 41917 41918 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 41919 41920 Reviewed by Anders Carlsson 41921 41922 Fix mis-typed enum value which is hidden inside #ifdefs so didn't break 41923 the build. 41924 41925 * page/FrameView.cpp: 41926 (WebCore::FrameView::updateCompositingLayers): 41927 41928 2009-02-05 Sam Weinig <sam (a] webkit.org> 41929 41930 Reviewed by Geoffrey Garen. 41931 41932 Fix missing checked toRenderBlock casts. 41933 41934 * rendering/RenderBlock.cpp: 41935 (WebCore::RenderBlock::clearFloats): 41936 * rendering/RenderBox.cpp: 41937 (WebCore::RenderBox::availableHeightUsing): 41938 41939 2009-02-05 Sam Weinig <sam (a] webkit.org> 41940 41941 Patch from Darin Adler. 41942 Reviewed by Sam Weinig. 41943 41944 Fix case where we were casting to RenderView. 41945 41946 No test case possible. 41947 41948 * editing/mac/SelectionControllerMac.mm: 41949 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 41950 41951 2009-02-05 Aaron Boodman <aa (a] chromium.org> 41952 41953 Reviewed by Dave Hyatt. 41954 41955 https://bugs.webkit.org/show_bug.cgi?id=23708 41956 Adds documentElementAvailable() callback to FrameLoaderClient. 41957 41958 * dom/XMLTokenizerLibxml2.cpp: 41959 (WebCore::XMLTokenizer::startElementNs): 41960 Add call to dispatchDocumentElementAvailable() 41961 * dom/XMLTokenizerQt.cpp: 41962 (WebCore::XMLTokenizer::parseStartElement): 41963 Ditto. 41964 * html/HTMLParser.cpp: 41965 (WebCore::HTMLParser::insertNode): 41966 Ditto. 41967 * loader/EmptyClients.h: 41968 (WebCore::EmptyFrameLoaderClient::documentElementAvailable): 41969 Stub out documentElementAvailable(). 41970 * loader/FrameLoader.cpp: 41971 documentElementAvailable() callback plumbing. 41972 * loader/FrameLoader.h: 41973 Ditto. 41974 * loader/FrameLoaderClient.h: 41975 Add new documentElementAvailable() callback. 41976 41977 2009-02-05 Scott Violet <sky (a] google.com> 41978 41979 Reviewed by Eric Seidel. 41980 41981 https://bugs.webkit.org/show_bug.cgi?id=23766 41982 CanvasRenderingContext2D::setShadow needs else for other platforms. 41983 41984 Implements the CMYK variant of CanvasRenderingContext2D::setShadow for 41985 other platforms using the CMYK color constructor. 41986 41987 * html/CanvasRenderingContext2D.cpp: 41988 (WebCore::CanvasRenderingContext2D::setShadow): 41989 41990 2009-02-05 Scott Violet <sky (a] google.com> 41991 41992 Reviewed by Eric Seidel. 41993 41994 https://bugs.webkit.org/show_bug.cgi?id=23687 41995 Wires up Skia'a ImageBuffer::toDataURL to support pngs. 41996 This helps Chromium pass a couple of layout tests. 41997 41998 * platform/graphics/skia/ImageBufferSkia.cpp: 41999 (WebCore::ImageBuffer::toDataURL): 42000 * platform/image-encoders: Added. 42001 * platform/image-encoders/skia: Added. 42002 * platform/image-encoders/skia/PNGImageEncoder.cpp: Added. 42003 (WebCore::): 42004 (WebCore::PngEncoderState::EncoderWriteCallback): 42005 (WebCore::PngEncoderState::ConvertBGRAtoRGB): 42006 (WebCore::PngEncoderState::PngWriteStructDestroyer::PngWriteStructDestroyer): 42007 (WebCore::PngEncoderState::PngWriteStructDestroyer::~PngWriteStructDestroyer): 42008 (WebCore::PNGImageEncoder::encode): 42009 * platform/image-encoders/skia/PNGImageEncoder.h: Added. 42010 42011 2009-02-05 Sam Weinig <sam (a] webkit.org> 42012 42013 Reviewed by Darin Adler. 42014 42015 Fix missing checked cast. 42016 42017 * rendering/RenderObject.cpp: 42018 (WebCore::RenderObject::containingBlock): 42019 42020 2009-02-05 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 42021 42022 Not reviewed. Fix WML enabled builds. 42023 42024 FrameLoader::load() got an additional 'lockHistory' parameter, pass 'false'. 42025 42026 * wml/WMLGoElement.cpp: 42027 (WebCore::WMLGoElement::executeTask): 42028 42029 2009-02-05 Scott Violet <sky (a] google.com> 42030 42031 Reviewed by Eric Seidel. 42032 42033 https://bugs.webkit.org/show_bug.cgi?id=23625 42034 Additional fix: Skia platform doesn't render text to a canvas or support clipping to an image buffer 42035 42036 Fixes three bugs in PlatformContextSkia: 42037 42038 * When a new layer was started clipped to an image we used the 42039 assignment operator to copy the SkBitmap. If the SkBitmap owns it's 42040 pixels, this is not the right thing to do. Instead we need to create 42041 a copy of the image. 42042 * State holds an SkBitmap by value. State's copy constructor does a 42043 memcpy. This is confusing and subtle, I've converted to use a member 42044 initializer list which I think is clearer and less error prone. 42045 * When creating a new layer there is no need to copy the clip image. 42046 42047 * platform/graphics/skia/PlatformContextSkia.cpp: 42048 (PlatformContextSkia::State::State): 42049 (PlatformContextSkia::save): 42050 (PlatformContextSkia::beginLayerClippedToImage): 42051 42052 2009-02-05 Scott Violet <sky (a] google.com> 42053 42054 Reviewed by George Staikos. 42055 42056 https://bugs.webkit.org/show_bug.cgi?id=23462 42057 Changes call from setFillColor to setStrokeColor. 42058 42059 * html/CanvasStyle.cpp: 42060 (WebCore::CanvasStyle::applyStrokeColor): 42061 42062 2009-02-05 David Hyatt <hyatt (a] apple.com> 42063 42064 Fix crash on svg custom stop test. A virtual function didn't get patched properly. 42065 42066 Reviewed by Sam Weinig 42067 42068 * rendering/RenderObject.cpp: 42069 (WebCore::RenderObject::clippedOverflowRectForRepaint): 42070 * rendering/RenderSVGGradientStop.h: 42071 (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint): 42072 42073 2009-02-05 Simon Fraser <simon.fraser (a] apple.com> 42074 42075 Reviewed by Dave Hyatt 42076 42077 https://bugs.webkit.org/show_bug.cgi?id=23765 42078 42079 Add toRenderBoxModelObject() so that we can cast objects that 42080 can have layers. 42081 42082 Fix getComputedStyle to return the current value of style 42083 properties that are undergoing accelerated animations, by 42084 asking the AnimationController if the property has accelerated 42085 animations, and, if so, asking it to generate an appropriate 42086 style. 42087 42088 Tightened up some type safety (CSSPropertyID), and code clarity 42089 (replace bool with enum). 42090 42091 * WebCore.xcodeproj/project.pbxproj: 42092 * css/CSSComputedStyleDeclaration.cpp: 42093 (WebCore::hasCompositedLayer): 42094 (WebCore::computedTransform): 42095 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 42096 * page/animation/AnimationController.cpp: 42097 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer): 42098 (WebCore::AnimationController::isAnimatingPropertyOnRenderer): 42099 (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty): 42100 * page/animation/AnimationController.h: 42101 * page/animation/AnimationControllerPrivate.h: 42102 * page/animation/ImplicitAnimation.cpp: 42103 (WebCore::ImplicitAnimation::startAnimation): 42104 (WebCore::ImplicitAnimation::endAnimation): 42105 * page/animation/KeyframeAnimation.cpp: 42106 (WebCore::KeyframeAnimation::startAnimation): 42107 (WebCore::KeyframeAnimation::endAnimation): 42108 * rendering/RenderBoxModelObject.h: 42109 (WebCore::RenderBoxModelObject::isBoxModelObject): 42110 (WebCore::toRenderBoxModelObject): 42111 * rendering/RenderLayerBacking.cpp: 42112 (WebCore::RenderLayerBacking::updateLayerTransform): 42113 * rendering/RenderObject.h: 42114 (WebCore::RenderObject::isBoxModelObject): 42115 * rendering/style/RenderStyle.cpp: 42116 (WebCore::RenderStyle::applyTransform): 42117 * rendering/style/RenderStyle.h: 42118 (WebCore::InheritedFlags::): 42119 42120 2009-02-05 Dimitri Glazkov <dglazkov (a] chromium.org> 42121 42122 Reviewed by Eric Seidel. 42123 42124 https://bugs.webkit.org/show_bug.cgi?id=23767 42125 Add custom V8 bindings for HTML5 database. 42126 42127 * bindings/v8/custom/V8CustomSQLStatementCallback.cpp: Added. 42128 (WebCore::V8CustomSQLStatementCallback::V8CustomSQLStatementCallback): 42129 (WebCore::V8CustomSQLStatementCallback::~V8CustomSQLStatementCallback): 42130 (WebCore::V8CustomSQLStatementCallback::handleEvent): 42131 * bindings/v8/custom/V8CustomSQLStatementCallback.h: Added. 42132 (WebCore::V8CustomSQLStatementCallback::create): 42133 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp: Added. 42134 (WebCore::V8CustomSQLStatementErrorCallback::V8CustomSQLStatementErrorCallback): 42135 (WebCore::V8CustomSQLStatementErrorCallback::~V8CustomSQLStatementErrorCallback): 42136 (WebCore::V8CustomSQLStatementErrorCallback::handleEvent): 42137 * bindings/v8/custom/V8CustomSQLStatementErrorCallback.h: Added. 42138 (WebCore::V8CustomSQLStatementErrorCallback::create): 42139 * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp: Added. 42140 (WebCore::V8CustomSQLTransactionCallback::V8CustomSQLTransactionCallback): 42141 (WebCore::V8CustomSQLTransactionCallback::~V8CustomSQLTransactionCallback): 42142 (WebCore::V8CustomSQLTransactionCallback::handleEvent): 42143 * bindings/v8/custom/V8CustomSQLTransactionCallback.h: Added. 42144 (WebCore::V8CustomSQLTransactionCallback::create): 42145 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp: Added. 42146 (WebCore::V8CustomSQLTransactionErrorCallback::V8CustomSQLTransactionErrorCallback): 42147 (WebCore::V8CustomSQLTransactionErrorCallback::~V8CustomSQLTransactionErrorCallback): 42148 (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): 42149 * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Added. 42150 (WebCore::V8CustomSQLTransactionErrorCallback::create): 42151 * bindings/v8/custom/V8CustomVoidCallback.cpp: Added. 42152 (WebCore::V8CustomVoidCallback::V8CustomVoidCallback): 42153 (WebCore::V8CustomVoidCallback::~V8CustomVoidCallback): 42154 (WebCore::V8CustomVoidCallback::handleEvent): 42155 (WebCore::invokeCallback): 42156 * bindings/v8/custom/V8CustomVoidCallback.h: Added. 42157 (WebCore::V8CustomVoidCallback::create): 42158 * bindings/v8/custom/V8DatabaseCustom.cpp: Added. 42159 (WebCore::CALLBACK_FUNC_DECL): 42160 * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp: Added. 42161 (WebCore::CALLBACK_FUNC_DECL): 42162 * bindings/v8/custom/V8SQLTransactionCustom.cpp: Added. 42163 (WebCore::CALLBACK_FUNC_DECL): 42164 42165 2009-02-05 Dimitri Glazkov <dglazkov (a] chromium.org> 42166 42167 Reviewed by Eric Seidel. 42168 42169 https://bugs.webkit.org/show_bug.cgi?id=23747 42170 Add Chromium threading-related files. 42171 42172 * platform/chromium/TemporaryLinkStubs.cpp: Removed theading-related stubs. 42173 42174 2009-02-05 Sam Weinig <sam (a] webkit.org> 42175 42176 Reviewed by Adam Roben. 42177 42178 Add toRenderButton methods for casting RenderObjects to RenderButtons. The methods will assert if the object 42179 is not a RenderButton. Also add a toRenderButton method that takes a RenderButton but returns void and that 42180 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderButton. 42181 42182 * rendering/RenderButton.h: 42183 (WebCore::RenderButton::isRenderButton): 42184 (WebCore::toRenderButton): 42185 * rendering/RenderFileUploadControl.cpp: 42186 (WebCore::RenderFileUploadControl::paintObject): 42187 * rendering/RenderObject.h: 42188 (WebCore::RenderObject::isRenderButton): 42189 42190 2009-02-05 David Hyatt <hyatt (a] apple.com> 42191 42192 Move the m_layer member variable of RenderBox up into RenderBoxModelObject. Refactor styleDidChange' 42193 of RenderObject, RenderBoxModelObject and RenderBox to get more of the code in the correct subclass. 42194 In order to set the various RenderObject bits properly prior to the test for whether a layer is 42195 required, I added an additional method, updateBoxModelInfoAfterStyleChange, that is responsible 42196 for setting all of the bits. 42197 42198 Eliminate hasStaticX/Y, staticX/Y, and setStaticX/Y from the render tree. Move hasStaticX/Y to 42199 RenderStyle, and just use the corresponding layer() methods for the 42200 staticX/Y getters/setters. 42201 42202 Reviewed by Sam Weinig 42203 42204 * rendering/RenderBlock.cpp: 42205 (WebCore::RenderBlock::layoutBlock): 42206 (WebCore::RenderBlock::adjustPositionedBlock): 42207 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 42208 (WebCore::RenderBlock::layoutPositionedObjects): 42209 (WebCore::RenderBlock::paintObject): 42210 (WebCore::RenderBlock::nodeAtPoint): 42211 (WebCore::RenderBlock::offsetForContents): 42212 (WebCore::RenderBlock::calcPrefWidths): 42213 (WebCore::RenderBlock::baselinePosition): 42214 * rendering/RenderBox.cpp: 42215 (WebCore::RenderBox::RenderBox): 42216 (WebCore::RenderBox::destroy): 42217 (WebCore::RenderBox::styleWillChange): 42218 (WebCore::RenderBox::styleDidChange): 42219 (WebCore::RenderBox::updateBoxModelInfoFromStyle): 42220 (WebCore::RenderBox::scrollWidth): 42221 (WebCore::RenderBox::scrollHeight): 42222 (WebCore::RenderBox::scrollLeft): 42223 (WebCore::RenderBox::scrollTop): 42224 (WebCore::RenderBox::setScrollLeft): 42225 (WebCore::RenderBox::setScrollTop): 42226 (WebCore::RenderBox::getOverflowClipRect): 42227 (WebCore::RenderBox::localToAbsolute): 42228 (WebCore::RenderBox::absoluteToLocal): 42229 (WebCore::RenderBox::localToContainerQuad): 42230 (WebCore::RenderBox::position): 42231 (WebCore::RenderBox::computeRectForRepaint): 42232 (WebCore::RenderBox::calcAbsoluteHorizontal): 42233 (WebCore::RenderBox::calcAbsoluteVertical): 42234 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 42235 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 42236 * rendering/RenderBox.h: 42237 * rendering/RenderBoxModelObject.cpp: 42238 (WebCore::RenderBoxModelObject::RenderBoxModelObject): 42239 (WebCore::RenderBoxModelObject::destroy): 42240 (WebCore::RenderBoxModelObject::styleWillChange): 42241 (WebCore::RenderBoxModelObject::styleDidChange): 42242 (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle): 42243 * rendering/RenderBoxModelObject.h: 42244 (WebCore::RenderBoxModelObject::layer): 42245 (WebCore::RenderBoxModelObject::requiresLayer): 42246 * rendering/RenderFlexibleBox.cpp: 42247 (WebCore::RenderFlexibleBox::layoutBlock): 42248 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 42249 (WebCore::RenderFlexibleBox::layoutVerticalBox): 42250 * rendering/RenderInline.cpp: 42251 (WebCore::RenderInline::updateBoxModelInfoFromStyle): 42252 (WebCore::RenderInline::styleDidChange): 42253 (WebCore::RenderInline::relativePositionedInlineOffset): 42254 * rendering/RenderInline.h: 42255 * rendering/RenderLayer.cpp: 42256 (WebCore::RenderLayer::setStaticY): 42257 (WebCore::RenderLayer::updateLayerPosition): 42258 * rendering/RenderLayer.h: 42259 * rendering/RenderObject.cpp: 42260 (WebCore::RenderObject::setStyle): 42261 (WebCore::RenderObject::styleDidChange): 42262 * rendering/RenderObject.h: 42263 (WebCore::RenderObject::markContainingBlocksForLayout): 42264 * rendering/RenderTableRow.cpp: 42265 (WebCore::RenderTableRow::paint): 42266 * rendering/RenderWidget.cpp: 42267 (WebCore::RenderWidget::destroy): 42268 * rendering/bidi.cpp: 42269 (WebCore::appendRunsForObject): 42270 (WebCore::RenderBlock::layoutInlineChildren): 42271 (WebCore::RenderBlock::skipTrailingWhitespace): 42272 (WebCore::RenderBlock::skipLeadingWhitespace): 42273 (WebCore::RenderBlock::findNextLineBreak): 42274 * rendering/style/RenderStyle.h: 42275 (WebCore::InheritedFlags::hasStaticX): 42276 (WebCore::InheritedFlags::hasStaticY): 42277 42278 2009-02-05 Sam Weinig <sam (a] webkit.org> 42279 42280 Fix the windows build. 42281 42282 * bindings/scripts/CodeGeneratorCOM.pm: 42283 * dom/Node.idl: 42284 42285 2009-02-05 Anders Carlsson <andersca (a] apple.com> 42286 42287 Reviewed by Kevin Decker. 42288 42289 Update to match Gecko. 42290 42291 * bridge/npapi.h: 42292 * plugins/npfunctions.h: 42293 42294 2009-02-05 Sam Weinig <sam (a] webkit.org> 42295 42296 Reviewed by Darin Adler. 42297 42298 Finish merging EventTargetNode up into Node. 42299 42300 This also fixes a small recently introduced issue where EventListeners 42301 would not be removed from the document if they were attached to comment 42302 nodes outside of the documentElement. 42303 42304 * GNUmakefile.am: 42305 * WebCore.pro: 42306 * WebCore.scons: 42307 * WebCore.vcproj/WebCore.vcproj: 42308 * WebCore.xcodeproj/project.pbxproj: 42309 * WebCoreSources.bkl: 42310 * bindings/js/JSEventTargetNodeCustom.cpp: Removed. 42311 * bindings/js/JSNodeCustom.cpp: 42312 (WebCore::JSNode::addEventListener): 42313 (WebCore::JSNode::removeEventListener): 42314 (WebCore::JSNode::pushEventHandlerScope): 42315 * bindings/scripts/CodeGenerator.pm: 42316 * dom/CharacterData.cpp: 42317 (WebCore::CharacterData::CharacterData): 42318 (WebCore::CharacterData::rendererIsNeeded): 42319 * dom/CharacterData.h: 42320 * dom/ContainerNode.cpp: 42321 (WebCore::ContainerNode::willRemove): 42322 (WebCore::ContainerNode::attach): 42323 (WebCore::ContainerNode::detach): 42324 (WebCore::ContainerNode::insertedIntoDocument): 42325 (WebCore::ContainerNode::removedFromDocument): 42326 (WebCore::ContainerNode::setFocus): 42327 (WebCore::ContainerNode::setActive): 42328 (WebCore::ContainerNode::setHovered): 42329 (WebCore::dispatchChildInsertionEvents): 42330 (WebCore::dispatchChildRemovalEvents): 42331 * dom/ContainerNode.h: 42332 (WebCore::ContainerNode::ContainerNode): 42333 * dom/Document.cpp: 42334 (WebCore::Document::removeAllEventListenersFromAllNodes): 42335 (WebCore::Document::removeAllDisconnectedNodeEventListeners): 42336 (WebCore::Document::setFocusedNode): 42337 * dom/EventTargetNode.cpp: Removed. 42338 * dom/EventTargetNode.h: Removed. 42339 * dom/Node.cpp: 42340 (WebCore::Node::scriptExecutionContext): 42341 (WebCore::Node::eventListeners): 42342 (WebCore::Node::insertedIntoDocument): 42343 (WebCore::Node::removedFromDocument): 42344 (WebCore::Node::willMoveToNewOwnerDocument): 42345 (WebCore::Node::didMoveToNewOwnerDocument): 42346 (WebCore::updateSVGElementInstancesAfterEventListenerChange): 42347 (WebCore::Node::addEventListener): 42348 (WebCore::Node::removeEventListener): 42349 (WebCore::Node::removeAllEventListenersSlowCase): 42350 (WebCore::Node::handleLocalEvents): 42351 (WebCore::eventTargetAsSVGElementInstance): 42352 (WebCore::eventTargetRespectingSVGTargetRules): 42353 (WebCore::Node::dispatchEvent): 42354 (WebCore::Node::dispatchGenericEvent): 42355 (WebCore::Node::dispatchSubtreeModifiedEvent): 42356 (WebCore::Node::dispatchWindowEvent): 42357 (WebCore::Node::dispatchUIEvent): 42358 (WebCore::Node::dispatchKeyEvent): 42359 (WebCore::Node::dispatchMouseEvent): 42360 (WebCore::Node::dispatchSimulatedMouseEvent): 42361 (WebCore::Node::dispatchSimulatedClick): 42362 (WebCore::Node::dispatchWheelEvent): 42363 (WebCore::Node::dispatchWebKitAnimationEvent): 42364 (WebCore::Node::dispatchWebKitTransitionEvent): 42365 (WebCore::Node::dispatchFocusEvent): 42366 (WebCore::Node::dispatchBlurEvent): 42367 (WebCore::Node::dispatchEventForType): 42368 (WebCore::Node::dispatchProgressEvent): 42369 (WebCore::Node::dispatchStorageEvent): 42370 (WebCore::Node::removeInlineEventListenerForType): 42371 (WebCore::Node::setInlineEventListenerForType): 42372 (WebCore::Node::setInlineEventListenerForTypeAndAttribute): 42373 (WebCore::Node::inlineEventListenerForType): 42374 (WebCore::Node::disabled): 42375 (WebCore::Node::defaultEventHandler): 42376 (WebCore::Node::onabort): 42377 (WebCore::Node::setOnabort): 42378 (WebCore::Node::onblur): 42379 (WebCore::Node::setOnblur): 42380 (WebCore::Node::onchange): 42381 (WebCore::Node::setOnchange): 42382 (WebCore::Node::onclick): 42383 (WebCore::Node::setOnclick): 42384 (WebCore::Node::oncontextmenu): 42385 (WebCore::Node::setOncontextmenu): 42386 (WebCore::Node::ondblclick): 42387 (WebCore::Node::setOndblclick): 42388 (WebCore::Node::onerror): 42389 (WebCore::Node::setOnerror): 42390 (WebCore::Node::onfocus): 42391 (WebCore::Node::setOnfocus): 42392 (WebCore::Node::oninput): 42393 (WebCore::Node::setOninput): 42394 (WebCore::Node::onkeydown): 42395 (WebCore::Node::setOnkeydown): 42396 (WebCore::Node::onkeypress): 42397 (WebCore::Node::setOnkeypress): 42398 (WebCore::Node::onkeyup): 42399 (WebCore::Node::setOnkeyup): 42400 (WebCore::Node::onload): 42401 (WebCore::Node::setOnload): 42402 (WebCore::Node::onmousedown): 42403 (WebCore::Node::setOnmousedown): 42404 (WebCore::Node::onmousemove): 42405 (WebCore::Node::setOnmousemove): 42406 (WebCore::Node::onmouseout): 42407 (WebCore::Node::setOnmouseout): 42408 (WebCore::Node::onmouseover): 42409 (WebCore::Node::setOnmouseover): 42410 (WebCore::Node::onmouseup): 42411 (WebCore::Node::setOnmouseup): 42412 (WebCore::Node::onmousewheel): 42413 (WebCore::Node::setOnmousewheel): 42414 (WebCore::Node::onbeforecut): 42415 (WebCore::Node::setOnbeforecut): 42416 (WebCore::Node::oncut): 42417 (WebCore::Node::setOncut): 42418 (WebCore::Node::onbeforecopy): 42419 (WebCore::Node::setOnbeforecopy): 42420 (WebCore::Node::oncopy): 42421 (WebCore::Node::setOncopy): 42422 (WebCore::Node::onbeforepaste): 42423 (WebCore::Node::setOnbeforepaste): 42424 (WebCore::Node::onpaste): 42425 (WebCore::Node::setOnpaste): 42426 (WebCore::Node::ondragenter): 42427 (WebCore::Node::setOndragenter): 42428 (WebCore::Node::ondragover): 42429 (WebCore::Node::setOndragover): 42430 (WebCore::Node::ondragleave): 42431 (WebCore::Node::setOndragleave): 42432 (WebCore::Node::ondrop): 42433 (WebCore::Node::setOndrop): 42434 (WebCore::Node::ondragstart): 42435 (WebCore::Node::setOndragstart): 42436 (WebCore::Node::ondrag): 42437 (WebCore::Node::setOndrag): 42438 (WebCore::Node::ondragend): 42439 (WebCore::Node::setOndragend): 42440 (WebCore::Node::onreset): 42441 (WebCore::Node::setOnreset): 42442 (WebCore::Node::onresize): 42443 (WebCore::Node::setOnresize): 42444 (WebCore::Node::onscroll): 42445 (WebCore::Node::setOnscroll): 42446 (WebCore::Node::onsearch): 42447 (WebCore::Node::setOnsearch): 42448 (WebCore::Node::onselect): 42449 (WebCore::Node::setOnselect): 42450 (WebCore::Node::onselectstart): 42451 (WebCore::Node::setOnselectstart): 42452 (WebCore::Node::onsubmit): 42453 (WebCore::Node::setOnsubmit): 42454 (WebCore::Node::onunload): 42455 (WebCore::Node::setOnunload): 42456 * dom/Node.h: 42457 * editing/Editor.cpp: 42458 (WebCore::Editor::dispatchCPPEvent): 42459 * html/HTMLFormElement.cpp: 42460 (WebCore::HTMLFormElement::handleLocalEvents): 42461 * html/HTMLInputElement.cpp: 42462 (WebCore::HTMLInputElement::defaultEventHandler): 42463 * html/HTMLTokenizer.cpp: 42464 (WebCore::HTMLTokenizer::notifyFinished): 42465 * loader/MediaDocument.cpp: 42466 (WebCore::MediaDocument::defaultEventHandler): 42467 * page/AccessibilityRenderObject.cpp: 42468 (WebCore::AccessibilityRenderObject::mouseButtonListener): 42469 * page/EventHandler.cpp: 42470 (WebCore::EventHandler::dispatchDragEvent): 42471 (WebCore::EventHandler::updateMouseEventTargetNode): 42472 (WebCore::EventHandler::dispatchMouseEvent): 42473 (WebCore::EventHandler::handleWheelEvent): 42474 (WebCore::EventHandler::canMouseDownStartSelect): 42475 (WebCore::EventHandler::canMouseDragExtendSelect): 42476 (WebCore::eventTargetNodeForDocument): 42477 (WebCore::EventHandler::keyEvent): 42478 * page/FrameView.cpp: 42479 (WebCore::FrameView::scheduleEvent): 42480 (WebCore::FrameView::updateOverflowStatus): 42481 * page/FrameView.h: 42482 * page/Page.cpp: 42483 (WebCore::networkStateChanged): 42484 * rendering/RenderLayer.cpp: 42485 (WebCore::RenderLayer::scrollToOffset): 42486 (WebCore::RenderLayer::updateOverflowStatus): 42487 * rendering/RenderListBox.cpp: 42488 (WebCore::RenderListBox::valueChanged): 42489 * rendering/RenderMedia.h: 42490 * rendering/RenderTextControl.cpp: 42491 (WebCore::RenderTextControl::selectionChanged): 42492 * svg/SVGElementInstance.h: 42493 (WebCore::SVGElementInstance::toNode): 42494 * xml/XPathExpression.cpp: 42495 (WebCore::XPathExpression::evaluate): 42496 * xml/XPathResult.cpp: 42497 (WebCore::XPathResult::XPathResult): 42498 42499 2009-02-05 Adam Treat <adam.treat (a] torchmobile.com> 42500 42501 Fix the Qt build now that EventTargetNode.idl was removed in r40672. 42502 42503 * WebCore.pro: 42504 42505 2009-02-05 Scott Violet <sky (a] google.com> 42506 42507 Reviewed by Sam Weinig. 42508 42509 Bug 23462: Add RGB -> CMYK conversion algorithm 42510 <https://bugs.webkit.org/show_bug.cgi?id=23462> 42511 42512 Adds an RGB -> CMYK converter. This isn't perfect, but better than 42513 nothing. 42514 42515 * html/CanvasStyle.cpp: 42516 (WebCore::CanvasStyle::applyStrokeColor): 42517 (WebCore::CanvasStyle::applyFillColor): 42518 (WebCore::CanvasStyle::cmykToRGB): 42519 * html/CanvasStyle.h: 42520 42521 2009-02-04 Sam Weinig <sam (a] webkit.org> 42522 42523 Reviewed by Darin Adler. 42524 42525 First stage of merging EventTargetNode up into Node. The intent of this change 42526 is to both simplify the inheritance hierarchy (at the same time making it more 42527 closely match the spec which states that all Nodes are EventTargets) and save 42528 4 bytes per Node that the polymorphic multiple-inheritance was costing us. 42529 42530 This does the bare minimum to get things compiling, the next patch will clean 42531 42532 * DerivedSources.make: 42533 * WebCore.base.exp: 42534 * WebCore.xcodeproj/project.pbxproj: 42535 * bindings/js/JSDocumentCustom.cpp: 42536 (WebCore::JSDocument::mark): 42537 * bindings/js/JSEventListener.cpp: 42538 (WebCore::JSLazyEventListener::parseCode): 42539 * bindings/js/JSEventTarget.cpp: 42540 (WebCore::toEventTarget): 42541 * bindings/js/JSEventTarget.h: 42542 * bindings/js/JSEventTargetNodeCustom.cpp: 42543 (WebCore::JSNode::addEventListener): 42544 (WebCore::JSNode::removeEventListener): 42545 (WebCore::JSNode::pushEventHandlerScope): 42546 * bindings/js/JSStyleSheetCustom.cpp: 42547 * bindings/scripts/CodeGeneratorJS.pm: 42548 * bindings/scripts/CodeGeneratorObjC.pm: 42549 * dom/Attr.idl: 42550 * dom/CharacterData.h: 42551 * dom/CharacterData.idl: 42552 * dom/Document.idl: 42553 * dom/DocumentFragment.idl: 42554 * dom/Element.idl: 42555 * dom/EventTarget.cpp: 42556 (WebCore::EventTarget::toNode): 42557 * dom/EventTarget.h: 42558 * dom/EventTarget.idl: 42559 * dom/EventTargetNode.cpp: 42560 (WebCore::Node::scriptExecutionContext): 42561 (WebCore::Node::eventListeners): 42562 (WebCore::Node::insertedIntoDocument): 42563 (WebCore::Node::removedFromDocument): 42564 (WebCore::Node::willMoveToNewOwnerDocument): 42565 (WebCore::Node::didMoveToNewOwnerDocument): 42566 (WebCore::Node::addEventListener): 42567 (WebCore::Node::removeEventListener): 42568 (WebCore::Node::removeAllEventListenersSlowCase): 42569 (WebCore::Node::handleLocalEvents): 42570 (WebCore::Node::dispatchEvent): 42571 (WebCore::Node::dispatchGenericEvent): 42572 (WebCore::Node::dispatchSubtreeModifiedEvent): 42573 (WebCore::Node::dispatchWindowEvent): 42574 (WebCore::Node::dispatchUIEvent): 42575 (WebCore::Node::dispatchKeyEvent): 42576 (WebCore::Node::dispatchMouseEvent): 42577 (WebCore::Node::dispatchSimulatedMouseEvent): 42578 (WebCore::Node::dispatchSimulatedClick): 42579 (WebCore::Node::dispatchWheelEvent): 42580 (WebCore::Node::dispatchWebKitAnimationEvent): 42581 (WebCore::Node::dispatchWebKitTransitionEvent): 42582 (WebCore::Node::dispatchFocusEvent): 42583 (WebCore::Node::dispatchBlurEvent): 42584 (WebCore::Node::dispatchEventForType): 42585 (WebCore::Node::dispatchProgressEvent): 42586 (WebCore::Node::dispatchStorageEvent): 42587 (WebCore::Node::removeInlineEventListenerForType): 42588 (WebCore::Node::setInlineEventListenerForType): 42589 (WebCore::Node::setInlineEventListenerForTypeAndAttribute): 42590 (WebCore::Node::inlineEventListenerForType): 42591 (WebCore::Node::disabled): 42592 (WebCore::Node::defaultEventHandler): 42593 (WebCore::Node::onabort): 42594 (WebCore::Node::setOnabort): 42595 (WebCore::Node::onblur): 42596 (WebCore::Node::setOnblur): 42597 (WebCore::Node::onchange): 42598 (WebCore::Node::setOnchange): 42599 (WebCore::Node::onclick): 42600 (WebCore::Node::setOnclick): 42601 (WebCore::Node::oncontextmenu): 42602 (WebCore::Node::setOncontextmenu): 42603 (WebCore::Node::ondblclick): 42604 (WebCore::Node::setOndblclick): 42605 (WebCore::Node::onerror): 42606 (WebCore::Node::setOnerror): 42607 (WebCore::Node::onfocus): 42608 (WebCore::Node::setOnfocus): 42609 (WebCore::Node::oninput): 42610 (WebCore::Node::setOninput): 42611 (WebCore::Node::onkeydown): 42612 (WebCore::Node::setOnkeydown): 42613 (WebCore::Node::onkeypress): 42614 (WebCore::Node::setOnkeypress): 42615 (WebCore::Node::onkeyup): 42616 (WebCore::Node::setOnkeyup): 42617 (WebCore::Node::onload): 42618 (WebCore::Node::setOnload): 42619 (WebCore::Node::onmousedown): 42620 (WebCore::Node::setOnmousedown): 42621 (WebCore::Node::onmousemove): 42622 (WebCore::Node::setOnmousemove): 42623 (WebCore::Node::onmouseout): 42624 (WebCore::Node::setOnmouseout): 42625 (WebCore::Node::onmouseover): 42626 (WebCore::Node::setOnmouseover): 42627 (WebCore::Node::onmouseup): 42628 (WebCore::Node::setOnmouseup): 42629 (WebCore::Node::onmousewheel): 42630 (WebCore::Node::setOnmousewheel): 42631 (WebCore::Node::onbeforecut): 42632 (WebCore::Node::setOnbeforecut): 42633 (WebCore::Node::oncut): 42634 (WebCore::Node::setOncut): 42635 (WebCore::Node::onbeforecopy): 42636 (WebCore::Node::setOnbeforecopy): 42637 (WebCore::Node::oncopy): 42638 (WebCore::Node::setOncopy): 42639 (WebCore::Node::onbeforepaste): 42640 (WebCore::Node::setOnbeforepaste): 42641 (WebCore::Node::onpaste): 42642 (WebCore::Node::setOnpaste): 42643 (WebCore::Node::ondragenter): 42644 (WebCore::Node::setOndragenter): 42645 (WebCore::Node::ondragover): 42646 (WebCore::Node::setOndragover): 42647 (WebCore::Node::ondragleave): 42648 (WebCore::Node::setOndragleave): 42649 (WebCore::Node::ondrop): 42650 (WebCore::Node::setOndrop): 42651 (WebCore::Node::ondragstart): 42652 (WebCore::Node::setOndragstart): 42653 (WebCore::Node::ondrag): 42654 (WebCore::Node::setOndrag): 42655 (WebCore::Node::ondragend): 42656 (WebCore::Node::setOndragend): 42657 (WebCore::Node::onreset): 42658 (WebCore::Node::setOnreset): 42659 (WebCore::Node::onresize): 42660 (WebCore::Node::setOnresize): 42661 (WebCore::Node::onscroll): 42662 (WebCore::Node::setOnscroll): 42663 (WebCore::Node::onsearch): 42664 (WebCore::Node::setOnsearch): 42665 (WebCore::Node::onselect): 42666 (WebCore::Node::setOnselect): 42667 (WebCore::Node::onselectstart): 42668 (WebCore::Node::setOnselectstart): 42669 (WebCore::Node::onsubmit): 42670 (WebCore::Node::setOnsubmit): 42671 (WebCore::Node::onunload): 42672 (WebCore::Node::setOnunload): 42673 * dom/EventTargetNode.h: 42674 (WebCore::toEventTargetNode): 42675 (WebCore::EventTargetNodeCast): 42676 * dom/EventTargetNode.idl: Removed. 42677 * dom/MouseEvent.cpp: 42678 (WebCore::MouseEvent::MouseEvent): 42679 (WebCore::MouseEvent::initMouseEvent): 42680 (WebCore::MouseEvent::toElement): 42681 (WebCore::MouseEvent::fromElement): 42682 * dom/MouseEvent.h: 42683 (WebCore::MouseEvent::create): 42684 (WebCore::MouseEvent::relatedTarget): 42685 * dom/Node.cpp: 42686 (WebCore::Node::~Node): 42687 * dom/Node.h: 42688 (WebCore::Node::isEventTargetNode): 42689 (WebCore::Node::toNode): 42690 (WebCore::Node::removeAllEventListeners): 42691 (WebCore::Node::refEventTarget): 42692 (WebCore::Node::derefEventTarget): 42693 * dom/Node.idl: 42694 * page/EventHandler.h: 42695 * page/FrameView.h: 42696 * xml/XPathResult.h: 42697 (WebCore::XPathResult::create): 42698 42699 2009-02-04 David Hyatt <hyatt (a] apple.com> 42700 42701 Convert RenderLayer from having a RenderBox* m_renderer to having a RenderBoxModelObject*. The 42702 container-relative repaint methods all had to be changed as a result to use RenderBoxModelObject* also. 42703 42704 All of RenderLayer.cpp now uses what will be the new style for dealing with an object that can be a block 42705 or an inline flow. x()/y()/width()/height() can't be queried on an inline flow, nor can many other 42706 properties (like scrollWidth() / scrollHeight()), so the code has to be tightened up to convert to RenderBox 42707 under the right conditions. 42708 42709 There was a bogus subtraction of renderer()->y() in localBounding box for RenderInlines. Since y was always 42710 0, this subtraction wasn't necessary. It has been removed. 42711 42712 Reviewed by Adam Roben 42713 42714 * page/animation/AnimationBase.cpp: 42715 * rendering/RenderBR.h: 42716 (WebCore::RenderBR::selectionRectForRepaint): 42717 * rendering/RenderBlock.cpp: 42718 (WebCore::RenderBlock::selectionGapRectsForRepaint): 42719 (WebCore::RenderBlock::rectWithOutlineForRepaint): 42720 * rendering/RenderBlock.h: 42721 (WebCore::RenderBlock::selectionRectForRepaint): 42722 * rendering/RenderBox.cpp: 42723 (WebCore::RenderBox::outlineBoundsForRepaint): 42724 (WebCore::RenderBox::localToContainerQuad): 42725 (WebCore::RenderBox::clippedOverflowRectForRepaint): 42726 (WebCore::RenderBox::computeRectForRepaint): 42727 * rendering/RenderBox.h: 42728 * rendering/RenderBoxModelObject.cpp: 42729 (WebCore::RenderBoxModelObject::relativePositionOffsetX): 42730 (WebCore::RenderBoxModelObject::relativePositionOffsetY): 42731 * rendering/RenderBoxModelObject.h: 42732 (WebCore::RenderBoxModelObject::relativePositionOffset): 42733 * rendering/RenderForeignObject.cpp: 42734 (WebCore::RenderForeignObject::computeRectForRepaint): 42735 * rendering/RenderForeignObject.h: 42736 * rendering/RenderInline.cpp: 42737 (WebCore::RenderInline::clippedOverflowRectForRepaint): 42738 (WebCore::RenderInline::rectWithOutlineForRepaint): 42739 * rendering/RenderInline.h: 42740 * rendering/RenderLayer.cpp: 42741 (WebCore::RenderLayer::RenderLayer): 42742 (WebCore::RenderLayer::updateLayerPositions): 42743 (WebCore::RenderLayer::updateTransform): 42744 (WebCore::RenderLayer::setHasVisibleContent): 42745 (WebCore::RenderLayer::updateLayerPosition): 42746 (WebCore::RenderLayer::scrollToOffset): 42747 (WebCore::RenderLayer::scrollRectToVisible): 42748 (WebCore::resizerCornerRect): 42749 (WebCore::RenderLayer::scrollbarCornerPresent): 42750 (WebCore::RenderLayer::invalidateScrollbarRect): 42751 (WebCore::RenderLayer::positionOverflowControls): 42752 (WebCore::RenderLayer::computeScrollDimensions): 42753 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 42754 (WebCore::RenderLayer::paintScrollCorner): 42755 (WebCore::RenderLayer::paintResizer): 42756 (WebCore::RenderLayer::isPointInResizeControl): 42757 (WebCore::RenderLayer::hitTestOverflowControls): 42758 (WebCore::RenderLayer::paintLayer): 42759 (WebCore::RenderLayer::hitTestLayer): 42760 (WebCore::RenderLayer::localBoundingBox): 42761 * rendering/RenderLayer.h: 42762 (WebCore::RenderLayer::renderer): 42763 (WebCore::RenderLayer::renderBox): 42764 (WebCore::RenderLayer::renderBoxX): 42765 (WebCore::RenderLayer::renderBoxY): 42766 * rendering/RenderListMarker.cpp: 42767 (WebCore::RenderListMarker::selectionRectForRepaint): 42768 * rendering/RenderListMarker.h: 42769 * rendering/RenderMarquee.cpp: 42770 (WebCore::RenderMarquee::computePosition): 42771 (WebCore::RenderMarquee::timerFired): 42772 * rendering/RenderObject.cpp: 42773 (WebCore::RenderObject::containerForRepaint): 42774 (WebCore::RenderObject::repaintUsingContainer): 42775 (WebCore::RenderObject::repaint): 42776 (WebCore::RenderObject::repaintRectangle): 42777 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 42778 (WebCore::RenderObject::rectWithOutlineForRepaint): 42779 (WebCore::RenderObject::clippedOverflowRectForRepaint): 42780 (WebCore::RenderObject::computeRectForRepaint): 42781 (WebCore::RenderObject::localToContainerQuad): 42782 * rendering/RenderObject.h: 42783 (WebCore::RenderObject::selectionRectForRepaint): 42784 (WebCore::RenderObject::outlineBoundsForRepaint): 42785 * rendering/RenderPath.cpp: 42786 (WebCore::RenderPath::clippedOverflowRectForRepaint): 42787 (WebCore::RenderPath::outlineBoundsForRepaint): 42788 * rendering/RenderPath.h: 42789 * rendering/RenderReplaced.cpp: 42790 (WebCore::RenderReplaced::selectionRectForRepaint): 42791 (WebCore::RenderReplaced::clippedOverflowRectForRepaint): 42792 * rendering/RenderReplaced.h: 42793 * rendering/RenderSVGContainer.cpp: 42794 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint): 42795 (WebCore::RenderSVGContainer::outlineBoundsForRepaint): 42796 * rendering/RenderSVGContainer.h: 42797 * rendering/RenderSVGHiddenContainer.cpp: 42798 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): 42799 * rendering/RenderSVGHiddenContainer.h: 42800 * rendering/RenderSVGImage.cpp: 42801 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): 42802 * rendering/RenderSVGImage.h: 42803 * rendering/RenderSVGInlineText.cpp: 42804 (WebCore::RenderSVGInlineText::selectionRectForRepaint): 42805 (WebCore::RenderSVGInlineText::computeRepaintRectForRange): 42806 * rendering/RenderSVGInlineText.h: 42807 * rendering/RenderSVGRoot.cpp: 42808 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint): 42809 * rendering/RenderSVGRoot.h: 42810 * rendering/RenderSVGText.cpp: 42811 (WebCore::RenderSVGText::clippedOverflowRectForRepaint): 42812 * rendering/RenderSVGText.h: 42813 * rendering/RenderSelectionInfo.h: 42814 (WebCore::RenderSelectionInfoBase::repaintContainer): 42815 * rendering/RenderTableCell.cpp: 42816 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 42817 (WebCore::RenderTableCell::computeRectForRepaint): 42818 (WebCore::RenderTableCell::localToContainerQuad): 42819 * rendering/RenderTableCell.h: 42820 * rendering/RenderTableCol.cpp: 42821 (WebCore::RenderTableCol::clippedOverflowRectForRepaint): 42822 * rendering/RenderTableCol.h: 42823 * rendering/RenderTableRow.cpp: 42824 (WebCore::RenderTableRow::clippedOverflowRectForRepaint): 42825 * rendering/RenderTableRow.h: 42826 * rendering/RenderText.cpp: 42827 (WebCore::RenderText::clippedOverflowRectForRepaint): 42828 (WebCore::RenderText::selectionRectForRepaint): 42829 * rendering/RenderText.h: 42830 * rendering/RenderTreeAsText.cpp: 42831 (WebCore::write): 42832 * rendering/RenderView.cpp: 42833 (WebCore::RenderView::localToContainerQuad): 42834 (WebCore::RenderView::computeRectForRepaint): 42835 * rendering/RenderView.h: 42836 42837 2009-02-05 Alexey Proskuryakov <ap (a] webkit.org> 42838 42839 Build fix. 42840 42841 * page/animation/KeyframeAnimation.h: A function prototype had two "fromStyle" arguments. 42842 42843 2009-02-05 Yael Aharon <yael.aharon (a] nokia.com> 42844 42845 Reviewed by Alexey Proskuryakov. 42846 Landed by Simon Hausmann. 42847 42848 https://bugs.webkit.org/show_bug.cgi?id=23733 42849 42850 Use a 2 arguments constructor for KURL to avoid ASSERT failure. 42851 42852 * page/SecurityOrigin.cpp: 42853 (WebCore::SecurityOrigin::createFromDatabaseIdentifier): 42854 42855 2009-02-04 Feng Qian <feng (a] chromium.org> 42856 42857 Reviewed by Darin Adler. 42858 42859 Add Android-specific files to WebCore/editing directory. 42860 https://bugs.webkit.org/show_bug.cgi?id=23294 42861 42862 * editing/android: Added. 42863 * editing/android/EditorAndroid.cpp: Added. 42864 (WebCore::Editor::newGeneralClipboard): 42865 42866 2009-02-04 Dean Jackson <dino (a] apple.com> 42867 42868 Reviewed by Darin Adler. 42869 42870 Remove -webkit-animation-play-state 42871 The AnimationController still has the code to execute the property, but 42872 it is no longer parsed or recorded. 42873 https://bugs.webkit.org/show_bug.cgi?id=22907 42874 42875 * css/CSSComputedStyleDeclaration.cpp: 42876 (WebCore::): 42877 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 42878 * css/CSSParser.cpp: 42879 (WebCore::CSSParser::parseValue): 42880 (WebCore::CSSParser::parseAnimationProperty): 42881 * css/CSSParser.h: 42882 * css/CSSPropertyNames.in: 42883 * css/CSSStyleSelector.cpp: 42884 (WebCore::CSSStyleSelector::applyProperty): 42885 * css/CSSStyleSelector.h: 42886 * platform/animation/Animation.h: 42887 * rendering/style/RenderStyleConstants.h: 42888 42889 2009-02-04 Tor Arne Vestb <tavestbo (a] trolltech.com> 42890 42891 Reviewed by Darin Adler. 42892 42893 Make sure we don't load on removing the media element from the document 42894 https://bugs.webkit.org/show_bug.cgi?id=22105 42895 42896 Test: media/remove-from-document-no-load.html 42897 42898 * html/HTMLMediaElement.cpp: 42899 (WebCore::HTMLMediaElement::removedFromDocument): 42900 42901 2009-02-04 David Hyatt <hyatt (a] apple.com> 42902 42903 Add a new RenderBoxModelObject class that will eventually act as the direct base class for RenderInlines. For 42904 now just adding the class and putting it in between RenderObject and RenderBox in the hierarchy. RenderInline remains 42905 derived from RenderBox for now. 42906 42907 Reviewed by Sam Weinig 42908 42909 * WebCore.xcodeproj/project.pbxproj: 42910 * rendering/RenderBox.cpp: 42911 (WebCore::RenderBox::RenderBox): 42912 (WebCore::RenderBox::destroy): 42913 (WebCore::RenderBox::styleWillChange): 42914 (WebCore::RenderBox::styleDidChange): 42915 (WebCore::RenderBox::computeRectForRepaint): 42916 * rendering/RenderBox.h: 42917 * rendering/RenderBoxModelObject.cpp: Added. 42918 (WebCore::RenderBoxModelObject::RenderBoxModelObject): 42919 (WebCore::RenderBoxModelObject::~RenderBoxModelObject): 42920 * rendering/RenderBoxModelObject.h: Added. 42921 * rendering/RenderObject.h: 42922 42923 2009-02-04 Chris Marrin <cmarrin (a] apple.com> 42924 42925 Reviewed by Dave Hyatt 42926 42927 Added accelerated animation support to AnimationController and friends. The primary 42928 changes are: 42929 * accelerated animations get their start time from the compositing engine, so we 42930 wait for a callback (notifyAnimationStarted()) in order to get the start time. 42931 * if software and accelerated animations start in the same cycle, they all need 42932 to use the same start time, which is that of the accelerated animations. 42933 42934 Added AnimationControllerPrivate to preserve the encapsulation under 42935 AnimationController. 42936 42937 * GNUmakefile.am: 42938 * WebCore.vcproj/WebCore.vcproj: 42939 * WebCore.xcodeproj/project.pbxproj: 42940 * page/animation/AnimationBase.cpp: 42941 (WebCore::PropertyWrapperBase::animationIsAccelerated): 42942 (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity): 42943 (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated): 42944 (WebCore::PropertyWrapperAcceleratedOpacity::blend): 42945 (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform): 42946 (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated): 42947 (WebCore::PropertyWrapperAcceleratedTransform::blend): 42948 (WebCore::ensurePropertyMap): 42949 (WebCore::AnimationBase::AnimationBase): 42950 (WebCore::AnimationBase::~AnimationBase): 42951 (WebCore::AnimationBase::blendProperties): 42952 (WebCore::AnimationBase::animationOfPropertyIsAccelerated): 42953 (WebCore::AnimationBase::updateStateMachine): 42954 (WebCore::AnimationBase::fireAnimationEventsIfNeeded): 42955 (WebCore::AnimationBase::willNeedService): 42956 (WebCore::AnimationBase::getTimeToNextEvent): 42957 (WebCore::AnimationBase::goIntoEndingOrLoopingState): 42958 (WebCore::AnimationBase::beginAnimationUpdateTime): 42959 * page/animation/AnimationBase.h: 42960 (WebCore::AnimationBase::onAnimationStartResponse): 42961 (WebCore::AnimationBase::getAnimatedStyle): 42962 (WebCore::AnimationBase::isAnimatingProperty): 42963 (WebCore::AnimationBase::endAnimation): 42964 (WebCore::AnimationBase::isFallbackAnimating): 42965 * page/animation/AnimationController.cpp: 42966 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 42967 (WebCore::AnimationControllerPrivate::accessCompositeAnimation): 42968 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch): 42969 (WebCore::AnimationControllerPrivate::animationTimerFired): 42970 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): 42971 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): 42972 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): 42973 (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer): 42974 (WebCore::AnimationControllerPrivate::styleAvailable): 42975 (WebCore::AnimationControllerPrivate::addToStartTimeResponseWaitList): 42976 (WebCore::AnimationControllerPrivate::removeFromStartTimeResponseWaitList): 42977 (WebCore::AnimationControllerPrivate::startTimeResponse): 42978 (WebCore::AnimationController::getAnimatedStyleForRenderer): 42979 (WebCore::AnimationController::notifyAnimationStarted): 42980 (WebCore::AnimationController::endAnimationUpdate): 42981 * page/animation/AnimationController.h: 42982 * page/animation/AnimationControllerPrivate.h: Added. 42983 (WebCore::AnimationControllerPrivate::hasAnimations): 42984 (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime): 42985 (WebCore::AnimationControllerPrivate::endAnimationUpdate): 42986 (WebCore::AnimationControllerPrivate::receivedStartTimeResponse): 42987 * page/animation/CompositeAnimation.cpp: 42988 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate): 42989 (WebCore::CompositeAnimationPrivate::animationControllerPriv): 42990 (WebCore::CompositeAnimationPrivate::updateTransitions): 42991 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): 42992 (WebCore::CompositeAnimationPrivate::animate): 42993 (WebCore::CompositeAnimationPrivate::getAnimatedStyle): 42994 (WebCore::CompositeAnimationPrivate::addToStartTimeResponseWaitList): 42995 (WebCore::CompositeAnimationPrivate::removeFromStartTimeResponseWaitList): 42996 (WebCore::CompositeAnimation::CompositeAnimation): 42997 (WebCore::CompositeAnimation::animationControllerPriv): 42998 (WebCore::CompositeAnimation::getAnimatedStyle): 42999 (WebCore::CompositeAnimation::addToStartTimeResponseWaitList): 43000 (WebCore::CompositeAnimation::removeFromStartTimeResponseWaitList): 43001 * page/animation/CompositeAnimation.h: 43002 (WebCore::CompositeAnimation::create): 43003 * page/animation/ImplicitAnimation.cpp: 43004 (WebCore::ImplicitAnimation::shouldSendEventForListener): 43005 (WebCore::ImplicitAnimation::animate): 43006 (WebCore::ImplicitAnimation::getAnimatedStyle): 43007 (WebCore::ImplicitAnimation::startAnimation): 43008 (WebCore::ImplicitAnimation::endAnimation): 43009 (WebCore::ImplicitAnimation::sendTransitionEvent): 43010 (WebCore::ImplicitAnimation::willNeedService): 43011 * page/animation/ImplicitAnimation.h: 43012 * page/animation/KeyframeAnimation.cpp: 43013 (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): 43014 (WebCore::KeyframeAnimation::animate): 43015 (WebCore::KeyframeAnimation::getAnimatedStyle): 43016 (WebCore::KeyframeAnimation::startAnimation): 43017 (WebCore::KeyframeAnimation::endAnimation): 43018 (WebCore::KeyframeAnimation::shouldSendEventForListener): 43019 (WebCore::KeyframeAnimation::sendAnimationEvent): 43020 (WebCore::KeyframeAnimation::willNeedService): 43021 * page/animation/KeyframeAnimation.h: 43022 * platform/graphics/GraphicsLayerClient.h: 43023 * platform/graphics/mac/GraphicsLayerCA.mm: 43024 (-[WebAnimationDelegate animationDidStart:]): 43025 * rendering/RenderLayerBacking.h: 43026 43027 2009-02-04 Dimitri Glazkov <dglazkov (a] chromium.org> 43028 43029 Not reviewed, build fix. 43030 43031 Remove duplicate definition of msSans in FontCache::alternateFamilyName. 43032 43033 * platform/graphics/FontCache.cpp: 43034 (WebCore::alternateFamilyName): 43035 43036 2009-02-04 Eric Seidel <eric (a] webkit.org> 43037 43038 Reviewed by George Staikos. 43039 43040 Reverse the meaning of the if check so that Android 43041 (dpad devices) do not scroll on focus and normal platforms do 43042 http://trac.webkit.org/changeset/40647 43043 43044 This was caught by George Staikos, and I wrote the patch. 43045 43046 * dom/Element.cpp: 43047 (WebCore::Element::updateFocusAppearance): 43048 43049 2009-02-04 David Hyatt <hyatt (a] apple.com> 43050 43051 Eliminate RenderContainer. 43052 43053 Reviewed by Sam and Anders 43054 43055 * GNUmakefile.am: 43056 * WebCore.pro: 43057 * WebCore.vcproj/WebCore.vcproj: 43058 * WebCore.xcodeproj/project.pbxproj: 43059 * WebCoreSources.bkl: 43060 * rendering/RenderBlock.cpp: 43061 (WebCore::RenderBlock::RenderBlock): 43062 (WebCore::RenderBlock::destroy): 43063 (WebCore::RenderBlock::styleWillChange): 43064 (WebCore::RenderBlock::styleDidChange): 43065 (WebCore::RenderBlock::addChild): 43066 (WebCore::RenderBlock::dirtyLineBoxes): 43067 (WebCore::RenderBlock::createInlineBox): 43068 (WebCore::RenderBlock::removeChild): 43069 (WebCore::RenderBlock::setSelectionState): 43070 (WebCore::RenderBlock::avoidsFloats): 43071 (WebCore::RenderBlock::positionForCoordinates): 43072 (WebCore::RenderBlock::calcInlinePrefWidths): 43073 (WebCore::RenderBlock::baselinePosition): 43074 (WebCore::RenderBlock::getBaselineOfFirstLineBox): 43075 (WebCore::RenderBlock::getBaselineOfLastLineBox): 43076 (WebCore::RenderBlock::rectWithOutlineForRepaint): 43077 (WebCore::RenderBlock::hoverAncestor): 43078 (WebCore::RenderBlock::updateDragState): 43079 (WebCore::RenderBlock::localCaretRect): 43080 * rendering/RenderBlock.h: 43081 (WebCore::RenderBlock::virtualChildren): 43082 (WebCore::RenderBlock::children): 43083 * rendering/RenderContainer.cpp: Removed. 43084 * rendering/RenderContainer.h: Removed. 43085 * rendering/RenderFrameSet.cpp: 43086 (WebCore::RenderFrameSet::RenderFrameSet): 43087 (WebCore::RenderFrameSet::nodeAtPoint): 43088 (WebCore::RenderFrameSet::layout): 43089 * rendering/RenderFrameSet.h: 43090 (WebCore::RenderFrameSet::virtualChildren): 43091 (WebCore::RenderFrameSet::children): 43092 * rendering/RenderInline.cpp: 43093 (WebCore::RenderInline::RenderInline): 43094 (WebCore::RenderInline::destroy): 43095 (WebCore::RenderInline::styleDidChange): 43096 (WebCore::nextContinuation): 43097 (WebCore::RenderInline::continuationBefore): 43098 (WebCore::RenderInline::addChildIgnoringContinuation): 43099 (WebCore::RenderInline::splitInlines): 43100 (WebCore::RenderInline::splitFlow): 43101 (WebCore::RenderInline::addChildToContinuation): 43102 (WebCore::RenderInline::offsetLeft): 43103 (WebCore::RenderInline::offsetTop): 43104 (WebCore::RenderInline::positionForCoordinates): 43105 (WebCore::RenderInline::clippedOverflowRectForRepaint): 43106 (WebCore::RenderInline::rectWithOutlineForRepaint): 43107 (WebCore::RenderInline::updateDragState): 43108 (WebCore::RenderInline::childBecameNonInline): 43109 * rendering/RenderInline.h: 43110 (WebCore::RenderInline::virtualChildren): 43111 (WebCore::RenderInline::children): 43112 (WebCore::RenderInline::continuation): 43113 (WebCore::RenderInline::setContinuation): 43114 * rendering/RenderLineBoxList.h: 43115 * rendering/RenderObject.h: 43116 * rendering/RenderObjectChildList.h: 43117 * rendering/RenderSVGInlineText.cpp: 43118 (WebCore::RenderSVGInlineText::computeRepaintRectForRange): 43119 * rendering/RenderSVGRoot.cpp: 43120 (WebCore::RenderSVGRoot::RenderSVGRoot): 43121 (WebCore::RenderSVGRoot::applyContentTransforms): 43122 (WebCore::RenderSVGRoot::paint): 43123 (WebCore::RenderSVGRoot::absoluteTransform): 43124 (WebCore::RenderSVGRoot::nodeAtPoint): 43125 (WebCore::RenderSVGRoot::position): 43126 * rendering/RenderSVGRoot.h: 43127 (WebCore::RenderSVGRoot::virtualChildren): 43128 (WebCore::RenderSVGRoot::children): 43129 * rendering/RenderSVGText.cpp: 43130 (WebCore::RenderSVGText::absoluteRects): 43131 (WebCore::RenderSVGText::absoluteQuads): 43132 * rendering/RenderTable.cpp: 43133 (WebCore::RenderTable::addChild): 43134 (WebCore::RenderTable::removeChild): 43135 * rendering/RenderTableCol.cpp: 43136 (WebCore::RenderTableCol::RenderTableCol): 43137 * rendering/RenderTableCol.h: 43138 (WebCore::RenderTableCol::virtualChildren): 43139 (WebCore::RenderTableCol::children): 43140 * rendering/RenderTableRow.cpp: 43141 (WebCore::RenderTableRow::RenderTableRow): 43142 (WebCore::RenderTableRow::destroy): 43143 (WebCore::RenderTableRow::styleWillChange): 43144 (WebCore::RenderTableRow::addChild): 43145 * rendering/RenderTableRow.h: 43146 (WebCore::RenderTableRow::virtualChildren): 43147 (WebCore::RenderTableRow::children): 43148 * rendering/RenderTableSection.cpp: 43149 (WebCore::RenderTableSection::RenderTableSection): 43150 (WebCore::RenderTableSection::destroy): 43151 (WebCore::RenderTableSection::addChild): 43152 (WebCore::RenderTableSection::removeChild): 43153 (WebCore::RenderTableSection::lowestPosition): 43154 (WebCore::RenderTableSection::rightmostPosition): 43155 (WebCore::RenderTableSection::leftmostPosition): 43156 * rendering/RenderTableSection.h: 43157 (WebCore::RenderTableSection::virtualChildren): 43158 (WebCore::RenderTableSection::children): 43159 43160 2009-02-04 Mads Adger <mad (a] chromium.org> 43161 43162 Reviewed by Antti Koivisto. 43163 43164 Bug 23180 Reading freed memory at DocumentLoader::checkForPendingPreloads 43165 https://bugs.webkit.org/show_bug.cgi?id=23180 43166 43167 Added a protector for the document potentially holding on the last reference to the loader we are interating with. 43168 43169 * loader/loader.cpp: 43170 (WebCore::Loader::Host::didFinishLoading): 43171 (WebCore::Loader::Host::didFail): 43172 43173 2009-02-04 Cary Clark <caryclark (a] google.com> 43174 43175 Reviewed by Darin Adler. 43176 43177 https://bugs.webkit.org/show_bug.cgi?id=23163 43178 Don't scroll to show current focus on devices that use 43179 directional pads for navigation. 43180 43181 * dom/Element.cpp: 43182 (WebCore::Element::updateFocusAppearance): 43183 43184 2009-02-04 Cary Clark <caryclark (a] google.com> 43185 43186 Reviewed by Darin Adler. 43187 43188 Change RenderBlock::columnGap() access permissions from protected to 43189 public. ANDROID creates an array of focus rectangles for navigation 43190 with a trackball or directional pad, and needs access to the column gap 43191 to implement this logic. 43192 43193 Android has no testing harness @ webkit.org, thus no tests. 43194 43195 * rendering/RenderBlock.h: 43196 43197 2009-02-04 Cary Clark <caryclark (a] google.com> 43198 43199 Reviewed by Darin Adler and Eric Seidel. 43200 43201 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22917 43202 43203 Add ENABLE_ON_FIRST_TEXTAREA_FOCUS_SELECT_ALL to permit the ANDROID 43204 platform to select all when focusing on a textarea. This matches 43205 the user interface guidelines other applications on the platform. 43206 43207 * html/HTMLTextAreaElement.cpp: 43208 (WebCore::HTMLTextAreaElement::updateFocusAppearance): 43209 43210 2009-02-04 Beth Dakin <bdakin (a] apple.com> 43211 43212 Reviewed by Dave Hyatt. 43213 43214 Fix for <rdar://problem/6386112> Some inline-elements are not 43215 becoming proper dashboard-regions 43216 43217 RenderInline needs its own implementation of addDashboardRegions 43218 because otherwise all of the coordinate calculations are 43219 inaccurate. 43220 43221 * rendering/RenderInline.cpp: 43222 (WebCore::RenderInline::addDashboardRegions): 43223 * rendering/RenderInline.h: 43224 * rendering/RenderObject.h: 43225 43226 2009-02-04 David Hyatt <hyatt (a] apple.com> 43227 43228 Move addChild/removeChild from RenderContainer to RenderObject. 43229 43230 Reviewed by Sam Weinig 43231 43232 * rendering/RenderContainer.cpp: 43233 * rendering/RenderContainer.h: 43234 * rendering/RenderObject.cpp: 43235 (WebCore::updateListMarkerNumbers): 43236 (WebCore::RenderObject::addChild): 43237 (WebCore::RenderObject::removeChild): 43238 * rendering/RenderObject.h: 43239 (WebCore::RenderObject::addChildIgnoringContinuation): 43240 * rendering/RenderSVGContainer.cpp: 43241 * rendering/RenderSVGContainer.h: 43242 43243 2009-02-04 Brady Eidson <beidson (a] apple.com> 43244 43245 Reviewed by Sam Weinig 43246 43247 <rdar://problem/3541409> - Further HistoryItem / BF cache cleanup 43248 43249 * history/CachedFrame.cpp: 43250 (WebCore::CachedFrame::CachedFrame): 43251 (WebCore::CachedFrame::restore): 43252 * history/CachedFrame.h: 43253 43254 * history/CachedPage.cpp: 43255 (WebCore::CachedPage::restore): 43256 * history/CachedPage.h: 43257 (WebCore::CachedPage::mainFrameView): 43258 43259 * history/HistoryItem.cpp: 43260 (WebCore::HistoryItem::HistoryItem): 43261 (WebCore::HistoryItem::~HistoryItem): 43262 * history/HistoryItem.h: 43263 (WebCore::HistoryItem::isInPageCache): 43264 43265 * loader/FrameLoader.cpp: 43266 (WebCore::FrameLoader::open): 43267 43268 2009-02-04 Peter Kasting <pkasting (a] google.com> 43269 43270 Reviewed by David Hyatt. 43271 43272 https://bugs.webkit.org/show_bug.cgi?id=23743 43273 Fix memory corruption with open-source GIF decoders. 43274 43275 * platform/image-decoders/ImageDecoder.h: 43276 (WebCore::RGBA32Buffer::clear): 43277 * platform/image-decoders/gif/GIFImageDecoder.cpp: 43278 (WebCore::GIFImageDecoder::clearFrameBufferCache): 43279 * platform/image-decoders/skia/GIFImageDecoder.cpp: 43280 (WebCore::GIFImageDecoder::clearFrameBufferCache): 43281 (WebCore::GIFImageDecoder::initFrameBuffer): 43282 * platform/image-decoders/skia/ImageDecoder.h: 43283 (WebCore::RGBA32Buffer::clear): 43284 43285 2009-02-04 Simon Fraser <simon.fraser (a] apple.com> 43286 43287 Reviewed by Dave Hyatt 43288 43289 https://bugs.webkit.org/show_bug.cgi?id=23360 43290 43291 When using accelerated compositing, make repaints use the correct 43292 repaint container. Hook up the RenderLayerCompositor in RenderView, 43293 and add to RenderView a method that repaints both the view 43294 contents, and any intersecting composited layers. 43295 43296 Make enclosingCompositingLayer() a method on RenderObject, and update 43297 the compositor to use that. Add a helper method on the compositor to 43298 get the non-self compositing ancestor: ancestorCompositingLayer(). 43299 43300 Call repaintRectangleInViewAndCompositedLayers() in places that don't do 43301 container-relative repainting: selection redraw on focus change, caret, 43302 and widget updates. 43303 43304 Fix a bug in RenderLayerCompositor where the m_compositingLayersNeedUpdate flag 43305 would get cleared for partial updates, thus preventing subsequent full updates. 43306 43307 Fix a bug in RenderLayer::ensureBacking() that made new backing every time. 43308 43309 * WebCore.xcodeproj/project.pbxproj: 43310 * editing/SelectionController.cpp: 43311 (WebCore::SelectionController::recomputeCaretRect): 43312 (WebCore::SelectionController::invalidateCaretRect): 43313 (WebCore::SelectionController::focusedOrActiveStateChanged): 43314 * rendering/RenderInline.cpp: 43315 (WebCore::RenderInline::clippedOverflowRectForRepaint): 43316 * rendering/RenderLayer.cpp: 43317 (WebCore::RenderLayer::RenderLayer): 43318 (WebCore::RenderLayer::compositor): 43319 (WebCore::RenderLayer::updateLayerPositions): 43320 (WebCore::RenderLayer::removeChild): 43321 (WebCore::RenderLayer::ensureBacking): 43322 * rendering/RenderLayer.h: 43323 (WebCore::RenderLayer::backing): 43324 * rendering/RenderLayerBacking.cpp: 43325 (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): 43326 (WebCore::RenderLayerBacking::paintIntoLayer): 43327 (WebCore::RenderLayerBacking::notifyTransitionStarted): 43328 (WebCore::RenderLayerBacking::notifyAnimationStarted): 43329 * rendering/RenderLayerCompositor.cpp: 43330 (WebCore::RenderLayerCompositor::updateCompositingLayers): 43331 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 43332 (WebCore::RenderLayerCompositor::layerWillBeRemoved): 43333 (WebCore::RenderLayerCompositor::ancestorCompositingLayer): 43334 (WebCore::RenderLayerCompositor::clippedByAncestor): 43335 * rendering/RenderLayerCompositor.h: 43336 * rendering/RenderObject.cpp: 43337 (WebCore::RenderObject::enclosingCompositingLayer): 43338 (WebCore::RenderObject::containingBlockWidth): 43339 (WebCore::RenderObject::containingBlockHeight): 43340 (WebCore::RenderObject::containerForRepaint): 43341 (WebCore::RenderObject::repaintUsingContainer): 43342 * rendering/RenderObject.h: 43343 * rendering/RenderView.cpp: 43344 (WebCore::RenderView::shouldRepaint): 43345 (WebCore::RenderView::repaintViewRectangle): 43346 (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): 43347 (WebCore::RenderView::setMaximalOutlineSize): 43348 (WebCore::RenderView::usesCompositing): 43349 (WebCore::RenderView::compositor): 43350 (WebCore::RenderView::didMoveOnscreen): 43351 (WebCore::RenderView::willMoveOffscreen): 43352 * rendering/RenderView.h: 43353 * rendering/RenderWidget.cpp: 43354 (WebCore::RenderWidget::updateWidgetPosition): 43355 43356 2009-02-04 Sam Weinig <sam (a] webkit.org> 43357 43358 Reviewed by David Hyatt. 43359 43360 Add toRenderImage methods for casting RenderObjects to RenderImages. The methods will assert if the object 43361 is not a RenderImage. Also add a toRenderImage method that takes a RenderImage but returns void and that 43362 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderImage. 43363 43364 * html/HTMLAnchorElement.cpp: 43365 (WebCore::HTMLAnchorElement::defaultEventHandler): 43366 * html/HTMLEmbedElement.cpp: 43367 (WebCore::HTMLEmbedElement::attach): 43368 * html/HTMLImageElement.cpp: 43369 (WebCore::HTMLImageElement::parseMappedAttribute): 43370 (WebCore::HTMLImageElement::attach): 43371 * html/HTMLInputElement.cpp: 43372 (WebCore::HTMLInputElement::parseMappedAttribute): 43373 (WebCore::HTMLInputElement::attach): 43374 * html/HTMLObjectElement.cpp: 43375 (WebCore::HTMLObjectElement::attach): 43376 * html/HTMLVideoElement.cpp: 43377 (WebCore::HTMLVideoElement::attach): 43378 * loader/ImageLoader.cpp: 43379 (WebCore::ImageLoader::setImage): 43380 (WebCore::ImageLoader::updateFromElement): 43381 (WebCore::ImageLoader::notifyFinished): 43382 * page/AccessibilityRenderObject.cpp: 43383 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 43384 (WebCore::AccessibilityRenderObject::addChildren): 43385 * page/DragController.cpp: 43386 (WebCore::getCachedImage): 43387 (WebCore::getImage): 43388 * platform/mac/PasteboardMac.mm: 43389 (WebCore::Pasteboard::writeImage): 43390 * rendering/RenderImage.h: 43391 (WebCore::toRenderImage): 43392 * wml/WMLImageElement.cpp: 43393 (WebCore::WMLImageElement::parseMappedAttribute): 43394 (WebCore::WMLImageElement::attach): 43395 43396 2009-02-04 Jungshik Shin <jshin (a] chromium.org> 43397 43398 Reviewed by Eric Seidel and Dave Hyatt. 43399 43400 https://bugs.webkit.org/show_bug.cgi?id=20531 43401 43402 Make alternateFamilyName customized for Windows and Chromium. 43403 43404 * platform/graphics/FontCache.cpp: 43405 (WebCore::alternateFamilyName): 43406 43407 2009-02-04 Jungshik Shin <jshin (a] chromium.org> 43408 43409 Reviewed by Eric Seidel. 43410 43411 This comes from Chromium patch (http://codereview.chromium.org/17624). 43412 43413 Add m_disableFontFallback to UniscriberHelper class and set it 43414 to true when filling up glyph pages for non-BMP code points. 43415 When it's set true, UniscriberHelper does not do its own font 43416 fallback. Neither does it do glyph placement. Font fallback 43417 will be taken care of in the simple script font path and glyph 43418 placement is not necessary for simple scripts. 43419 43420 Layout test is missing at the moment due to the lack of freely 43421 distributable font covering a non-BMP code page. A test page 43422 is available at http://i18nl10n.com/webkit/nonbmp2.html 43423 43424 See also https://bugs.webkit.org/show_bug.cgi?id=23602 43425 43426 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 43427 (WebCore::fillNonBMPGlyphs): 43428 * platform/graphics/chromium/UniscribeHelper.cpp: 43429 (WebCore::UniscribeHelper::UniscribeHelper): 43430 (WebCore::UniscribeHelper::shape): 43431 (WebCore::UniscribeHelper::fillShapes): 43432 * platform/graphics/chromium/UniscribeHelper.h: 43433 (WebCore::UniscribeHelper::setDisableFontFallback): 43434 43435 2009-02-04 Sam Weinig <sam (a] webkit.org> 43436 43437 Reviewed by David Hyatt. 43438 43439 Remove some unnecessary #includes of RenderStyle.h 43440 43441 * css/CSSPrimitiveValueMappings.h: 43442 * css/SVGCSSComputedStyleDeclaration.cpp: 43443 * dom/Node.h: 43444 * rendering/PointerEventsHitRules.h: 43445 * rendering/RenderImageGeneratedContent.h: 43446 * rendering/RenderMarquee.h: 43447 * rendering/RenderScrollbar.h: 43448 43449 2009-02-04 Dimitri Glazkov <dglazkov (a] chromium.org> 43450 43451 Reviewed by Sam Weinig. 43452 43453 https://bugs.webkit.org/show_bug.cgi?id=23657 43454 Clean up WebCore/storage IDLs. 43455 43456 * storage/SQLError.idl: Changed to match spec. 43457 * storage/SQLResultSet.idl: Changed to match spec. 43458 * storage/SQLStatementCallback.idl: Removed. 43459 * storage/SQLStatementErrorCallback.idl: Removed. 43460 * storage/SQLTransactionCallback.idl: Removed. 43461 * storage/SQLTransactionErrorCallback.idl: Removed. 43462 43463 2009-02-04 David Hyatt <hyatt (a] apple.com> 43464 43465 Fix for https://bugs.webkit.org/show_bug.cgi?id=23734, blank content on blogs.msdn.com. 43466 43467 Add debugging code that will catch the incorrect dirtying of a table section immediately if it happens 43468 during calcRowHeight or layoutRows. This should make it possible to discover future bugs where table sections don't 43469 paint. 43470 43471 The bug in blogs.msdn.com, which was caused by a bad setNeedsLayout in RenderLayer::updateScrollInfoAtferLayout. Make 43472 sure to do only a local setNeedsLayout inside that function. 43473 43474 Reviewed by Beth Dakin 43475 43476 * rendering/RenderLayer.cpp: 43477 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 43478 * rendering/RenderObject.cpp: 43479 (WebCore::RenderObject::RenderObject): 43480 * rendering/RenderObject.h: 43481 (WebCore::RenderObject::isSetNeedsLayoutForbidden): 43482 (WebCore::RenderObject::setNeedsLayoutIsForbidden): 43483 (WebCore::RenderObject::setNeedsLayout): 43484 (WebCore::RenderObject::setChildNeedsLayout): 43485 (WebCore::RenderObject::markContainingBlocksForLayout): 43486 * rendering/RenderTable.cpp: 43487 (WebCore::RenderTable::layout): 43488 * rendering/RenderTableSection.cpp: 43489 (WebCore::RenderTableSection::calcRowHeight): 43490 (WebCore::RenderTableSection::layoutRows): 43491 43492 2009-02-04 Sam Weinig <sam (a] webkit.org> 43493 43494 Reviewed by David Hyatt. 43495 43496 Rename RenderStyle::Diff to StyleDifference and move it to 43497 RenderStyleConstants.h. 43498 43499 * rendering/RenderBR.cpp: 43500 (WebCore::RenderBR::styleDidChange): 43501 * rendering/RenderBR.h: 43502 * rendering/RenderBlock.cpp: 43503 (WebCore::RenderBlock::styleWillChange): 43504 (WebCore::RenderBlock::styleDidChange): 43505 * rendering/RenderBlock.h: 43506 * rendering/RenderBox.cpp: 43507 (WebCore::RenderBox::styleWillChange): 43508 (WebCore::RenderBox::styleDidChange): 43509 * rendering/RenderBox.h: 43510 * rendering/RenderButton.cpp: 43511 (WebCore::RenderButton::styleWillChange): 43512 (WebCore::RenderButton::styleDidChange): 43513 * rendering/RenderButton.h: 43514 * rendering/RenderFieldset.cpp: 43515 (WebCore::RenderFieldset::styleDidChange): 43516 * rendering/RenderFieldset.h: 43517 * rendering/RenderFileUploadControl.cpp: 43518 (WebCore::RenderFileUploadControl::styleDidChange): 43519 * rendering/RenderFileUploadControl.h: 43520 * rendering/RenderInline.cpp: 43521 (WebCore::RenderInline::styleDidChange): 43522 * rendering/RenderInline.h: 43523 * rendering/RenderLayer.cpp: 43524 (WebCore::RenderLayer::styleChanged): 43525 * rendering/RenderLayer.h: 43526 * rendering/RenderLayerCompositor.cpp: 43527 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 43528 (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): 43529 * rendering/RenderLayerCompositor.h: 43530 * rendering/RenderListBox.cpp: 43531 (WebCore::RenderListBox::styleDidChange): 43532 * rendering/RenderListBox.h: 43533 * rendering/RenderListItem.cpp: 43534 (WebCore::RenderListItem::styleDidChange): 43535 * rendering/RenderListItem.h: 43536 * rendering/RenderListMarker.cpp: 43537 (WebCore::RenderListMarker::styleWillChange): 43538 (WebCore::RenderListMarker::styleDidChange): 43539 * rendering/RenderListMarker.h: 43540 * rendering/RenderMenuList.cpp: 43541 (WebCore::RenderMenuList::styleDidChange): 43542 * rendering/RenderMenuList.h: 43543 * rendering/RenderObject.cpp: 43544 (WebCore::RenderObject::setStyle): 43545 (WebCore::RenderObject::styleWillChange): 43546 (WebCore::RenderObject::styleDidChange): 43547 * rendering/RenderObject.h: 43548 * rendering/RenderReplaced.cpp: 43549 (WebCore::RenderReplaced::styleDidChange): 43550 * rendering/RenderReplaced.h: 43551 * rendering/RenderSVGGradientStop.cpp: 43552 (WebCore::RenderSVGGradientStop::styleDidChange): 43553 * rendering/RenderSVGGradientStop.h: 43554 * rendering/RenderSVGInlineText.cpp: 43555 (WebCore::RenderSVGInlineText::styleDidChange): 43556 * rendering/RenderSVGInlineText.h: 43557 * rendering/RenderScrollbarPart.cpp: 43558 (WebCore::RenderScrollbarPart::styleWillChange): 43559 (WebCore::RenderScrollbarPart::styleDidChange): 43560 * rendering/RenderScrollbarPart.h: 43561 * rendering/RenderSlider.cpp: 43562 (WebCore::RenderSlider::styleDidChange): 43563 * rendering/RenderSlider.h: 43564 * rendering/RenderTable.cpp: 43565 (WebCore::RenderTable::styleDidChange): 43566 * rendering/RenderTable.h: 43567 * rendering/RenderTableCell.cpp: 43568 (WebCore::RenderTableCell::styleWillChange): 43569 (WebCore::RenderTableCell::styleDidChange): 43570 * rendering/RenderTableCell.h: 43571 * rendering/RenderTableRow.cpp: 43572 (WebCore::RenderTableRow::styleWillChange): 43573 * rendering/RenderTableRow.h: 43574 * rendering/RenderText.cpp: 43575 (WebCore::RenderText::styleDidChange): 43576 * rendering/RenderText.h: 43577 (WebCore::RenderText::styleWillChange): 43578 * rendering/RenderTextControl.cpp: 43579 (WebCore::RenderTextControl::styleDidChange): 43580 * rendering/RenderTextControl.h: 43581 * rendering/RenderTextControlSingleLine.cpp: 43582 (WebCore::RenderTextControlSingleLine::styleDidChange): 43583 * rendering/RenderTextControlSingleLine.h: 43584 * rendering/RenderWidget.cpp: 43585 (WebCore::RenderWidget::styleDidChange): 43586 * rendering/RenderWidget.h: 43587 * rendering/style/RenderStyle.cpp: 43588 (WebCore::RenderStyle::diff): 43589 (WebCore::RenderStyle::setClip): 43590 * rendering/style/RenderStyle.h: 43591 * rendering/style/RenderStyleConstants.h: 43592 (WebCore::): 43593 43594 2009-02-03 Sam Weinig <sam (a] webkit.org> 43595 43596 Reviewed by David Hyatt. 43597 43598 Move PseudoId enum out of RenderStyle and into RenderStyleConstants.h 43599 43600 * css/CSSStyleSelector.cpp: 43601 (WebCore::CSSStyleSelector::matchRulesForList): 43602 (WebCore::CSSStyleSelector::initForStyleResolve): 43603 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): 43604 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 43605 (WebCore::CSSStyleSelector::styleForElement): 43606 (WebCore::CSSStyleSelector::pseudoStyleForElement): 43607 (WebCore::CSSStyleSelector::checkSelector): 43608 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 43609 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 43610 (WebCore::CSSStyleSelector::applyProperty): 43611 * css/CSSStyleSelector.h: 43612 * dom/Node.cpp: 43613 (WebCore::Node::diff): 43614 * page/FrameView.cpp: 43615 (WebCore::FrameView::createScrollbar): 43616 * rendering/InlineTextBox.cpp: 43617 (WebCore::InlineTextBox::paint): 43618 * rendering/MediaControlElements.cpp: 43619 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): 43620 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement): 43621 (WebCore::MediaControlInputElement::MediaControlInputElement): 43622 (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement): 43623 (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement): 43624 (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement): 43625 (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): 43626 (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement): 43627 * rendering/MediaControlElements.h: 43628 * rendering/RenderBlock.cpp: 43629 (WebCore::RenderBlock::styleDidChange): 43630 (WebCore::RenderBlock::updateBeforeAfterContent): 43631 (WebCore::RenderBlock::firstLineBlock): 43632 (WebCore::RenderBlock::updateFirstLetter): 43633 * rendering/RenderBlock.h: 43634 * rendering/RenderBox.cpp: 43635 (WebCore::RenderBox::isAfterContent): 43636 * rendering/RenderButton.cpp: 43637 (WebCore::RenderButton::updateBeforeAfterContent): 43638 * rendering/RenderButton.h: 43639 * rendering/RenderFileUploadControl.cpp: 43640 (WebCore::RenderFileUploadControl::createButtonStyle): 43641 * rendering/RenderInline.cpp: 43642 (WebCore::RenderInline::styleDidChange): 43643 (WebCore::isAfterContent): 43644 (WebCore::RenderInline::addChildIgnoringContinuation): 43645 (WebCore::RenderInline::splitInlines): 43646 * rendering/RenderLayer.cpp: 43647 (WebCore::RenderLayer::createScrollbar): 43648 (WebCore::RenderLayer::updateScrollCornerStyle): 43649 (WebCore::RenderLayer::updateResizerStyle): 43650 * rendering/RenderListBox.cpp: 43651 (WebCore::RenderListBox::createScrollbar): 43652 * rendering/RenderMedia.cpp: 43653 (WebCore::RenderMedia::createPanel): 43654 (WebCore::RenderMedia::createTimelineContainer): 43655 * rendering/RenderMenuList.cpp: 43656 (WebCore::RenderMenuList::createScrollbar): 43657 * rendering/RenderObject.cpp: 43658 (WebCore::RenderObject::selectionBackgroundColor): 43659 (WebCore::RenderObject::selectionForegroundColor): 43660 (WebCore::RenderObject::firstLineStyleSlowCase): 43661 (WebCore::RenderObject::getCachedPseudoStyle): 43662 (WebCore::RenderObject::getUncachedPseudoStyle): 43663 * rendering/RenderObject.h: 43664 (WebCore::RenderObject::isAnonymousBlock): 43665 * rendering/RenderObjectChildList.cpp: 43666 (WebCore::RenderObjectChildList::destroyLeftoverChildren): 43667 (WebCore::beforeAfterContainer): 43668 (WebCore::RenderObjectChildList::invalidateCounters): 43669 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 43670 * rendering/RenderObjectChildList.h: 43671 * rendering/RenderScrollbar.cpp: 43672 (WebCore::RenderScrollbar::getScrollbarPseudoStyle): 43673 (WebCore::pseudoForScrollbarPart): 43674 * rendering/RenderScrollbar.h: 43675 * rendering/RenderSlider.cpp: 43676 (WebCore::RenderSlider::createThumbStyle): 43677 * rendering/RenderTextControlSingleLine.cpp: 43678 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 43679 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle): 43680 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle): 43681 (WebCore::RenderTextControlSingleLine::createScrollbar): 43682 * rendering/style/RenderStyle.cpp: 43683 (WebCore::pseudoBit): 43684 * rendering/style/RenderStyle.h: 43685 (WebCore::): 43686 * rendering/style/RenderStyleConstants.h: 43687 (WebCore::): 43688 43689 2009-02-04 David Kilzer <ddkilzer (a] apple.com> 43690 43691 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706 43692 43693 <rdar://problem/6509514> 43694 43695 Reviewed by Mark Rowe. 43696 43697 * loader/archive/cf/LegacyWebArchive.cpp: 43698 (WebCore::LegacyWebArchive::create): Fix it correctly this time. 43699 Check for the value returned from WebCore::IconDatabase::iconForPageURL(), 43700 not WebCore::Image::data(). 43701 43702 2009-02-04 David Hyatt <hyatt (a] apple.com> 43703 43704 Rename removeFromObjectLists and move it into RenderBox, since it only applies to boxes. 43705 43706 Reviewed by Adam Roben 43707 43708 * rendering/RenderBox.cpp: 43709 (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): 43710 (WebCore::RenderBox::styleWillChange): 43711 * rendering/RenderBox.h: 43712 * rendering/RenderContainer.cpp: 43713 (WebCore::RenderContainer::removeChild): 43714 * rendering/RenderObject.cpp: 43715 (WebCore::RenderObject::styleWillChange): 43716 * rendering/RenderObject.h: 43717 * rendering/RenderSVGContainer.cpp: 43718 (WebCore::RenderSVGContainer::removeChild): 43719 43720 2009-02-04 Jeremy Moskovich <jeremy (a] chromium.org> 43721 43722 Reviewed by Dave Hyatt. 43723 43724 https://bugs.webkit.org/show_bug.cgi?id=23471 43725 Fix text-overflow:ellipsis; for RTL case. 43726 43727 Test: fast/css/text-overflow-ellipses.html 43728 43729 * rendering/InlineTextBox.cpp: 43730 (WebCore::InlineTextBox::placeEllipsisBox): Add support for rtl placement. 43731 (WebCore::InlineTextBox::paintDecoration): Correctly draw decorations 43732 for rtl truncation. 43733 43734 2009-02-04 Dimitri Glazkov <dglazkov (a] chromium.org> 43735 43736 Reviewed by Darin Adler. 43737 43738 https://bugs.webkit.org/show_bug.cgi?id=23700 43739 Upstream local changes to due to unforking of SimpleFontData 43740 (corresponds to Chromium check-in http://src.chromium.org/viewvc/chrome?view=rev&revision=8646). 43741 43742 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 43743 (WebCore::fillBMPGlyphs): Removed extra checks for ZWS chars. 43744 43745 2009-02-04 David Hyatt <hyatt (a] apple.com> 43746 43747 <rdar://problem/6554115> REGRESSION (r40475): World leak (JS global object) after viewing a photo on Facebook 43748 43749 Fix a ginormous leak. (GINORMOUS!) Make sure to disconnect the event listeners attached to the Document, 43750 because, like, they point to a lot of stuff... like ... everything... 43751 43752 Reviewed by Darin Adler 43753 43754 * dom/Document.cpp: 43755 (WebCore::Document::removeAllEventListenersFromAllNodes): 43756 43757 2009-02-04 Darin Fisher <darin (a] chromium.org> 43758 43759 Reviewed by Darin Adler. 43760 43761 https://bugs.webkit.org/show_bug.cgi?id=23731 43762 Add JSCCustom and V8Custom as extended IDL attributes 43763 43764 This helps avoid having to add #ifdefs to the IDL files to support V8 bindings. 43765 43766 * bindings/scripts/CodeGeneratorJS.pm: 43767 * dom/Document.idl: 43768 * dom/Node.idl: 43769 * svg/SVGPathSegList.idl: 43770 * svg/SVGPointList.idl: 43771 * svg/SVGTransformList.idl: 43772 43773 2009-02-04 Dan Bernstein <mitz (a] apple.com> 43774 43775 - build fix 43776 43777 * rendering/RenderImageGeneratedContent.h: 43778 43779 2009-02-04 miggilin <mr.diggilin (a] gmail.com> 43780 43781 Reviewed by Kevin Ollivier. 43782 43783 Switch to using a ref-counted wxFont pointer for FontPlatformData to fix a crash 43784 with assigning to uninitialized HashTable buckets. 43785 43786 https://bugs.webkit.org/show_bug.cgi?id=23669 43787 43788 * platform/graphics/SimpleFontData.h: 43789 (WebCore::SimpleFontData::getWxFont): 43790 * platform/graphics/wx/FontPlatformData.h: 43791 (WebCore::): 43792 (WebCore::FontPlatformData::FontPlatformData): 43793 (WebCore::FontPlatformData::font): 43794 (WebCore::FontPlatformData::operator==): 43795 * platform/graphics/wx/FontPlatformDataWx.cpp: 43796 (WebCore::FontPlatformData::FontPlatformData): 43797 (WebCore::FontPlatformData::computeHash): 43798 (WebCore::FontPlatformData::~FontPlatformData): 43799 * platform/graphics/wx/SimpleFontDataWx.cpp: 43800 (WebCore::SimpleFontData::platformInit): 43801 (WebCore::SimpleFontData::determinePitch): 43802 (WebCore::SimpleFontData::platformWidthForGlyph): 43803 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: 43804 (WebCore::drawTextWithSpacing): 43805 43806 2009-02-04 David Hyatt <hyatt (a] apple.com> 43807 43808 Fix a crash in generated content when a generated image with an already-cached background image gets 43809 created. It's not completely clear how to reproduce this crash. 43810 43811 Reviewed by Adam Roben 43812 43813 * rendering/RenderImageGeneratedContent.h: 43814 (WebCore::RenderImageGeneratedContent::imagePtr): 43815 43816 2009-02-04 Simon Hausmann <simon.hausmann (a] nokia.com> 43817 43818 Unreviewed Qt build fix. 43819 43820 Changed ASSERT(image) to ASSERT(!image.isNull()). 43821 43822 * platform/graphics/qt/ImageBufferQt.cpp: 43823 (WebCore::ImageBuffer::getImageData): 43824 43825 2009-02-04 Trenton Schulz <trenton.schulz (a] nokia.com> 43826 43827 Reviewed by Simon Hausmann. 43828 43829 Fix implementation of PluginViewMac::invalidateRect to update only the 43830 specified rect, not the entire browser window. 43831 43832 * plugins/mac/PluginViewMac.cpp: 43833 (WebCore::PluginView::invalidateRect): 43834 43835 2009-02-04 Holger Hans Peter Freyther <zecke (a] selfish.org> 43836 43837 Rubber stamped by Mark Rowe. 43838 43839 FramePrivate was removed in r40024 remove the forward 43840 declaration as well. 43841 43842 * page/Frame.h: 43843 43844 2009-02-04 Holger Hans Peter Freyther <zecke (a] selfish.org> 43845 43846 Reviewed by Sam Weinig. 43847 43848 https://bugs.webkit.org/show_bug.cgi?id=23426 43849 43850 Make isFrameSet virtual and by default return false. Reimplement 43851 it in HTMLDocument. 43852 43853 * dom/Document.cpp: 43854 * dom/Document.h: 43855 (WebCore::Document::isFrameSet): 43856 * html/HTMLDocument.cpp: 43857 (WebCore::HTMLDocument::isFrameSet): 43858 * html/HTMLDocument.h: 43859 43860 2009-02-03 Oliver Hunt <oliver (a] apple.com> 43861 43862 Reviewed by John Sullivan. 43863 43864 <rdar://problem/6554092> Slow script dialog starts coming up over and over again 43865 43866 Work around <rdar://problem/6554067> by consuming any exceptions that are 43867 thrown by _web_localizedDescription 43868 43869 * platform/network/mac/ResourceErrorMac.mm: 43870 (WebCore::ResourceError::platformLazyInit): 43871 43872 2009-02-03 David Hyatt <hyatt (a] apple.com> 43873 43874 Move the isRenderInline checks for clientWidth/Height and scrollWidth/Height to the DOM element 43875 versions of the functions. Since internal render tree usage doesn't ever (incorrectly) call these 43876 functions on RenderInlines, this manages to get virtual function calls out of contentWidth/Height and 43877 availableWidth/Height. 43878 43879 Reviewed by Mark Rowe 43880 43881 * dom/Element.cpp: 43882 (WebCore::Element::clientWidth): 43883 (WebCore::Element::clientHeight): 43884 (WebCore::Element::scrollWidth): 43885 (WebCore::Element::scrollHeight): 43886 * rendering/RenderBox.cpp: 43887 (WebCore::RenderBox::clientWidth): 43888 (WebCore::RenderBox::clientHeight): 43889 (WebCore::RenderBox::scrollWidth): 43890 (WebCore::RenderBox::scrollHeight): 43891 43892 2009-02-03 Brad Garcia <bgarcia (a] google.com> 43893 43894 Reviewed by Eric Seidel. 43895 43896 https://bugs.webkit.org/show_bug.cgi?id=20443 43897 Remove call to canResize when trying to determine if pointer 43898 is within a frame. 43899 Also removed the implementation of canResize as it is no longer used. 43900 43901 Test: fast/frames/frame-dead-region.html 43902 43903 * rendering/RenderFrameSet.cpp: 43904 (WebCore::RenderFrameSet::nodeAtPoint): 43905 * rendering/RenderFrameSet.h: 43906 43907 2009-02-03 David Hyatt <hyatt (a] apple.com> 43908 43909 Reduce the number of calls to virtualChildren (indirectly made via RenderObject::firstChild()). 43910 This is a small gain on the PLT. 43911 43912 Reviewed by Mark Rowe 43913 43914 * rendering/bidi.cpp: 43915 (WebCore::inlineWidth): 43916 (WebCore::bidiNext): 43917 43918 2009-02-03 Simon Fraser <simon.fraser (a] apple.com> 43919 43920 Reviewed by Dave Hyatt 43921 43922 https://bugs.webkit.org/show_bug.cgi?id=23628 43923 43924 Fix selection repainting to do container-relative repaints. RenderView now 43925 repaints the selection using the containerForRepaint() for each RenderSelectionInfo. 43926 selectionRect() is now a wrapper for selectionRectForRepaint() with no container. 43927 43928 Pull SelectionInfo out of RenderObject.h, and BlockSelectionInfo out 43929 of RenderBlock.h and move them into RenderSelectionInfo.h, with some 43930 sharing and refactoring. 43931 43932 RenderBlock::selectionGapRectsForRepaint() is not yet container-aware. 43933 43934 * GNUmakefile.am: 43935 * WebCore.vcproj/WebCore.vcproj: 43936 * WebCore.xcodeproj/project.pbxproj: 43937 * rendering/RenderBR.h: 43938 (WebCore::RenderBR::selectionRectForRepaint): 43939 * rendering/RenderBlock.cpp: 43940 (WebCore::RenderBlock::selectionGapRectsForRepaint): 43941 * rendering/RenderBlock.h: 43942 (WebCore::RenderBlock::selectionRectForRepaint): 43943 * rendering/RenderListMarker.cpp: 43944 (WebCore::RenderListMarker::paint): 43945 (WebCore::RenderListMarker::selectionRectForRepaint): 43946 * rendering/RenderListMarker.h: 43947 * rendering/RenderObject.h: 43948 (WebCore::RenderObject::selectionRect): 43949 (WebCore::RenderObject::selectionRectForRepaint): 43950 * rendering/RenderReplaced.cpp: 43951 (WebCore::RenderReplaced::selectionRectForRepaint): 43952 * rendering/RenderReplaced.h: 43953 * rendering/RenderSVGInlineText.cpp: 43954 (WebCore::RenderSVGInlineText::absoluteRects): 43955 (WebCore::RenderSVGInlineText::absoluteQuads): 43956 (WebCore::RenderSVGInlineText::selectionRectForRepaint): 43957 (WebCore::RenderSVGInlineText::computeRepaintRectForRange): 43958 * rendering/RenderSVGInlineText.h: 43959 * rendering/RenderSelectionInfo.h: Added. 43960 (WebCore::RenderSelectionInfoBase::RenderSelectionInfoBase): 43961 (WebCore::RenderSelectionInfoBase::object): 43962 (WebCore::RenderSelectionInfoBase::repaintContainer): 43963 (WebCore::RenderSelectionInfoBase::state): 43964 (WebCore::RenderSelectionInfo::RenderSelectionInfo): 43965 (WebCore::RenderSelectionInfo::repaint): 43966 (WebCore::RenderSelectionInfo::rect): 43967 (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo): 43968 (WebCore::RenderBlockSelectionInfo::repaint): 43969 (WebCore::RenderBlockSelectionInfo::block): 43970 (WebCore::RenderBlockSelectionInfo::rects): 43971 * rendering/RenderText.cpp: 43972 (WebCore::RenderText::selectionRectForRepaint): 43973 * rendering/RenderText.h: 43974 * rendering/RenderView.cpp: 43975 (WebCore::RenderView::selectionBounds): 43976 (WebCore::RenderView::setSelection): 43977 * rendering/RenderView.h: 43978 * rendering/RenderWidget.cpp: 43979 (WebCore::RenderWidget::paint): 43980 43981 2009-02-03 David Hyatt <hyatt (a] apple.com> 43982 43983 Add inline capacity back to CSSMutableStyleDeclaration now that the bug in Vector has been fixed. 43984 43985 Reviewed by Darin Adler & Sam Weinig 43986 43987 * css/CSSMutableStyleDeclaration.cpp: 43988 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): 43989 * css/CSSMutableStyleDeclaration.h: 43990 43991 2009-02-03 Justin Garcia <justin.garcia (a] apple.com> 43992 43993 Reviewed by Darin Adler. 43994 43995 https://bugs.webkit.org/show_bug.cgi?id=13490 43996 Implement execCommand("styleWithCSS", ...) 43997 43998 Determine whether or not to use HTML formatting tags for styling on the new 43999 boolean on Editor instead of whether or not the document is quirks mode. 44000 44001 * editing/ApplyStyleCommand.cpp: 44002 (WebCore::StyleChange::StyleChange): 44003 (WebCore::StyleChange::init): 44004 (WebCore::ApplyStyleCommand::applyBlockStyle): 44005 (WebCore::ApplyStyleCommand::applyTextDecorationStyle): 44006 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 44007 * editing/Editor.cpp: 44008 (WebCore::Editor::Editor): 44009 (WebCore::Editor::clear): 44010 * editing/Editor.h: 44011 (WebCore::Editor::setShouldStyleWithCSS): 44012 (WebCore::Editor::shouldStyleWithCSS): 44013 * editing/EditorCommand.cpp: 44014 (WebCore::executeStyleWithCSS): 44015 (WebCore::stateStyleWithCSS): 44016 (WebCore::CommandEntry::): 44017 44018 2009-02-03 Dirk Schulze <krit (a] webkit.org> 44019 44020 Reviewed by Sam Weinig. 44021 44022 This is a follow up of r40546. Call toImage() once speeds up ImageBuffer::getImageData() 44023 44024 * platform/graphics/qt/ImageBufferQt.cpp: 44025 (WebCore::ImageBuffer::getImageData): 44026 44027 2009-02-03 Anders Carlsson <andersca (a] apple.com> 44028 44029 Reviewed by Kevin Decker. 44030 44031 - Fix for <rdar://problem/6549743> 44032 44033 On Tiger, create an autorelease pool before creating the NSGraphicsContext and drain it immediately 44034 after the call to -[NSView displayRectIgnoringOpacity:inContext:]. 44035 44036 * platform/mac/WidgetMac.mm: 44037 (WebCore::Widget::paint): 44038 44039 2009-02-03 David Hyatt <hyatt (a] apple.com> 44040 44041 Back this change out since it is causing layout tests to crash. There is something subtle going on 44042 here. 44043 44044 Reviewed by Darin Adler 44045 44046 * css/CSSMutableStyleDeclaration.cpp: 44047 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): 44048 * css/CSSMutableStyleDeclaration.h: 44049 44050 2009-02-03 David Hyatt <hyatt (a] apple.com> 44051 44052 Give the properties vector of mutable style declarations an initial inline capacity to reduce malloc churn. 44053 44054 Reviewed by Sam Weinig 44055 44056 * css/CSSMutableStyleDeclaration.cpp: 44057 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): 44058 * css/CSSMutableStyleDeclaration.h: 44059 44060 2009-02-03 David Hyatt <hyatt (a] apple.com> 44061 44062 Avoid creating extra copies of NSURLRequests for non-HTTP URLs. Only mark platform requests 44063 as needing updating when HTTP fields change if the scheme of the URL is actually HTTP or HTTPS. 44064 Thus cuts down significantly on the number of copied NSURLRequests and is about a 1% gain on the PLT. 44065 44066 Reviewed by Darin Adler 44067 44068 * loader/FrameLoader.cpp: 44069 (WebCore::FrameLoader::addExtraFieldsToRequest): 44070 * platform/KURL.cpp: 44071 (WebCore::KURL::invalidate): 44072 (WebCore::KURL::KURL): 44073 * platform/KURL.h: 44074 (WebCore::KURL::isHTTPOrHTTPS): 44075 * platform/network/ResourceRequestBase.cpp: 44076 (WebCore::ResourceRequestBase::setCachePolicy): 44077 (WebCore::ResourceRequestBase::setTimeoutInterval): 44078 (WebCore::ResourceRequestBase::setMainDocumentURL): 44079 (WebCore::ResourceRequestBase::setHTTPMethod): 44080 (WebCore::ResourceRequestBase::setHTTPHeaderField): 44081 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray): 44082 (WebCore::ResourceRequestBase::setHTTPBody): 44083 (WebCore::ResourceRequestBase::setAllowHTTPCookies): 44084 44085 2009-02-03 Xan Lopez <xan (a] gnome.org> 44086 44087 Reviewed by Holger Freyther. 44088 44089 https://bugs.webkit.org/show_bug.cgi?id=23711 44090 44091 Add manual test for floating divs with scrollbars. 44092 44093 * manual-tests/gtk/floatingdiv.html: Added. 44094 44095 2009-02-03 Xan Lopez <xan (a] gnome.org> 44096 44097 Reviewed by Holger Freyther. 44098 44099 https://bugs.webkit.org/show_bug.cgi?id=23711 44100 44101 There's no need to hold an extra ref to the scrollbar, calling 44102 setPlatformWidget takes ownership of it. 44103 44104 Also do not disconnect the signals when destroying the widget, 44105 it's superfluous. 44106 44107 * platform/gtk/ScrollbarGtk.cpp: 44108 (ScrollbarGtk::ScrollbarGtk): 44109 * platform/gtk/ScrollbarGtk.h: 44110 44111 2009-02-03 Xan Lopez <xan (a] gnome.org> 44112 44113 Reviewed by Holger Freyther. 44114 44115 https://bugs.webkit.org/show_bug.cgi?id=23711 44116 44117 Declare scrollBar as GtkWidget* to avoid needless 44118 casting. 44119 44120 * platform/gtk/ScrollbarGtk.cpp: 44121 (ScrollbarGtk::ScrollbarGtk): 44122 (ScrollbarGtk::~ScrollbarGtk): 44123 44124 2009-02-03 Xan Lopez <xan (a] gnome.org> 44125 44126 Reviewed by Holger Freyther. 44127 44128 https://bugs.webkit.org/show_bug.cgi?id=23711 44129 44130 Properly calculate the scrollbar location for their 44131 usage in RenderLayout. 44132 44133 * platform/gtk/ScrollbarGtk.cpp: 44134 (ScrollbarGtk::frameRectsChanged): 44135 44136 2009-02-03 David Hyatt <hyatt (a] apple.com> 44137 44138 Rename addLineBoxRects to absoluteRectsForRange, and do the same thing for the corresponding quads methods. Move the RenderContainer implementations 44139 of these methods up to RenderObject. 44140 44141 Reviewed by Beth Dakin 44142 44143 * bindings/objc/DOM.mm: 44144 (-[DOMNode lineBoxRects]): 44145 * dom/Range.cpp: 44146 (WebCore::Range::addLineBoxRects): 44147 * inspector/InspectorController.cpp: 44148 (WebCore::InspectorController::drawNodeHighlight): 44149 * rendering/RenderContainer.cpp: 44150 * rendering/RenderContainer.h: 44151 * rendering/RenderObject.cpp: 44152 (WebCore::RenderObject::absoluteRectsForRange): 44153 (WebCore::RenderObject::absoluteQuadsForRange): 44154 * rendering/RenderObject.h: 44155 * rendering/RenderText.cpp: 44156 (WebCore::RenderText::absoluteRectsForRange): 44157 (WebCore::RenderText::absoluteQuadsForRange): 44158 * rendering/RenderText.h: 44159 44160 2009-02-03 Dirk Schulze <krit (a] webkit.org> 44161 44162 Reviewed by Sam Weinig and Oliver Hunt. 44163 44164 Added getImageData() support for QtWebKit. 44165 44166 [QT] lacks getImageData / putImageData support in Canvas 44167 https://bugs.webkit.org/show_bug.cgi?id=22186 44168 44169 * platform/graphics/qt/ImageBufferQt.cpp: 44170 (WebCore::ImageBuffer::getImageData): 44171 44172 2009-02-03 Eric Roman <eroman (a] chromium.org> 44173 44174 Reviewed by Holger Freyther. 44175 44176 Fix FrameChromium.cpp following r40473 which moved Frame::adjustPageHeight to FrameView::adjustPageHeight. 44177 44178 * page/chromium/FrameChromium.cpp: 44179 (WebCore::computePageRectsForFrame): 44180 44181 2009-02-02 Simon Fraser <simon.fraser (a] apple.com> 44182 44183 Reviewed by Dave Hyatt 44184 44185 https://bugs.webkit.org/show_bug.cgi?id=23358 44186 44187 Hook accelerated compositing into RenderLayer. 44188 44189 * rendering/RenderLayer.cpp: 44190 (WebCore::RenderLayer::RenderLayer): 44191 (WebCore::RenderLayer::~RenderLayer): 44192 Init and clean up backing and the hasCompositingDescendant bit. 44193 44194 (WebCore::RenderLayer::compositor): 44195 Shortcut to get to the RenderLayerCompositor. 44196 44197 (WebCore::RenderLayer::updateLayerPositions): 44198 We need to let full repaints propagate to all compositing layers, and 44199 update the backing after layout here. 44200 44201 (WebCore::RenderLayer::transparentAncestor): 44202 (WebCore::transparencyClipBox): 44203 (WebCore::RenderLayer::beginTransparencyLayers): 44204 Account for the fact that opacity may be rendered via the compositing 44205 layer sometimes. 44206 44207 (WebCore::RenderLayer::addChild): 44208 (WebCore::RenderLayer::removeChild): 44209 (WebCore::RenderLayer::removeOnlyThisLayer): 44210 Tell the compositor when the RenderLayer hierarchy changes. 44211 44212 (WebCore::RenderLayer::scrollToOffset): 44213 Update layer geometry after scrolling. 44214 44215 (WebCore::RenderLayer::paintLayer): 44216 We short-circuit painting on composited layers, because these layers 44217 are painted on a callback from the compositing system. 44218 44219 (WebCore::RenderLayer::hitTestLayer): 44220 Only apply transforms if we are rendering them in software. 44221 44222 (WebCore::RenderLayer::localBoundingBox): 44223 (WebCore::RenderLayer::boundingBox): 44224 (WebCore::RenderLayer::absoluteBoundingBox): 44225 Refactor bounding box code that we can compute local, and ancestor-relative 44226 bounding box, as well as absolute. 44227 44228 (WebCore::RenderLayer::ensureBacking): 44229 (WebCore::RenderLayer::clearBacking): 44230 RenderLayerBacking creation and destruction. 44231 44232 (WebCore::RenderLayer::setParent): 44233 Tell the compositor when the RenderLayer hierarchy changes. 44234 44235 (WebCore::RenderLayer::dirtyZOrderLists): 44236 (WebCore::RenderLayer::dirtyStackingContextZOrderLists): 44237 (WebCore::RenderLayer::dirtyOverflowList): 44238 When the z-order and overflow lists change, we need to tell the 44239 compositor that the composited layers need to be rejiggered soon. 44240 44241 (WebCore::RenderLayer::updateZOrderLists): 44242 Whitespace cleanup. 44243 44244 (WebCore::RenderLayer::setBackingNeedsRepaint): 44245 (WebCore::RenderLayer::setBackingNeedsRepaintInRect): 44246 Dirty composited layer contents for painting. 44247 44248 (WebCore::RenderLayer::styleChanged): 44249 Update the layer backing after style changes. 44250 44251 * rendering/RenderLayer.h: 44252 (WebCore::RenderLayer::isComposited): 44253 (WebCore::RenderLayer::backing): 44254 Accessors for testing and getting the backing for this RenderLayer. 44255 44256 (WebCore::RenderLayer::paintsWithTransparency): 44257 (WebCore::RenderLayer::paintsWithTransform): 44258 Transform and opacity can be applied via the compositing layer, or rendered 44259 in software. These methods tell us if we need to account for them in the 44260 non-compositing path. 44261 44262 (WebCore::RenderLayer::hasCompositingDescendant): 44263 (WebCore::RenderLayer::setHasCompositingDescendant): 44264 Maintain a bit to tell if this layer has composited descendants. 44265 44266 2009-02-03 Simon Fraser <simon.fraser (a] apple.com> 44267 44268 Reviewed by Dave Hyatt 44269 44270 https://bugs.webkit.org/show_bug.cgi?id=23365 44271 44272 Hook up accelerated compositing layers the native 44273 view system on Mac. 44274 44275 * WebCore.base.exp: 44276 Export new Page methods. 44277 44278 * page/ChromeClient.h: 44279 (WebCore::ChromeClient::attachRootGraphicsLayer): 44280 (WebCore::ChromeClient::setNeedsOneShotDrawingSynchronization): 44281 New methods for attaching/detaching the root GraphicsLayer, and 44282 synchronizing layer changes with window drawing. 44283 44284 * page/FrameView.h: 44285 * page/FrameView.cpp: 44286 (WebCore::FrameView::updateCompositingLayers): 44287 (WebCore::FrameView::setNeedsOneShotDrawingSynchronization): 44288 (WebCore::FrameView::didMoveOnscreen): 44289 (WebCore::FrameView::willMoveOffscreen): 44290 New methods to update the compositing layer hierarchy, 44291 and pass-throughs to the RenderLayerCompositor. 44292 44293 (WebCore::FrameView::layout): 44294 Update compositing layers after layout() and updateLayerPositions(). 44295 44296 * page/Page.cpp: 44297 (WebCore::Page::didMoveOnscreen): 44298 (WebCore::Page::willMoveOffscreen): 44299 * page/Page.h: 44300 New methods to allow the native view system to tell the Page when it 44301 starts to be presented on-screen, and when it will be hidden. 44302 44303 * rendering/RenderLayerCompositor.h: 44304 * rendering/RenderLayerCompositor.cpp: 44305 (WebCore::RenderLayerCompositor::updateLayerCompositingState): 44306 (WebCore::RenderLayerCompositor::didMoveOnscreen): 44307 (WebCore::RenderLayerCompositor::willMoveOffscreen): 44308 (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): 44309 Rename 'attached' methods to 'moveOnscreen/moveOffscreen' to match 44310 the calls through from Page, FrameView. 44311 44312 (WebCore::RenderLayerCompositor::layerWillBeRemoved): 44313 Dont' try to repaint or update layers if the document is being torn 44314 down. 44315 44316 * rendering/RenderView.cpp: 44317 (WebCore::RenderView::didMoveOnscreen): 44318 (WebCore::RenderView::willMoveOffscreen): 44319 * rendering/RenderView.h: 44320 New methods. 44321 44322 2009-02-03 Dirk Schulze <krit (a] webkit.org> 44323 44324 Reviewed by Holger Hans Peter Freyther. 44325 44326 Fixed getImageData and putImageData and respect pre- 44327 multiplied colors. 44328 44329 Cairo's ImageBuffer::getImageData() does not handle alpha=0 case correctly 44330 https://bugs.webkit.org/show_bug.cgi?id=21575 44331 44332 * platform/graphics/cairo/ImageBufferCairo.cpp: 44333 (WebCore::ImageBuffer::getImageData): 44334 (WebCore::ImageBuffer::putImageData): 44335 44336 2009-02-03 Dan Bernstein <mitz (a] apple.com> 44337 44338 Reviewed by Brady Eidson. 44339 44340 - fix <rdar://problem/6550530> REGRESSION (r40508): Window opened with window.open has no initial history item (global and back/forward) 44341 44342 Test: fast/history/window-open.html 44343 44344 * bindings/js/JSDOMWindowBase.cpp: 44345 (WebCore::createWindow): Pass the missing lockBackForwardList parameter 44346 to FrameLoader::changeLocation(). 44347 44348 2009-02-03 Adam Treat <adam.treat (a] torchmobile.com> 44349 44350 Fix the Qt build after r40536. 44351 44352 * bridge/qt/qt_runtime.cpp: 44353 (JSC::Bindings::convertQVariantToValue): 44354 44355 2009-02-03 Dan Bernstein <mitz (a] apple.com> 44356 44357 - fix -Wmissing-prototypes builds 44358 44359 * loader/WorkerThreadableLoader.cpp: 44360 (WebCore::workerContextDidSendData): Marked this function static. 44361 (WebCore::workerContextDidReceiveResponse): Ditto. 44362 (WebCore::workerContextDidReceiveData): Ditto. 44363 (WebCore::workerContextDidFinishLoading): Ditto. 44364 (WebCore::workerContextDidFail): Ditto. 44365 (WebCore::workerContextDidGetCancelled): Ditto. 44366 (WebCore::workerContextDidReceiveAuthenticationCancellation): Ditto. 44367 44368 2009-02-03 David Kilzer <ddkilzer (a] apple.com> 44369 44370 CrashTracer: [REGRESSION] 53 crashes in Safari at com.apple.WebCore: WebCore::LegacyWebArchive::create + 2706 44371 44372 <rdar://problem/6509514> 44373 44374 Reviewed by Adam Roben. 44375 44376 * loader/archive/cf/LegacyWebArchive.cpp: 44377 (WebCore::LegacyWebArchive::create): Null check the value returned 44378 from WebCore::IconDatabase::iconForPageURL(). 44379 44380 2009-02-03 Simon Hausmann <simon.hausmann (a] nokia.com> 44381 44382 Reviewed by Tor Arne Vestb. 44383 44384 Fix conversion of QByteArray to JavaScript and back. Instead of 44385 converting it to a String (data loss!) we now map it to JSByteArray. 44386 44387 * bridge/qt/qt_runtime.cpp: 44388 (JSC::Bindings::): 44389 (JSC::Bindings::valueRealType): Added JSByteArray as converstion type. 44390 (JSC::Bindings::convertValueToQVariant): Convert from JSByteArray to 44391 QVariant(QByteArray). 44392 (JSC::Bindings::convertQVariantToValue): Convert from 44393 QVariant::ByteArray to jsByteArray. 44394 44395 2009-02-03 Alexey Proskuryakov <ap (a] webkit.org> 44396 44397 Build fix. 44398 44399 * GNUmakefile.am: Removed WorkerTask.{h,cpp}. 44400 44401 2009-02-03 Dmitry Titov <dimich (a] chromium.org> 44402 44403 Reviewed by Alexey Proskuryakov. 44404 44405 https://bugs.webkit.org/show_bug.cgi?id=22718 44406 Implement WindowTimers interface in Workers. 44407 44408 This patch moves timeoutID from Document to ScriptExecutionContext 44409 and exposes JS methods setTimeout/setInterval/clearTimeout/clearInterval inside of a Worker. 44410 Also added a test for those methods. 44411 44412 Test: fast/workers/worker-timeout.html 44413 44414 * bindings/js/JSWorkerContextCustom.cpp: 44415 (WebCore::setTimeoutOrInterval): 44416 Creates ScheduledAction and calls WorkerContext::installTimeout to actually add a timer. 44417 44418 (WebCore::JSWorkerContext::setTimeout): 44419 (WebCore::JSWorkerContext::clearTimeout): 44420 (WebCore::JSWorkerContext::setInterval): 44421 (WebCore::JSWorkerContext::clearInterval): 44422 Added methods exposed to JS. 44423 44424 * dom/Document.cpp: 44425 * dom/Document.h: 44426 * dom/ScriptExecutionContext.cpp: 44427 (WebCore::ScriptExecutionContext::addTimeout): 44428 (WebCore::ScriptExecutionContext::removeTimeout): 44429 (WebCore::ScriptExecutionContext::findTimeout): 44430 * dom/ScriptExecutionContext.h: 44431 The timerID map moves from Document to ScriptExecutionContext, 44432 to be available to Document and to WorkerContext. 44433 44434 * dom/WorkerContext.cpp: 44435 (WebCore::WorkerContext::installTimeout): Adds a DOMTimeout. 44436 (WebCore::WorkerContext::removeTimeout): Removes a DOMTimeout. 44437 * dom/WorkerContext.h: 44438 44439 * page/DOMTimer.cpp: 44440 (WebCore::DOMTimer::DOMTimer): 44441 (WebCore::DOMTimer::~DOMTimer): 44442 (WebCore::DOMTimer::removeById): 44443 Code change here reflects move of timeoutID map to the ScriptExecutionContext. 44444 Some checks and casts are no longer needed. 44445 44446 2009-02-03 Dmitry Titov <dimich (a] chromium.org> 44447 44448 Reviewed by Alexey Proskuryakov. 44449 44450 https://bugs.webkit.org/show_bug.cgi?id=23560 44451 Implement SharedTimer for Workers. 44452 44453 * dom/WorkerRunLoop.cpp: 44454 Added private class WorkerSharedTimer that implements SharedTimer interface for worker threads. 44455 (WebCore::WorkerSharedTimer::WorkerSharedTimer): 44456 (WebCore::WorkerSharedTimer::setFiredFunction): 44457 (WebCore::WorkerSharedTimer::setFireTime): 44458 (WebCore::WorkerSharedTimer::stop): 44459 (WebCore::WorkerSharedTimer::isActive): 44460 (WebCore::WorkerSharedTimer::fireTime): 44461 (WebCore::WorkerSharedTimer::fire): 44462 (WebCore::WorkerRunLoop::WorkerRunLoop): 44463 Initializes a WorkerSharedTimer instance. 44464 (WebCore::WorkerRunLoop::~WorkerRunLoop): 44465 The destructor is here so compiler is ok with having OwnPtr<WorkerSharedTimer> in .h file w/o defining WorkerSharedTimer. 44466 (WebCore::WorkerRunLoop::run): 44467 Set/reset shared timer interface on ThreadTimers, use MessageQueue::waitForMessageTimed() if timer is active. 44468 * dom/WorkerRunLoop.h: 44469 Add member of type OwnPtr<WorkerSharedTimer> 44470 44471 2009-02-03 Steve Falkenburg <sfalken (a] apple.com> 44472 44473 Build fix. 44474 44475 * WebCore.vcproj/WebCore.vcproj: 44476 44477 2009-02-03 Alexey Proskuryakov <ap (a] webkit.org> 44478 44479 Windows build fix. 44480 44481 * dom/CrossThreadCopier.h: Changed forward declarations to use struct instead of class where 44482 appropriate. 44483 44484 2009-02-02 David Levin <levin (a] chromium.org> 44485 44486 Reviewed by Alexey Proskuryakov. 44487 44488 Bug 23636: Make the async api of ThreadableLoader functional for the worker context. 44489 <https://bugs.webkit.org/show_bug.cgi?id=23636> 44490 44491 Enable the async portion of ThreadableLoader for workers. 44492 44493 No observable change in behavior, so no test. 44494 44495 * GNUmakefile.am: 44496 * WebCore.pro: 44497 * WebCore.scons: 44498 * WebCore.vcproj/WebCore.vcproj: 44499 * WebCore.xcodeproj/project.pbxproj: 44500 * WebCoreSources.bkl: 44501 * dom/CrossThreadCopier.h: 44502 * dom/GenericWorkerTask.h: 44503 * dom/WorkerThread.cpp: 44504 * loader/ThreadableLoader.cpp: 44505 (WebCore::ThreadableLoader::create): 44506 * loader/ThreadableLoaderClient.h: 44507 (WebCore::ThreadableLoaderClient::didFinishLoading): 44508 * loader/ThreadableLoaderClientWrapper.h: Added. 44509 (WebCore::ThreadableLoaderClientWrapper::create): 44510 (WebCore::ThreadableLoaderClientWrapper::clearClient): 44511 (WebCore::ThreadableLoaderClientWrapper::didSendData): 44512 (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse): 44513 (WebCore::ThreadableLoaderClientWrapper::didReceiveData): 44514 (WebCore::ThreadableLoaderClientWrapper::didFinishLoading): 44515 (WebCore::ThreadableLoaderClientWrapper::didFail): 44516 (WebCore::ThreadableLoaderClientWrapper::didGetCancelled): 44517 (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation): 44518 (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper): 44519 * loader/WorkerThreadableLoader.cpp: Added. 44520 (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): 44521 (WebCore::WorkerThreadableLoader::~WorkerThreadableLoader): 44522 (WebCore::WorkerThreadableLoader::cancel): 44523 (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): 44524 (WebCore::WorkerThreadableLoader::MainThreadBridge::~MainThreadBridge): 44525 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): 44526 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadDestroy): 44527 (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy): 44528 (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCancel): 44529 (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel): 44530 (WebCore::WorkerThreadableLoader::MainThreadBridge::clearClientWrapper): 44531 (WebCore::workerContextDidSendData): 44532 (WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData): 44533 (WebCore::workerContextDidReceiveResponse): 44534 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse): 44535 (WebCore::workerContextDidReceiveData): 44536 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData): 44537 (WebCore::workerContextDidFinishLoading): 44538 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading): 44539 (WebCore::workerContextDidFail): 44540 (WebCore::WorkerThreadableLoader::MainThreadBridge::didFail): 44541 (WebCore::workerContextDidGetCancelled): 44542 (WebCore::WorkerThreadableLoader::MainThreadBridge::didGetCancelled): 44543 (WebCore::workerContextDidReceiveAuthenticationCancellation): 44544 (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveAuthenticationCancellation): 44545 * loader/WorkerThreadableLoader.h: Added. 44546 (WebCore::WorkerThreadableLoader::create): 44547 (WebCore::WorkerThreadableLoader::refThreadableLoader): 44548 (WebCore::WorkerThreadableLoader::derefThreadableLoader): 44549 44550 2009-02-02 David Levin <levin (a] chromium.org> 44551 44552 Reviewed by Alexey Proskuryakov. 44553 44554 Bug 23636: Make the async api of ThreadableLoader functional for the worker context. 44555 <https://bugs.webkit.org/show_bug.cgi?id=23636> 44556 44557 No observable change in behavior, so no test. 44558 44559 * WebCore.xcodeproj/project.pbxproj: 44560 * dom/Worker.cpp: 44561 * dom/Worker.h: 44562 * dom/WorkerContext.cpp: 44563 (WebCore::WorkerContext::addMessage): 44564 (WebCore::WorkerContext::postTask): 44565 (WebCore::WorkerContext::postTaskToWorkerObject): 44566 * dom/WorkerContext.h: 44567 * dom/WorkerMessagingProxy.cpp: 44568 (WebCore::MessageWorkerContextTask::performTask): 44569 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 44570 (WebCore::WorkerMessagingProxy::postTaskToWorkerContext): 44571 Expose postTaskToWorkerContext for use by the worker object thread. 44572 44573 (WebCore::WorkerMessagingProxy::postTaskToWorkerObject): 44574 Change the name of postTaskToParentContext to postTaskToWorkerObject for consistency 44575 with postMessageToWorkerObject. 44576 44577 * dom/WorkerMessagingProxy.h: 44578 * dom/WorkerRunLoop.cpp: 44579 (WebCore::WorkerRunLoop::run): 44580 (WebCore::WorkerRunLoop::postTask): 44581 * dom/WorkerRunLoop.h: 44582 * dom/WorkerTask.cpp: Removed. 44583 * dom/WorkerTask.h: Removed. 44584 Removed WorkerTask and replaced with the existing ScriptExecutionContext::Task. 44585 44586 The resulted in the class going away along with an adapter that made 44587 a ScriptExecutionContext::Task look like a WorkerTask. 44588 44589 * dom/WorkerThread.cpp: 44590 * dom/WorkerThread.h: 44591 44592 2009-02-02 David Levin <levin (a] chromium.org> 44593 44594 Reviewed by Alexey Proskuryakov. 44595 44596 Bug 23618: Templated worker tasks should be more error proof to use. 44597 <https://bugs.webkit.org/show_bug.cgi?id=23618> 44598 44599 Add the generic worker tasks templates needed for the WorkerThreadableLoader. 44600 44601 No observable change in behavior, so no test. 44602 44603 * GNUmakefile.am: 44604 * WebCore.pro: 44605 * WebCore.scons: 44606 * WebCore.vcproj/WebCore.vcproj: 44607 * WebCore.xcodeproj/project.pbxproj: 44608 * WebCoreSources.bkl: 44609 * dom/CrossThreadCopier.cpp: Added. 44610 * dom/CrossThreadCopier.h: Added. 44611 (WebCore::CrossThreadCopierPassThrough::copy): 44612 * dom/GenericWorkerTask.h: 44613 Stop doing the WorkerMessagingProxy::askedToTerminate call automatically 44614 in performTask because was not obvious that it would be done and not always needed. 44615 44616 (WebCore::GenericWorkerTask1::create): 44617 (WebCore::GenericWorkerTask1::GenericWorkerTask1): 44618 (WebCore::GenericWorkerTask1::performTask): 44619 (WebCore::GenericWorkerTask2::create): 44620 (WebCore::GenericWorkerTask2::GenericWorkerTask2): 44621 (WebCore::GenericWorkerTask2::performTask): 44622 (WebCore::GenericWorkerTask3::create): 44623 (WebCore::GenericWorkerTask3::GenericWorkerTask3): 44624 (WebCore::GenericWorkerTask3::performTask): 44625 (WebCore::GenericWorkerTask4::create): 44626 (WebCore::GenericWorkerTask4::GenericWorkerTask4): 44627 (WebCore::GenericWorkerTask4::performTask): 44628 (WebCore::GenericWorkerTask5::create): 44629 (WebCore::GenericWorkerTask5::GenericWorkerTask5): 44630 (WebCore::GenericWorkerTask5::performTask): 44631 (WebCore::GenericWorkerTask6::create): 44632 (WebCore::GenericWorkerTask6::GenericWorkerTask6): 44633 (WebCore::GenericWorkerTask6::performTask): 44634 (WebCore::GenericWorkerTask7::create): 44635 (WebCore::GenericWorkerTask7::GenericWorkerTask7): 44636 (WebCore::GenericWorkerTask7::performTask): 44637 (WebCore::createCallbackTask): 44638 * dom/WorkerContext.cpp: 44639 (WebCore::addMessageTask): 44640 (WebCore::WorkerContext::addMessage): 44641 * dom/WorkerMessagingProxy.h: 44642 (WebCore::WorkerMessagingProxy::askedToTerminate): 44643 44644 2009-02-02 Sam Weinig <sam (a] webkit.org> 44645 44646 Reviewed by David "The Barnabas Jones" Hyatt. 44647 44648 Move removeChildNode, appendChildNode and insertChildNode from 44649 RenderContainer into RenderObjectChildList. Make moveChildNode 44650 static in RenderBlock, as that was the only user. 44651 44652 * rendering/RenderBlock.cpp: 44653 (WebCore::moveChild): 44654 (WebCore::RenderBlock::makeChildrenNonInline): 44655 (WebCore::RenderBlock::removeChild): 44656 (WebCore::RenderBlock::handleRunInChild): 44657 * rendering/RenderContainer.cpp: 44658 (WebCore::RenderContainer::addChild): 44659 (WebCore::RenderContainer::removeChild): 44660 * rendering/RenderContainer.h: 44661 * rendering/RenderInline.cpp: 44662 (WebCore::RenderInline::splitInlines): 44663 (WebCore::RenderInline::splitFlow): 44664 (WebCore::RenderInline::childBecameNonInline): 44665 * rendering/RenderObject.cpp: 44666 (WebCore::RenderObject::handleDynamicFloatPositionChange): 44667 * rendering/RenderObject.h: 44668 (WebCore::RenderObject::createsAnonymousWrapper): 44669 * rendering/RenderObjectChildList.cpp: 44670 (WebCore::updateListMarkerNumbers): 44671 (WebCore::RenderObjectChildList::removeChildNode): 44672 (WebCore::RenderObjectChildList::appendChildNode): 44673 (WebCore::RenderObjectChildList::insertChildNode): 44674 * rendering/RenderObjectChildList.h: 44675 * rendering/RenderSVGContainer.cpp: 44676 (WebCore::RenderSVGContainer::addChild): 44677 (WebCore::RenderSVGContainer::removeChild): 44678 * rendering/RenderSVGContainer.h: 44679 * rendering/RenderTable.cpp: 44680 (WebCore::RenderTable::removeChild): 44681 * rendering/RenderTable.h: 44682 * rendering/RenderTableSection.cpp: 44683 (WebCore::RenderTableSection::removeChild): 44684 * rendering/RenderTableSection.h: 44685 44686 2009-02-02 Alexey Proskuryakov <ap (a] webkit.org> 44687 44688 Reviewed by Darin Alder. 44689 44690 https://bugs.webkit.org/show_bug.cgi?id=23697 44691 Leaks seen on Worker tests 44692 44693 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): 44694 Zero out m_workerThread, so that the proxy could be deleted once workerObjectDestroyed() 44695 is called. 44696 44697 2009-02-02 David Hyatt <hyatt (a] apple.com> 44698 44699 Move positionForCoordinates up from RenderContainer into RenderBox. 44700 44701 Reviewed by Sam Weinig 44702 44703 * rendering/RenderBox.cpp: 44704 (WebCore::RenderBox::positionForCoordinates): 44705 * rendering/RenderBox.h: 44706 * rendering/RenderContainer.cpp: 44707 * rendering/RenderContainer.h: 44708 44709 2009-02-02 Hiroaki Nakamura <hnakamur (a] gmail.com> 44710 44711 Reviewed by Adam Roben. 44712 44713 Fixes https://bugs.webkit.org/show_bug.cgi?id=15813 44714 Modify pre-build step to properly handle the errorlevel 44715 shell command. 44716 44717 * WebCore.vcproj/WebCore.vcproj: Change errorlevel handling 44718 for all targets so prefast is only enabled in builds 44719 where /analyze is available. 44720 44721 2009-02-02 David Hyatt <hyatt (a] apple.com> 44722 44723 Refactor the handling of before/after content and generated content. Move most of the functions from 44724 RenderContainer into RenderObjectChildList. 44725 44726 Reviewed by Sam Weinig 44727 44728 * rendering/RenderBlock.cpp: 44729 (WebCore::RenderBlock::updateBeforeAfterContent): 44730 * rendering/RenderBlock.h: 44731 * rendering/RenderBox.cpp: 44732 (WebCore::RenderBox::isAfterContent): 44733 * rendering/RenderBox.h: 44734 * rendering/RenderButton.cpp: 44735 (WebCore::RenderButton::updateBeforeAfterContent): 44736 * rendering/RenderContainer.cpp: 44737 * rendering/RenderContainer.h: 44738 * rendering/RenderCounter.cpp: 44739 (WebCore::destroyCounterNodeChildren): 44740 * rendering/RenderInline.cpp: 44741 (WebCore::RenderInline::styleDidChange): 44742 (WebCore::RenderInline::addChildIgnoringContinuation): 44743 (WebCore::RenderInline::splitInlines): 44744 * rendering/RenderObject.h: 44745 * rendering/RenderObjectChildList.cpp: 44746 (WebCore::beforeAfterContainer): 44747 (WebCore::findBeforeAfterParent): 44748 (WebCore::invalidateCountersInContainer): 44749 (WebCore::RenderObjectChildList::invalidateCounters): 44750 (WebCore::RenderObjectChildList::updateBeforeAfterContent): 44751 * rendering/RenderObjectChildList.h: 44752 44753 2009-02-02 Dmitry Titov <dimich (a] chromium.org> 44754 44755 Reviewed by Darin Adler. 44756 44757 https://bugs.webkit.org/show_bug.cgi?id=23661 44758 Fix Chromium build. 44759 44760 * history/HistoryItem.h: need to include <wtf/OwnPtr.h> 44761 44762 * rendering/RenderThemeChromiumMac.mm: 44763 (WebCore::RenderThemeChromiumMac::adjustMenuListStyle): isEnabled() is now on FormControlElement. 44764 44765 2009-02-02 Geoffrey Garen <ggaren (a] apple.com> 44766 44767 Build fix. 44768 44769 * plugins/PluginView.cpp: 44770 (WebCore::PluginView::performRequest): 44771 44772 2009-02-02 Geoffrey Garen <ggaren (a] apple.com> 44773 44774 Build fix. 44775 44776 * WebCore.base.exp: 44777 44778 2009-02-02 Geoffrey Garen <ggaren (a] apple.com> 44779 44780 Reviewed by Sam Weinig. 44781 44782 Track redirects in global history. 44783 44784 * WebCore.base.exp: Renamed some exports. 44785 44786 * bindings/js/JSDOMWindowBase.cpp: 44787 (WebCore::createWindow): 44788 (windowProtoFuncOpen): 44789 * bindings/js/JSDOMWindowCustom.cpp: 44790 (WebCore::JSDOMWindow::setLocation): 44791 * bindings/js/JSDocumentCustom.cpp: 44792 (WebCore::JSDocument::setLocation): 44793 * bindings/js/JSHTMLFormElementCustom.cpp: 44794 (WebCore::JSHTMLFormElement::submit): 44795 * bindings/js/JSLocationCustom.cpp: 44796 (WebCore::JSLocation::setHref): 44797 (WebCore::JSLocation::setProtocol): 44798 (WebCore::JSLocation::setHost): 44799 (WebCore::JSLocation::setHostname): 44800 (WebCore::JSLocation::setPort): 44801 (WebCore::JSLocation::setPathname): 44802 (WebCore::JSLocation::setSearch): 44803 (WebCore::JSLocation::setHash): 44804 (WebCore::JSLocation::assign): Treat any navigation that is not initiated 44805 by the user as a redirect from the perspective of global history. 44806 44807 * history/HistoryItem.cpp: 44808 (WebCore::HistoryItem::addRedirectURL): Store the last URL in the redirect 44809 chain. 44810 44811 * loader/DocumentLoader.cpp: 44812 (WebCore::DocumentLoader::DocumentLoader): 44813 * loader/DocumentLoader.h: 44814 (WebCore::DocumentLoader::urlForHistoryReflectsServerRedirect): 44815 (WebCore::DocumentLoader::urlForHistoryReflectsClientRedirect): 44816 (WebCore::DocumentLoader::setURLForHistoryReflectsClientRedirect): Sadly, 44817 added yet another way to track redirect state during loading, since none 44818 of the others did what I wanted, and I didn't want to cause behavior 44819 changes in existing code. 44820 44821 * loader/EmptyClients.h: 44822 (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryForRedirectWithoutHistoryItem): 44823 Stubbed out a client function to keep things building. 44824 44825 * loader/FrameLoader.cpp: 44826 (WebCore::isBackForwardLoadType): 44827 (WebCore::FrameLoader::restoreDocumentState): Renamed FrameLoadTypeRedirect => 44828 FrameLoadTypeRedirectWithLockedBackForwardList, to distinguish from all 44829 the other meanings of "redirect" in the loading code. 44830 44831 (WebCore::FrameLoader::scheduleHTTPRedirection): Treat any HTTP refresh 44832 redirect as a redirect from the perspective of global history. 44833 44834 (WebCore::FrameLoader::loadURLIntoChildFrame): Updated for rename and extra 44835 parameter. 44836 44837 (WebCore::FrameLoader::startRedirectionTimer): Removed unused parameter. 44838 44839 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): 44840 (WebCore::FrameLoader::loadURL): 44841 (WebCore::FrameLoader::load): Updated for rename and extra parameter. 44842 44843 (WebCore::FrameLoader::loadWithNavigationAction): Track redirect status 44844 in the DocumentLoader, so it's accessible to WebKit's global history code. 44845 44846 (WebCore::FrameLoader::clientRedirected): Ignore lockHistory, since it 44847 only has meaning to global history, and m_quickRedirectComing pertains 44848 to other kinds of history. 44849 44850 (WebCore::FrameLoader::loadPostRequest): 44851 (WebCore::FrameLoader::loadEmptyDocumentSynchronously): 44852 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 44853 (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy): 44854 (WebCore::FrameLoader::loadItem): Updated for extra parameter and rename. 44855 44856 (WebCore::FrameLoader::updateHistory*): Notify WebKit about redirect 44857 navigations even if they don't create new history items, so we can track 44858 the redirect in the existing history item. 44859 44860 * loader/FrameLoader.h: See above. 44861 44862 * loader/FrameLoaderClient.h: New client interface used by 44863 FrameLoader::updateHistory* to record a redirect even if it doesn't create 44864 a new history item of its own. 44865 44866 * loader/FrameLoaderTypes.h: See above. 44867 (WebCore::): 44868 44869 * page/DragController.cpp: 44870 (WebCore::DragController::performDrag): 44871 * svg/graphics/SVGImage.cpp: 44872 (WebCore::SVGImage::dataChanged): Updated for extra parameter. 44873 44874 2009-02-02 David Hyatt <hyatt (a] apple.com> 44875 44876 Make calcPrefWidths non-abstract on RenderBox and just give it RenderContainer's implementation. 44877 Remove RenderSVGContainer's implementation, since it was never called. 44878 44879 Reviewed by Beth Dakin 44880 44881 * rendering/RenderBox.cpp: 44882 (WebCore::RenderBox::minPrefWidth): 44883 * rendering/RenderBox.h: 44884 (WebCore::RenderBox::calcPrefWidths): 44885 * rendering/RenderContainer.h: 44886 (WebCore::RenderContainer::moveChildNode): 44887 * rendering/RenderSVGContainer.h: 44888 44889 2009-02-02 Anders Carlsson <andersca (a] apple.com> 44890 44891 Reviewed by Sam Weinig. 44892 44893 Add jsObjectForPluginElement to ScriptController, and have createScriptObjectForPluginElement call it. 44894 44895 * WebCore.LP64.exp: 44896 * bindings/js/ScriptController.cpp: 44897 (WebCore::ScriptController::createScriptObjectForPluginElement): 44898 (WebCore::ScriptController::jsObjectForPluginElement): 44899 * bindings/js/ScriptController.h: 44900 44901 2009-02-02 Darin Fisher <darin (a] chromium.org> 44902 44903 Reviewed by Eric Seidel (and Ojan Vafai). 44904 44905 https://bugs.webkit.org/show_bug.cgi?id=23696 44906 Select element doesn't show new value when focus is switched in 44907 onchange event. 44908 44909 Fix PopupMenuChromium to hide itself before calling valueChanged. This 44910 better matches the behavior of the other ports. 44911 44912 * platform/chromium/PopupMenuChromium.cpp: 44913 (WebCore::PopupListBox::create): 44914 (WebCore::PopupContainer::PopupContainer): 44915 (WebCore::PopupContainer::showPopup): 44916 (WebCore::PopupContainer::hidePopup): 44917 (WebCore::PopupListBox::abandon): 44918 (WebCore::PopupListBox::acceptIndex): 44919 (WebCore::PopupMenu::show): 44920 (WebCore::PopupMenu::hide): 44921 44922 2009-02-02 David Hyatt <hyatt (a] apple.com> 44923 44924 Make sure scrollWidth/Height just return 0 for inline flows. 44925 44926 Reviewed by Beth Dakin 44927 44928 * rendering/RenderBox.cpp: 44929 (WebCore::RenderBox::scrollWidth): 44930 (WebCore::RenderBox::scrollHeight): 44931 44932 2009-02-02 Darin Adler <darin (a] apple.com> 44933 44934 Reviewed by Dave Hyatt. 44935 44936 Bug 23676: Speed up uses of reserveCapacity on new vectors by adding a new reserveInitialCapacity 44937 https://bugs.webkit.org/show_bug.cgi?id=23676 44938 44939 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 44940 (WebCore::cssPropertyName): 44941 * css/CSSMutableStyleDeclaration.cpp: 44942 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): 44943 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): 44944 * css/CSSPrimitiveValue.cpp: 44945 (WebCore::CSSPrimitiveValue::cssText): 44946 * css/CSSStyleDeclaration.cpp: 44947 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): 44948 * css/CSSStyleSelector.cpp: 44949 (WebCore::CSSStyleSelector::sortMatchedRules): 44950 * dom/Document.cpp: 44951 (WebCore::Document::formElementsState): 44952 * dom/NamedAttrMap.h: 44953 (WebCore::NamedAttrMap::reserveInitialCapacity): 44954 * editing/TextIterator.cpp: 44955 (WebCore::CharacterIterator::string): 44956 (WebCore::SearchBuffer::SearchBuffer): 44957 (WebCore::plainTextToMallocAllocatedBuffer): 44958 * editing/markup.cpp: 44959 (WebCore::joinMarkups): 44960 * history/HistoryItem.cpp: 44961 (WebCore::HistoryItem::HistoryItem): 44962 * html/HTMLTokenizer.cpp: 44963 (WebCore::Token::addAttribute): 44964 * loader/appcache/DOMApplicationCache.cpp: 44965 (WebCore::DOMApplicationCache::items): 44966 * page/SecurityOrigin.cpp: 44967 (WebCore::SecurityOrigin::toString): 44968 * page/mac/AccessibilityObjectWrapper.mm: 44969 (convertToVector): 44970 * platform/graphics/FontCache.cpp: 44971 (WebCore::FontCache::purgeInactiveFontData): 44972 (WebCore::FontCache::invalidate): 44973 * platform/network/FormData.cpp: 44974 (WebCore::FormData::deepCopy): 44975 * platform/network/HTTPHeaderMap.cpp: 44976 (WebCore::HTTPHeaderMap::copyData): 44977 * platform/network/ResourceRequestBase.cpp: 44978 (WebCore::ResourceRequestBase::copyData): 44979 * platform/network/mac/FormDataStreamMac.mm: 44980 (WebCore::formCreate): 44981 * xml/XPathNodeSet.cpp: 44982 (WebCore::XPath::NodeSet::sort): 44983 Use reserveInitialCapacity instead of of reserveCapacity in all these call sites, 44984 which are working on new vectors that are guaranteed not to be empty. 44985 44986 2009-02-26 Jon Honeycutt <jhoneycutt (a] apple.com> 44987 44988 Build fix after r40486. 44989 44990 Rubber-stamped by Ada Chan. 44991 44992 * dom/Document.h: Changed HitTestRequest to a class from a struct. 44993 * page/EventHandler.h: Ditto. 44994 * rendering/EllipsisBox.h: Ditto. 44995 * rendering/InlineBox.h: Ditto. 44996 * rendering/InlineFlowBox.h: Ditto. 44997 * rendering/RenderLayer.h: Ditto. 44998 44999 2009-02-02 Darin Adler <darin (a] apple.com> 45000 45001 Reviewed by Anders Carlsson. 45002 45003 Bug 23694: REGRESSION: Running svg/custom tests crashes, randomly, depending on the order of tests 45004 https://bugs.webkit.org/show_bug.cgi?id=23694 45005 45006 * dom/ContainerNode.cpp: 45007 (WebCore::ContainerNode::insertedIntoDocument): Added back the call through to EventTargetNode. 45008 (WebCore::ContainerNode::removedFromDocument): Ditto. 45009 * dom/EventTargetNode.cpp: 45010 (WebCore::EventTargetNode::insertedIntoDocument): Changed this to not call through to Node. 45011 (WebCore::EventTargetNode::removedFromDocument): Ditto. 45012 * dom/Node.cpp: 45013 (WebCore::Node::insertedIntoDocument): Updated comment. 45014 (WebCore::Node::removedFromDocument): Ditto. 45015 45016 2009-02-02 Anders Carlsson <andersca (a] apple.com> 45017 45018 Reviewed by Dan Bernstein. 45019 45020 More plug-in cleanup. 45021 45022 * WebCore.NPAPI.exp: 45023 Add new symbols. 45024 45025 * bindings/objc/DOM.mm: 45026 * bindings/objc/DOMPrivate.h: 45027 Remove methods that WebKit doesn't use anymore. 45028 45029 2009-02-02 Jay Campan <jcampan (a] chromium.org> 45030 45031 Reviewed by Eric Seidel. 45032 45033 Clean up PopupMenuChromium a little. 45034 https://bugs.webkit.org/show_bug.cgi?id=23653 45035 45036 No functional changes, only code cleanup, thus no tests. 45037 45038 * platform/chromium/PopupMenuChromium.cpp: 45039 (WebCore::): 45040 (WebCore::PopupListBox::PopupListBox): 45041 (WebCore::PopupContainer::create): 45042 (WebCore::PopupContainer::PopupContainer): 45043 (WebCore::PopupContainer::showPopup): 45044 (WebCore::PopupListBox::handleKeyEvent): 45045 (WebCore::PopupListBox::isSelectableItem): 45046 (WebCore::PopupListBox::selectNextRow): 45047 (WebCore::PopupListBox::selectPreviousRow): 45048 (WebCore::PopupMenu::show): 45049 * platform/chromium/PopupMenuChromium.h: 45050 45051 2009-02-02 Anders Carlsson <andersca (a] apple.com> 45052 45053 Reviewed by Dan Bernstein. 45054 45055 Change createPlugin to take a HTMLPlugInElement, and createJavaAppletWidget to take a HTMLAppletElement. 45056 45057 * WebCore.xcodeproj/project.pbxproj: 45058 * loader/EmptyClients.h: 45059 (WebCore::EmptyFrameLoaderClient::createPlugin): 45060 (WebCore::EmptyFrameLoaderClient::createJavaAppletWidget): 45061 * loader/FrameLoader.cpp: 45062 (WebCore::toPlugInElement): 45063 (WebCore::FrameLoader::loadPlugin): 45064 (WebCore::FrameLoader::loadItem): 45065 * loader/FrameLoader.h: 45066 * loader/FrameLoaderClient.h: 45067 45068 2009-02-02 Genevieve Mak <gen (a] staikos.net> 45069 45070 Reviewed by George Staikos. 45071 45072 https://bugs.webkit.org/show_bug.cgi?id=23508 45073 Returns Blank Page for all "about" protocols 45074 45075 * loader/MainResourceLoader.cpp: 45076 Fix shouldLoadAsEmptyDocument() to return a blank page for an empty 45077 url or about:blank only (for now, exclusively for Torch Mobile platform). 45078 45079 2009-02-02 Brent Fulgham <bfulgham (a] webkit.org> 45080 45081 Reviewed by George Staikos. 45082 45083 Fixes https://bugs.webkit.org/show_bug.cgi?id=23691. 45084 Correct build break caused by @r40366 by moving the 45085 common code implmentations from GraphicsContextCGWin.cpp 45086 into the base Windows class (GraphicsContextWin.cpp). Also 45087 move inTransparencyLayer since it is identical in both 45088 children. 45089 45090 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 45091 Added member m_shouldIncludeChildWindows to Windows version, 45092 similar to GraphicsContextPlatformPrivateCG.h. 45093 * platform/graphics/win/GraphicsContextCGWin.cpp: Remove the 45094 implementations of shouldIncludeChildWindows, 45095 setShouldIncludeChildWindows, and inTransparencyLayer. 45096 * platform/graphics/win/GraphicsContextCairoWin.cpp: Remove 45097 the implementation of inTransparencyLayer. 45098 * platform/graphics/win/GraphicsContextWin.cpp: Move common code 45099 from GraphicsContextCGWin.cpp and GraphicsContextCairoWin.cpp. 45100 (WebCore::GraphicsContext::inTransparencyLayer): 45101 (WebCore::GraphicsContext::setShouldIncludeChildWindows): 45102 (WebCore::GraphicsContext::shouldIncludeChildWindows): 45103 45104 2009-02-02 Darin Adler <darin (a] apple.com> 45105 45106 Try to fix Wx build, and maybe Chromium build too. 45107 45108 * WebCore.scons: Added IdentifierRep.cpp. 45109 * WebCoreSources.bkl: Ditto. 45110 45111 2009-02-02 Darin Adler <darin (a] apple.com> 45112 45113 Try to fix Wx build. 45114 45115 * html/HTMLAreaElement.cpp: Added missing include of "Path.h". 45116 45117 2009-02-02 Adam Treat <adam.treat (a] torchmobile.com> 45118 45119 Reviewed by Nikolas Zimmermann. 45120 45121 https://bugs.webkit.org/show_bug.cgi?id=23587 45122 Refactor HitTestRequest to eliminate all the ugly boolean arguments and 45123 use an enum bitflag instead. Cleanup all the code that constructs the 45124 various HitTestRequests to make the code more readable. 45125 45126 * dom/Document.cpp: 45127 (WebCore::Document::elementFromPoint): 45128 (WebCore::Document::prepareMouseEvent): 45129 * editing/SelectionController.cpp: 45130 (WebCore::SelectionController::contains): 45131 * page/AccessibilityRenderObject.cpp: 45132 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): 45133 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 45134 * page/EventHandler.cpp: 45135 (WebCore::EventHandler::eventMayStartDrag): 45136 (WebCore::EventHandler::updateSelectionForMouseDrag): 45137 (WebCore::EventHandler::hitTestResultAtPoint): 45138 (WebCore::EventHandler::handleMousePressEvent): 45139 (WebCore::EventHandler::handleMouseDoubleClickEvent): 45140 (WebCore::EventHandler::handleMouseMoveEvent): 45141 (WebCore::EventHandler::handleMouseReleaseEvent): 45142 (WebCore::EventHandler::updateDragAndDrop): 45143 (WebCore::EventHandler::handleWheelEvent): 45144 (WebCore::EventHandler::sendContextMenuEvent): 45145 (WebCore::EventHandler::hoverTimerFired): 45146 (WebCore::EventHandler::handleDrag): 45147 * page/EventHandler.h: 45148 * rendering/HitTestRequest.h: 45149 (WebCore::HitTestRequest::): 45150 (WebCore::HitTestRequest::HitTestRequest): 45151 (WebCore::HitTestRequest::readOnly): 45152 (WebCore::HitTestRequest::active): 45153 (WebCore::HitTestRequest::mouseMove): 45154 (WebCore::HitTestRequest::mouseUp): 45155 (WebCore::HitTestRequest::ignoreClipping): 45156 * rendering/RenderFrameSet.cpp: 45157 (WebCore::RenderFrameSet::nodeAtPoint): 45158 * rendering/RenderLayer.cpp: 45159 (WebCore::RenderLayer::hitTest): 45160 (WebCore::RenderLayer::hitTestLayer): 45161 (WebCore::RenderLayer::updateHoverActiveState): 45162 45163 2009-02-02 George Staikos <george.staikos (a] torchmobile.com> 45164 45165 Reviewed by Niko Zimmermann. 45166 45167 Fix WML build by including the inlined renderStyle(). 45168 45169 * wml/WMLOptGroupElement.cpp: 45170 * wml/WMLOptionElement.cpp: 45171 45172 2009-02-02 Darin Adler <darin (a] apple.com> 45173 45174 Reviewed by Niko Zimmermann. 45175 45176 Bug 23686: REGRESSION (r40475): Failure in fast/xpath/4XPath/Core/test_core_functions.html 45177 https://bugs.webkit.org/show_bug.cgi?id=23686 45178 rdar://problem/6547971 45179 45180 Also fix other XPath tests that are crashing. 45181 45182 * xml/XPathFunctions.cpp: 45183 (WebCore::XPath::FunLang::evaluate): Fix order of arguments when creating QualifiedName. 45184 * xml/XPathStep.cpp: 45185 (WebCore::XPath::Step::nodesInAxis): Use createAttrIfNeeded() rather than attr() since we 45186 need to make Attr nodes here. Yuck! 45187 45188 2009-02-02 Yichao Yin <yichao.yin (a] torchmobile.com.cn> 45189 45190 Reviewed by Niko Zimmermann. 45191 45192 Test: wml/input-format.html 45193 45194 * wml/WMLInputElement.cpp: 45195 (WebCore::WMLInputElement::WMLInputElement): 45196 (WebCore::formatCodes): 45197 (WebCore::WMLInputElement::dispatchBlurEvent): 45198 (WebCore::WMLInputElement::parseMappedAttribute): 45199 (WebCore::WMLInputElement::attach): 45200 (WebCore::WMLInputElement::defaultEventHandler): 45201 (WebCore::WMLInputElement::init): 45202 (WebCore::WMLInputElement::validateInputMask): 45203 (WebCore::WMLInputElement::isConformedToInputMask): 45204 (WebCore::WMLInputElement::cursorPositionToMaskIndex): 45205 * wml/WMLInputElement.h: 45206 45207 2009-02-02 Brent Fulgham <bfulgham (a] webkit.org> 45208 45209 Build fix only, no review. 45210 45211 Fixes https://bugs.webkit.org/show_bug.cgi?id=23685. 45212 Correct build break caused by @r40473. 45213 45214 * page/win/FrameWin.cpp: Correct access for adjustPageHeight. 45215 (WebCore::computePageRectsForFrame): 45216 45217 2009-02-02 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 45218 45219 Not reviewed. Fix WML enabled builds. 45220 FrameLoader::urlSelected() got a new parameter: lockBackForwardList. Pass 'false', as HTMLAnchorElement does. 45221 45222 * wml/WMLAElement.cpp: 45223 (WebCore::WMLAElement::defaultEventHandler): 45224 45225 2009-02-02 Alexey Proskuryakov <ap (a] webkit.org> 45226 45227 Reviewed by Darin Adler. 45228 45229 <rdar://problem/6451610> Reloading a AppCache page doesn't ever hit the server 45230 45231 Not easily testable. 45232 45233 * loader/appcache/ApplicationCacheGroup.cpp: 45234 (WebCore::ApplicationCacheGroup::createResourceHandle): A new method that creates a resource 45235 handle in a manner that is closer to what CachedResource does. We now make conditional 45236 requests for better performance, and set max-age to ensure that stale responses are not used. 45237 (WebCore::ApplicationCacheGroup::update): Use the new createResourceHandle() method. 45238 (WebCore::ApplicationCacheGroup::didReceiveResponse): If the response code for the resource 45239 is 304, take it from the newest cache. 45240 (WebCore::ApplicationCacheGroup::didFail): Pre-compute request URL. 45241 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Don't create a resource for 45242 the manifest if the response code was 304 - it won't be needed. 45243 (WebCore::ApplicationCacheGroup::didReceiveManifestData): Replaced an assertion that 45244 m_manifestResource is not null with a check. 45245 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Treat null m_manifestResource as 45246 an indication that the response was 304. 45247 (WebCore::ApplicationCacheGroup::startLoadingEntry): Use createResourceHandle(). 45248 45249 * loader/appcache/ApplicationCacheGroup.h: Added createResourceHandle(). 45250 45251 2009-02-01 Darin Adler <darin (a] apple.com> 45252 45253 Reviewed by Dave Hyatt. 45254 45255 Bug 23674: Speed up some things based on profiling the page load test 45256 https://bugs.webkit.org/show_bug.cgi?id=23674 45257 45258 * css/CSSStyleSelector.cpp: 45259 (WebCore::CSSStyleSelector::canShareStyleWithElement): Use the newly named cssTarget instead 45260 of the old name, getCSSTarget. 45261 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. 45262 45263 * dom/ContainerNode.cpp: 45264 (WebCore::ContainerNode::insertedIntoDocument): Moved code from Node in here rather than 45265 calling through to EventTargetNode::insertedIntoDocument. 45266 (WebCore::ContainerNode::removedFromDocument): Ditto. 45267 (WebCore::ContainerNode::insertedIntoTree): Tweaked a bit. 45268 (WebCore::ContainerNode::removedFromTree): Ditto. 45269 45270 * dom/ContainerNode.h: Moved the constructor definition here and made it inline. 45271 45272 * dom/Document.cpp: 45273 (WebCore::Document::removeAllEventListenersFromAllNodes): Iterate the document element and 45274 its contents only to avoid the document type node. This allows us to remove the virtual 45275 function call to isEventTargetNode from the loop. 45276 (WebCore::Document::setCSSTarget): Changed argument to be an Element rather than Node. 45277 45278 * dom/Document.h: Changed CSS target to be an Element rather than a Node. Renamed 45279 getCSSTarget to cssTarget. 45280 45281 * dom/EventTargetNode.cpp: 45282 (WebCore::EventTargetNode::removeAllEventListenersSlowCase): Renamed and turned the 45283 rare data check into an assertion. 45284 45285 * dom/EventTargetNode.h: Made the fast case of removeAllEventListeners be inline. 45286 Also moved the constructor definition here and made it inline. And added toEventTargetNode, 45287 matching the design of the render tree checked casts. Later we can migrate all callers 45288 from EventTargetNodeCast to toEventTargetNode. 45289 45290 * dom/NamedAttrMap.cpp: 45291 (WebCore::NamedAttrMap::detachAttributesFromElement): Added. Factored out from 45292 clearAttributes, so we could use this loop in cases where we're not clearing the attributes. 45293 (WebCore::NamedAttrMap::~NamedAttrMap): Call detachAttributesFromElement instead of 45294 clearAttributes here. 45295 (WebCore::NamedAttrMap::clearAttributes): Call detachAttributesFromElement here. 45296 (WebCore::NamedAttrMap::detachFromElement): Call detachAttributesFromElement instead of 45297 clearAttributes. We don't need to clear the attributes array just because the element is 45298 going away, so don't. 45299 (WebCore::NamedAttrMap::virtualLength): Added. 45300 45301 * dom/NamedAttrMap.h: Made all the virtual functions inherited from NamedNodeMap be private. 45302 These are all unnecessarily inefficient for use outside the DOM. Changed length to be a 45303 non-virtual function. This was a fairly hot function. 45304 45305 * dom/NamedMappedAttrMap.cpp: 45306 (WebCore::NamedMappedAttrMap::setClass): Changed to use element() function now that the 45307 m_element data member is private. 45308 45309 * dom/NamedMappedAttrMap.h: Made a few functions private. Made the 45310 hasMappedAttributes function non-virtual. 45311 45312 * dom/NamedNodeMap.h: Made length a non-virtual inline function that calls a virtual 45313 function, name virtualLength. This lets NamedAttrMap::length be a non-virtual function. 45314 45315 * dom/Node.cpp: 45316 (WebCore::Node::insertedIntoDocument): Removed call to insertedIntoTree, since it's 45317 only non-empty in subclasses of ContainerNode. 45318 (WebCore::Node::removedFromDocument): Ditto. Also removed setCSSTarget. Since a CSS 45319 target has to be an Element, this can be moved down to ContainerNode (or it could be 45320 moved down to Element for that matter). 45321 45322 * dom/QualifiedName.cpp: 45323 (WebCore::QualifiedName::QualifiedName): Removed double initialization of m_impl. 45324 45325 * dom/QualifiedName.h: Moved the destructor, copy constructor, assignment operator, and 45326 setPrefix function definitions into the header and made them inline. 45327 45328 * html/HTMLAreaElement.cpp: 45329 (WebCore::HTMLAreaElement::mapMouseEvent): Updated since the stored region is now 45330 an OwnPtr. 45331 (WebCore::HTMLAreaElement::accessKey): Use AtomicString. 45332 (WebCore::HTMLAreaElement::setAccessKey): Ditto. 45333 (WebCore::HTMLAreaElement::alt): Ditto. 45334 (WebCore::HTMLAreaElement::setAlt): Ditto. 45335 (WebCore::HTMLAreaElement::coords): Ditto. 45336 (WebCore::HTMLAreaElement::setCoords): Ditto. 45337 (WebCore::HTMLAreaElement::setHref): Ditto. 45338 (WebCore::HTMLAreaElement::shape): Ditto. 45339 (WebCore::HTMLAreaElement::setShape): Ditto. 45340 (WebCore::HTMLAreaElement::setTarget): Ditto. 45341 45342 * html/HTMLAreaElement.h: Use AtomicString in the getter and setter DOM operations. 45343 Change the region data member to be an OwnPtr<Path> instead of a Path to optimize 45344 the common case where an area element is parsed but never hit-tested. This could 45345 also have been done by changing the Path class's null case to be more efficient, 45346 but this seems fine. 45347 45348 * html/HTMLViewSourceDocument.cpp: 45349 (WebCore::HTMLViewSourceDocument::createContainingTable): Use addAttribute instead 45350 of insertAttribute. 45351 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): Ditto. 45352 (WebCore::HTMLViewSourceDocument::addLine): Ditto. 45353 (WebCore::HTMLViewSourceDocument::addLink): Ditto. 45354 45355 * loader/FrameLoader.cpp: 45356 (WebCore::FrameLoader::gotoAnchor): Use cssTarget under its new name instead 45357 of its old name getCSSTarget. 45358 45359 * platform/graphics/GlyphWidthMap.cpp: 45360 (WebCore::GlyphWidthMap::locatePageSlowCase): Refactored from locatePage. 45361 45362 * platform/graphics/GlyphWidthMap.h: Made most of this class inline. 45363 Changed m_pages to use OwnPtr. 45364 45365 * platform/text/PlatformString.h: Remove include no longer needed since 45366 StringImpl.h includes it. 45367 45368 * platform/text/StringImpl.cpp: 45369 (WebCore::StringImpl::createStrippingNullCharactersSlowCase): Refactored 45370 from createStrippingNullCharacters. 45371 * platform/text/StringImpl.h: Moved the definition of 45372 createStrippingNullCharacters here and made it inline. 45373 45374 * rendering/RenderObject.cpp: 45375 (WebCore::RenderObject::firstLineStyleSlowCase): Refactored from 45376 firstLineStyle. 45377 45378 * rendering/RenderObject.h: Moved the definition of the firstLineStyle 45379 function here and made it inline. Moved the definition of the 45380 documentBeingDestroyed function here and made it inline. 45381 45382 * svg/SVGSVGElement.cpp: 45383 (WebCore::SVGSVGElement::getCTM): Use getAttributeItem instead of 45384 getNamedItem here since it accomplishes the same thing but is more efficient. 45385 (WebCore::SVGSVGElement::getScreenCTM): Ditto. 45386 * svg/SVGStyledElement.cpp: 45387 (WebCore::SVGStyledElement::getPresentationAttribute): Ditto. 45388 45389 * xml/XPathFunctions.cpp: 45390 (WebCore::XPath::FunLang::evaluate): Use getAttributeItem instead of 45391 getNamedItemNS. 45392 45393 * xml/XPathStep.cpp: 45394 (WebCore::XPath::Step::nodesInAxis): Use attributeItem instead of item here. 45395 45396 2009-02-02 Holger Hans Peter Freyther <zecke (a] selfish.org> 45397 45398 Reviewed by Darin Adler. 45399 45400 Move Frame::forceLayout, Frame::adjustPageHeight and Frame::forceLayoutWithPageWidthRange to FrameView 45401 45402 https://bugs.webkit.org/show_bug.cgi?id=23428 45403 45404 FrameView::forceLayout could be killed but the comment might 45405 contain a value over the the plain FrameView::layout... 45406 45407 Adjust the WebCore/WebKit consumers of these methods. 45408 45409 * WebCore.base.exp: 45410 * page/Frame.cpp: 45411 (WebCore::Frame::setPrinting): 45412 * page/Frame.h: 45413 * page/FrameView.cpp: 45414 (WebCore::FrameView::forceLayout): 45415 (WebCore::FrameView::forceLayoutWithPageWidthRange): 45416 (WebCore::FrameView::adjustPageHeight): 45417 * page/FrameView.h: 45418 * page/PrintContext.cpp: 45419 (WebCore::PrintContext::computePageRects): 45420 45421 2009-02-01 Dan Bernstein <mitz (a] apple.com> 45422 45423 Reviewed by John Sullivan. 45424 45425 - fix <rdar://problem/6546625> REGRESSION (r40432): iframes added to global history at haaretz.co.il 45426 45427 Fixes http/tests/navigation/multiple-back-forward-entries.html 45428 45429 r40432 added a parameter to FrameLoader::scheduleLocationChange() and 45430 failed to update all call sites. 45431 45432 * bindings/js/JSDOMWindowBase.cpp: 45433 (WebCore::createWindow): Pass the lockBackForwardHistory parameter, 45434 giving it the same value as the lockHistory parameter. 45435 (windowProtoFuncOpen): Ditto. 45436 * bindings/js/JSDOMWindowCustom.cpp: 45437 (WebCore::JSDOMWindow::setLocation): Ditto. 45438 * bindings/js/JSDocumentCustom.cpp: 45439 (WebCore::JSDocument::setLocation): Ditto. 45440 * loader/FrameLoader.cpp: 45441 (WebCore::FrameLoader::requestFrame): Ditto. 45442 45443 2009-01-31 Dan Bernstein <mitz (a] apple.com> 45444 45445 Reviewed by Oliver Hunt. 45446 45447 - fix <rdar://problem/6546549> Eliminate some RenderText::width() overhead from findNextLineBreak() 45448 45449 On the PLT, this results in 0.36x the number of virtual function calls 45450 to RenderText::width() and 0.69x the number of calls to 45451 Font::isFixedPitch(), but makes 1.0004x the number of calls to 45452 Font::width(). 45453 45454 * rendering/RenderText.cpp: 45455 (WebCore::RenderText::width): Replaced bounds checks on 'from' and 'len' 45456 with an assertion. 45457 * rendering/bidi.cpp: 45458 (WebCore::textWidth): Added this inlined helper function which calls 45459 Font::width() directly in the non-fixed-pitch, non-full-range case, and 45460 otherwise calls RenderText::width(). 45461 (WebCore::RenderBlock::findNextLineBreak): Cache whether the font has 45462 fixed pitch (in which case RenderText::width() will be called in order 45463 to take advantage of the widthFromCache() optimization for fixed-pitch 45464 fonts). Replaced all calls to RenderText::width() with calls to the 45465 textWidth() helper function. 45466 45467 2009-01-31 David Hyatt <hyatt (a] apple.com> 45468 45469 Inline all of the setNeedsLayout method and its associated functions. Also inline setChildNeedsLayout 45470 and setNeedsPositionedMovementLayout. 45471 45472 Reviewed by Dan Bernstein 45473 45474 * rendering/RenderObject.cpp: 45475 (WebCore::RenderObject::setLayerNeedsFullRepaint): 45476 * rendering/RenderObject.h: 45477 (WebCore::RenderObject::setNeedsLayout): 45478 (WebCore::RenderObject::setChildNeedsLayout): 45479 (WebCore::RenderObject::setNeedsPositionedMovementLayout): 45480 (WebCore::objectIsRelayoutBoundary): 45481 (WebCore::RenderObject::markContainingBlocksForLayout): 45482 45483 2009-01-31 Darin Adler <darin (a] apple.com> 45484 45485 Fix Mac build. 45486 45487 * loader/FrameLoader.cpp: Moved FrameLoaderClient::hasHTMLView in here. 45488 We need it to not be an inline. Sadly, FrameLoaderClient.cpp was prematurely 45489 deleted and I don't want to bring it back just to fix the build. 45490 45491 * loader/FrameLoaderClient.h: Rearrange virtual functions and corrected 45492 a possibly-confusing comment. 45493 45494 2009-01-31 Adam Treat <adam.treat (a] torchmobile.com> 45495 45496 Reviewed by David Hyatt. 45497 45498 https://bugs.webkit.org/show_bug.cgi?id=23664 45499 Remove unused dead code from RenderTable class. The dead code includes 45500 two enums and the associated member variables as well as one getter function. 45501 45502 * rendering/RenderTable.cpp: 45503 (WebCore::RenderTable::RenderTable): 45504 * rendering/RenderTable.h: 45505 45506 2009-01-31 David Hyatt <hyatt (a] apple.com> 45507 45508 More removal of code from RenderContainer. Move removeLeftoverAnonymousBlock down into RenderBlock. 45509 Move destroyLeftoverChildren into the RenderObjectChildList. Convert all containers to use the 45510 RenderObjectChildList. 45511 45512 Reviewed by Sam Weinig 45513 45514 * WebCore.xcodeproj/project.pbxproj: 45515 * rendering/RenderBlock.cpp: 45516 (WebCore::RenderBlock::destroy): 45517 (WebCore::RenderBlock::addChild): 45518 (WebCore::RenderBlock::removeLeftoverAnonymousBlock): 45519 (WebCore::RenderBlock::layoutPositionedObjects): 45520 (WebCore::RenderBlock::childBecameNonInline): 45521 * rendering/RenderBlock.h: 45522 * rendering/RenderBox.cpp: 45523 (WebCore::RenderBox::layout): 45524 * rendering/RenderBox.h: 45525 (WebCore::RenderBox::firstChildBox): 45526 (WebCore::RenderBox::lastChildBox): 45527 * rendering/RenderContainer.cpp: 45528 (WebCore::RenderContainer::addChild): 45529 (WebCore::RenderContainer::removeChildNode): 45530 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 45531 (WebCore::RenderContainer::appendChildNode): 45532 (WebCore::RenderContainer::insertChildNode): 45533 (WebCore::RenderContainer::positionForCoordinates): 45534 (WebCore::RenderContainer::addLineBoxRects): 45535 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads): 45536 * rendering/RenderContainer.h: 45537 (WebCore::RenderContainer::virtualChildren): 45538 (WebCore::RenderContainer::children): 45539 * rendering/RenderInline.cpp: 45540 (WebCore::RenderInline::destroy): 45541 * rendering/RenderInline.h: 45542 (WebCore::RenderInline::layout): 45543 * rendering/RenderMedia.cpp: 45544 (WebCore::RenderMedia::destroy): 45545 (WebCore::RenderMedia::children): 45546 * rendering/RenderMedia.h: 45547 (WebCore::RenderMedia::virtualChildren): 45548 * rendering/RenderObject.cpp: 45549 (WebCore::RenderObject::destroy): 45550 (WebCore::RenderObject::layout): 45551 * rendering/RenderObject.h: 45552 (WebCore::RenderObject::firstChild): 45553 (WebCore::RenderObject::lastChild): 45554 (WebCore::RenderObject::virtualChildren): 45555 (WebCore::RenderObject::canHaveChildren): 45556 * rendering/RenderObjectChildList.cpp: Added. 45557 (WebCore::RenderObjectChildList::destroyLeftoverChildren): 45558 * rendering/RenderObjectChildList.h: 45559 * rendering/RenderReplaced.h: 45560 (WebCore::RenderReplaced::canHaveChildren): 45561 * rendering/RenderSVGContainer.cpp: 45562 (WebCore::RenderSVGContainer::RenderSVGContainer): 45563 (WebCore::RenderSVGContainer::destroy): 45564 (WebCore::RenderSVGContainer::removeChildNode): 45565 (WebCore::RenderSVGContainer::appendChildNode): 45566 (WebCore::RenderSVGContainer::insertChildNode): 45567 * rendering/RenderSVGContainer.h: 45568 (WebCore::RenderSVGContainer::virtualChildren): 45569 (WebCore::RenderSVGContainer::children): 45570 45571 2009-01-31 David Hyatt <hyatt (a] apple.com> 45572 45573 Fix for https://bugs.webkit.org/show_bug.cgi?id=11363 45574 45575 Remove the hacks in table code around the DeleteButtonController and fix tables so that positioned children don't get wrapped in anonymous objects. 45576 With the removal of a non-positioned DeleteButtonController renderer, table layout can be tightened up to only lay out table sections. Table section 45577 layout is tightened up to ignore non-table rows. When a table has multiple captions, only the real one will do a layout now. The other ones will 45578 be properly ignored. 45579 45580 Reviewed by Oliver Hunt 45581 45582 * editing/DeleteButtonController.cpp: 45583 (WebCore::DeleteButtonController::createDeletionUI): 45584 * rendering/RenderTable.cpp: 45585 (WebCore::RenderTable::addChild): 45586 (WebCore::RenderTable::layout): 45587 * rendering/RenderTableSection.cpp: 45588 (WebCore::RenderTableSection::layout): 45589 * rendering/RenderTableSection.h: 45590 45591 2009-01-31 Adam Treat <adam.treat (a] torchmobile.com> 45592 45593 Reviewed by Darin Adler. 45594 45595 https://bugs.webkit.org/show_bug.cgi?id=23663 45596 Add a void toRenderBox() method which catches unnecessary casts at compile 45597 time and also fix the four cases where this was happening. 45598 45599 * rendering/RenderBlock.cpp: 45600 (WebCore::RenderBlock::determineHorizontalPosition): 45601 * rendering/RenderBox.h: 45602 * rendering/RenderFlexibleBox.cpp: 45603 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 45604 * rendering/RenderInline.cpp: 45605 (WebCore::RenderInline::updateHitTestResult): 45606 * rendering/RenderLayer.cpp: 45607 (WebCore::RenderLayer::updateLayerPosition): 45608 45609 2009-01-30 Adam Barth <abarth (a] webkit.org> 45610 45611 Reviewed by Sam Weinig. 45612 45613 Add a pref to disable web security. 45614 45615 * WebCore.base.exp: 45616 * dom/Document.cpp: 45617 (WebCore::Document::initSecurityContext): 45618 * page/SecurityOrigin.cpp: 45619 (WebCore::SecurityOrigin::SecurityOrigin): 45620 (WebCore::SecurityOrigin::canAccess): 45621 (WebCore::SecurityOrigin::canRequest): 45622 (WebCore::SecurityOrigin::grantUniversalAccess): 45623 * page/SecurityOrigin.h: 45624 * page/Settings.cpp: 45625 (WebCore::Settings::Settings): 45626 (WebCore::Settings::setWebSecurityEnabled): 45627 * page/Settings.h: 45628 (WebCore::Settings::isWebSecurityEnabled): 45629 45630 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 45631 45632 Build fix. 45633 45634 Move the inline virtual destructor after a non-inline virtual 45635 function so that the symbol for the vtable is not marked as a 45636 weakly exported symbol. 45637 45638 This trick was previously used at revision 36122 in JSObject.h 45639 45640 * loader/FrameLoaderClient.h: 45641 (WebCore::FrameLoaderClient::~FrameLoaderClient): 45642 45643 2009-01-30 Oliver Hunt <oliver (a] apple.com> 45644 45645 Reviewed by Stephanie Lewis 45646 45647 Inline SimpleFontData::widthForGlyph for a minor page load improvement. 45648 45649 * platform/graphics/SimpleFontData.cpp: 45650 * platform/graphics/SimpleFontData.h: 45651 (WebCore::SimpleFontData::widthForGlyph): 45652 45653 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 45654 45655 Build fix for WX and maybe even Windows. 45656 45657 * WebCore.vcproj/WebCore.vcproj: 45658 * WebCoreSources.bkl: 45659 45660 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 45661 45662 Reviewed by Darin Adler. 45663 45664 Move Frame::sendResizeEvent and Frame::sendScrollEvent to EventHandler 45665 45666 Carry out the move and catch up in two call sites. 45667 45668 * WebCore.base.exp: 45669 * page/EventHandler.cpp: 45670 (WebCore::EventHandler::sendResizeEvent): 45671 (WebCore::EventHandler::sendScrollEvent): 45672 * page/EventHandler.h: 45673 * page/Frame.cpp: 45674 * page/Frame.h: 45675 * page/FrameView.cpp: 45676 (WebCore::FrameView::performPostLayoutTasks): 45677 (WebCore::FrameView::valueChanged): 45678 45679 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 45680 45681 Reviewed by Darin Adler. 45682 45683 Move Frame::isFrameSet to Document::isFrameSet 45684 45685 Changed the FrameLoader callsite. I assume that as this 45686 point m_frame.document() might return a null pointer. Change 45687 the condition to either not having a document or not having a 45688 frame set. This should be semantically equivalent to the 45689 old code. 45690 45691 Make Document::body() const to be able to call it from within 45692 Document::isFrameSet. Leave the isHTMLDocument() check as this 45693 is a stronger condition than simply having a HTMLElement in the 45694 DOM. 45695 45696 * WebCore.base.exp: 45697 * dom/Document.cpp: 45698 (WebCore::Document::isFrameSet): 45699 (WebCore::Document::body): 45700 * dom/Document.h: 45701 * loader/FrameLoader.cpp: 45702 (WebCore::FrameLoader::shouldScrollToAnchor): 45703 * loader/archive/cf/LegacyWebArchive.cpp: 45704 (WebCore::LegacyWebArchive::createFromSelection): 45705 * page/Frame.cpp: 45706 * page/Frame.h: 45707 45708 2009-01-30 Aurelian Maga <aurelianmaga (a] yahoo.com> 45709 45710 Reviewed by Holger Freyther. 45711 45712 [GTK] Logic fixes and build fixes 45713 45714 https://bugs.webkit.org/show_bug.cgi?id=22022 45715 45716 Catch up with the internal GeoLocation API and fix the logic of 45717 the previous version. 45718 45719 * platform/gtk/GeolocationServiceGtk.cpp: 45720 (WebCore::GeolocationServiceGtk::startUpdating): 45721 (WebCore::GeolocationServiceGtk::updateLocationInformation): 45722 (WebCore::GeolocationServiceGtk::position_changed): 45723 45724 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 45725 45726 Reviewed by Nikolas Zimmermann. 45727 45728 [GTK] Implement GeolocationService using the Geoclue library 45729 45730 https://bugs.webkit.org/show_bug.cgi?id=22022 45731 45732 Untested implementation of the GeolocationService using the geoclue 45733 library. Velocity handling is completely missing and the accuracy 45734 handling might be wrong. 45735 45736 * platform/gtk/GeolocationServiceGtk.cpp: 45737 (WTF::GeoclueAccuracy): 45738 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk): 45739 (WebCore::GeolocationServiceGtk::~GeolocationServiceGtk): 45740 (WebCore::GeolocationServiceGtk::startUpdating): 45741 (WebCore::GeolocationServiceGtk::stopUpdating): 45742 (WebCore::GeolocationServiceGtk::suspend): 45743 (WebCore::GeolocationServiceGtk::resume): 45744 (WebCore::GeolocationServiceGtk::lastPosition): 45745 (WebCore::GeolocationServiceGtk::lastError): 45746 (WebCore::GeolocationServiceGtk::updateLocationInformation): 45747 (WebCore::GeolocationServiceGtk::updatePosition): 45748 (WebCore::GeolocationServiceGtk::position_changed): 45749 (WebCore::GeolocationServiceGtk::setError): 45750 * platform/gtk/GeolocationServiceGtk.h: 45751 45752 2009-01-30 Mark Rowe <mrowe (a] apple.com> 45753 45754 Build fix. Declare preferredSize as static. 45755 45756 * platform/text/cf/StringImplCF.cpp: 45757 (WebCore::StringWrapperCFAllocator::preferredSize): 45758 45759 2009-01-30 Darin Adler <darin (a] apple.com> 45760 45761 Reviewed by Mark Rowe. 45762 45763 Bug 23622: create CFString and NSString objects from WebCore::String without copying the characters 45764 https://bugs.webkit.org/show_bug.cgi?id=23622 45765 45766 * platform/text/cf/StringImplCF.cpp: 45767 (WebCore::StringWrapperCFAllocator::allocator): Added. Returns the allocator. 45768 (WebCore::StringWrapperCFAllocator::retain): Added. Callback for allocator. 45769 (WebCore::StringWrapperCFAllocator::release): Ditto. 45770 (WebCore::StringWrapperCFAllocator::copyDescription): Ditto. 45771 (WebCore::StringWrapperCFAllocator::allocate): Ditto. 45772 (WebCore::StringWrapperCFAllocator::reallocate): Ditto. 45773 (WebCore::StringWrapperCFAllocator::deallocate): Ditto. 45774 (WebCore::StringWrapperCFAllocator::preferredSize): Ditto. 45775 (WebCore::StringWrapperCFAllocator::create): Added. Creates the allocator, but 45776 returns 0 if garbage collection is enabled. 45777 (WebCore::StringImpl::createCFString): Use StringWrapperCFAllocator if possible. 45778 45779 * platform/text/mac/StringImplMac.mm: 45780 (WebCore::StringImpl::operator NSString *): Use CFString and toll-free bridging, 45781 rather than using NSString directly. This lets NSString benefit from the above. 45782 45783 2009-01-30 Darin Adler <darin (a] apple.com> 45784 45785 * page/Frame.cpp: 45786 (WebCore::Frame::createView): Fix debug build by removing get() from assert. 45787 45788 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 45789 45790 Reviewed by Simon Hausmann. 45791 45792 https://bugs.webkit.org/show_bug.cgi?id=22056 45793 45794 Kill FrameLoaderClient.cpp, move the code over to Frame::createView 45795 45796 FrameLoaderClient is supposed to be an interface, move the 45797 to be shared code to Frame which is a controller and is 45798 allowed to create a FrameView. 45799 45800 * GNUmakefile.am: 45801 * WebCore.base.exp: 45802 * WebCore.pro: 45803 * WebCore.xcodeproj/project.pbxproj: 45804 * loader/FrameLoaderClient.cpp: Removed. 45805 * loader/FrameLoaderClient.h: 45806 (WebCore::FrameLoaderClient::~FrameLoaderClient): 45807 * page/Frame.cpp: 45808 (WebCore::Frame::createView): 45809 * page/Frame.h: 45810 45811 2009-01-30 Simon Fraser <simon.fraser (a] apple.com> 45812 45813 Reviewed by Dave Hyatt 45814 45815 https://bugs.webkit.org/show_bug.cgi?id=23357 45816 45817 New files to support accelerated compositing at the RenderLayer 45818 level. 45819 45820 * WebCore.xcodeproj/project.pbxproj: 45821 New files added to project, and run through the sort script. 45822 45823 * rendering/RenderLayerBacking.cpp: Added. 45824 * rendering/RenderLayerBacking.h: Added. 45825 New object to store compositing-related data for a single 45826 RenderLayer. 45827 45828 * rendering/RenderLayerCompositor.cpp: Added. 45829 * rendering/RenderLayerCompositor.h: Added. 45830 Per-RenderView controller object for compositing hierarchy 45831 maintenance. 45832 45833 2009-01-30 Simon Fraser <simon.fraser (a] apple.com> 45834 45835 Reviewed by Dave Hyatt 45836 45837 https://bugs.webkit.org/show_bug.cgi?id=23356 45838 45839 Add new files related to accelerated compositing: 45840 45841 * WebCore.xcodeproj/project.pbxproj: 45842 Add the files to the project. Also add ColorCG.cpp, for the 45843 Color(CGColorRef) constructor. 45844 45845 * platform/graphics/GraphicsLayer.cpp: Added. 45846 * platform/graphics/GraphicsLayer.h: Added. 45847 GraphicsLayer is a platform abstraction for a hardware-backed 45848 layer. 45849 45850 * platform/graphics/GraphicsLayerClient.h: Added. 45851 Client of GraphicsLayer, allowing GraphicsLayer to call out 45852 to WebCore code. 45853 45854 * platform/graphics/mac/GraphicsLayerCA.h: Added. 45855 * platform/graphics/mac/GraphicsLayerCA.mm: Added. 45856 Mac Core Animation implementation of GraphicsLayer. 45857 45858 * platform/graphics/mac/WebLayer.h: Added. 45859 * platform/graphics/mac/WebLayer.mm: Added. 45860 * platform/graphics/mac/WebTiledLayer.h: Added. 45861 * platform/graphics/mac/WebTiledLayer.mm: Added. 45862 Subclasses of CALayer and CATiledLayer -- helpers for the 45863 GraphicsLayerCA implementation. 45864 45865 2009-01-30 Geoffrey Garen <ggaren (a] apple.com> 45866 45867 Reviewed by Sam Weinig. 45868 45869 Split "lockHistory" into "lockHistory" and "lockBackForwardList" in 45870 preparation for setting them differently during a redirect. 45871 45872 * WebCore.base.exp: 45873 * bindings/js/JSHTMLFormElementCustom.cpp: 45874 (WebCore::JSHTMLFormElement::submit): 45875 * bindings/js/JSLocationCustom.cpp: 45876 (WebCore::navigateIfAllowed): 45877 (WebCore::JSLocation::setHref): 45878 (WebCore::JSLocation::setProtocol): 45879 (WebCore::JSLocation::setHost): 45880 (WebCore::JSLocation::setHostname): 45881 (WebCore::JSLocation::setPort): 45882 (WebCore::JSLocation::setPathname): 45883 (WebCore::JSLocation::setSearch): 45884 (WebCore::JSLocation::setHash): 45885 (WebCore::JSLocation::replace): 45886 (WebCore::JSLocation::assign): 45887 * html/HTMLAnchorElement.cpp: 45888 (WebCore::HTMLAnchorElement::defaultEventHandler): 45889 * html/HTMLFormElement.cpp: 45890 (WebCore::HTMLFormElement::submit): 45891 * html/HTMLFormElement.h: 45892 * loader/FrameLoader.cpp: 45893 (WebCore::FormSubmission::FormSubmission): 45894 (WebCore::ScheduledRedirection::ScheduledRedirection): 45895 (WebCore::isBackForwardLoadType): 45896 (WebCore::FrameLoader::createWindow): 45897 (WebCore::FrameLoader::changeLocation): 45898 (WebCore::FrameLoader::urlSelected): 45899 (WebCore::FrameLoader::submitFormAgain): 45900 (WebCore::FrameLoader::submitForm): 45901 (WebCore::FrameLoader::restoreDocumentState): 45902 (WebCore::FrameLoader::scheduleHTTPRedirection): 45903 (WebCore::FrameLoader::scheduleLocationChange): 45904 (WebCore::FrameLoader::scheduleRefresh): 45905 (WebCore::FrameLoader::redirectionTimerFired): 45906 (WebCore::FrameLoader::loadURLIntoChildFrame): 45907 (WebCore::FrameLoader::startRedirectionTimer): 45908 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): 45909 (WebCore::FrameLoader::transitionToCommitted): 45910 (WebCore::FrameLoader::clientRedirected): 45911 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 45912 (WebCore::FrameLoader::loadItem): 45913 * loader/FrameLoader.h: 45914 * loader/FrameLoaderTypes.h: 45915 (WebCore::): 45916 * page/ContextMenuController.cpp: 45917 (WebCore::ContextMenuController::contextMenuItemSelected): 45918 * svg/SVGAElement.cpp: 45919 (WebCore::SVGAElement::defaultEventHandler): 45920 45921 2009-01-30 Sam Weinig <sam (a] webkit.org> 45922 45923 Reviewed by Dan Bernstein. 45924 45925 Fix for <rdar://problem/6545095> 45926 ASSERTION FAILED: RenderBlock.h:519: !o || o->isRenderBlock() 45927 45928 Test: fast/block/float/crash-replaced-display-block.html 45929 45930 * rendering/RenderBlock.cpp: 45931 (WebCore::RenderBlock::layoutBlockChildren): Move RenderBlock only code into 45932 isRenderBlock if-statement. 45933 45934 2009-01-30 Chris Fleizach <cfleizach (a] apple.com> 45935 45936 Reviewed by Oliver Hunt. 45937 45938 Bug 23656: AX hierarchy for iFrames is incorrect 45939 https://bugs.webkit.org/show_bug.cgi?id=23656 45940 45941 The AX hierarchy when an iFrame was present was incorrect. A different scroll area was 45942 returned when going down compared to when going up. 45943 45944 * page/mac/AccessibilityObjectWrapper.mm: 45945 (convertToNSArray): 45946 45947 2009-01-30 Adam Treat <adam.treat (a] torchmobile.com> 45948 45949 Fix Qt build to include new class IdentifierRep introduced in revision 40412. 45950 45951 * WebCore.pro: 45952 45953 2009-01-30 Anders Carlsson <andersca (a] apple.com> 45954 45955 Reviewed by Sam Weinig. 45956 45957 Make IdentifierRep.h a private header, and add symbols needed by WebKit to WebCore.LP64.exp. 45958 45959 * WebCore.LP64.exp: 45960 * WebCore.xcodeproj/project.pbxproj: 45961 45962 2009-01-30 Sam Weinig <sam (a] webkit.org> 45963 45964 Commit files I forgot to in the previous commit. 45965 45966 * page/AccessibilityRenderObject.cpp: 45967 (WebCore::AccessibilityRenderObject::layoutCount): 45968 * page/Frame.cpp: 45969 (WebCore::Frame::contentRenderer): 45970 (WebCore::Frame::forceLayoutWithPageWidthRange): 45971 * page/FrameView.cpp: 45972 (WebCore::FrameView::layout): 45973 * rendering/RenderBlock.cpp: 45974 (WebCore::RenderBlock::nodeAtPoint): 45975 * rendering/RenderObject.cpp: 45976 (WebCore::RenderObject::repaintUsingContainer): 45977 (WebCore::RenderObject::repaint): 45978 (WebCore::RenderObject::repaintRectangle): 45979 (WebCore::RenderObject::view): 45980 (WebCore::RenderObject::scheduleRelayout): 45981 (WebCore::RenderObject::maximalOutlineSize): 45982 * rendering/SVGRenderSupport.cpp: 45983 (WebCore::clampImageBufferSizeToViewport): 45984 * svg/SVGLength.cpp: 45985 (WebCore::SVGLength::PercentageOfViewport): 45986 45987 2009-01-30 Geoffrey Garen <ggaren (a] apple.com> 45988 45989 Reviewed by Darin Adler. 45990 45991 More scaffolding for redirect tracking. No behavior change yet. 45992 45993 * bindings/js/JSHTMLFormElementCustom.cpp: 45994 (WebCore::JSHTMLFormElement::submit): Added scaffolding necessary for 45995 redirect checking in a form submission through JS. (Currently, we 45996 just specify "no redirect.") 45997 45998 * bindings/js/ScriptController.h: 45999 * bindings/js/ScriptController.cpp: 46000 (WebCore::ScriptController::processingUserGesture): 46001 (WebCore::ScriptController::processingUserGestureEvent): 46002 (WebCore::ScriptController::isJavaScriptAnchorNavigation): Refactored 46003 user gesture check to make it more clear. 46004 46005 (WebCore::ScriptController::pageIsProcessingUserGesture): Added a helper 46006 for checking if there's a user gesture in any frame on the page (a more 46007 relaxed rule than our popup blocking rule, which requires the user 46008 gesture to occur in the frame that's executing JavaScript.) 46009 46010 * html/HTMLFormElement.h: 46011 * html/HTMLFormElement.cpp: 46012 (WebCore::HTMLFormElement::submit): Added scaffolding necessary for 46013 redirect checking in a form submission through the DOM. (Currently, we 46014 just specify "no redirect.") 46015 46016 * html/HTMLFormElement.idl: Made submit custom so it can participate 46017 in redirect checking. 46018 46019 * loader/FrameLoader.h: 46020 * loader/FrameLoader.cpp: 46021 (WebCore::FormSubmission::FormSubmission): Clarified some names, and 46022 added a "lockHistory" parameter to form submissions, to match other 46023 navigations. 46024 46025 (WebCore::FrameLoader::submitFormAgain): 46026 (WebCore::FrameLoader::submitForm): Use the lockHistory parameter. 46027 46028 (WebCore::FrameLoader::userGestureHint): Refactored this function for 46029 clarity, and added a FIXME for a change I was too scared to make myself. 46030 (Really, we should just get rid of this function.) 46031 46032 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Refactored 46033 to pass a FrameLoadType to form posts, too, so they can participate in 46034 redirect tracking. 46035 46036 (WebCore::FrameLoader::loadPostRequest): 46037 (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy): 46038 (WebCore::FrameLoader::loadItem): Use the lockHistory parameter. 46039 46040 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 46041 46042 Reviewed by Mark Rowe. 46043 46044 [Gtk+] Use AccessibilityObject::stringValue for the AtkObject name 46045 46046 https://bugs.webkit.org/show_bug.cgi?id=21546 46047 46048 The API documentation at http://library.gnome.org/devel/atk/stable/AtkText.html 46049 states that: "AtkObjects whose text content is simple, unattributed, and very 46050 brief may expose that content via atk_object_get_name instead" 46051 46052 As we are currently not able to always provide a AtkTextInterface 46053 implementation this will make the whole content available to accerciser, 46054 and other tools. 46055 46056 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 46057 46058 2009-01-30 Holger Hans Peter Freyther <zecke (a] selfish.org> 46059 46060 Unreviewed build fix. 46061 46062 Include string.h for strdup. 46063 46064 * bridge/IdentifierRep.h: 46065 46066 2009-01-30 Sam Weinig <sam (a] webkit.org> 46067 46068 Reviewed by Dan Bernstein. 46069 46070 Add toRenderView methods for casting RenderObjects to RenderViews. The methods will assert if the object 46071 is not a RenderView. 46072 46073 * dom/Document.cpp: 46074 (WebCore::Document::renderView): 46075 * editing/SelectionController.cpp: 46076 (WebCore::SelectionController::nodeWillBeRemoved): 46077 (WebCore::SelectionController::recomputeCaretRect): 46078 (WebCore::SelectionController::invalidateCaretRect): 46079 (WebCore::SelectionController::focusedOrActiveStateChanged): 46080 * editing/mac/SelectionControllerMac.mm: 46081 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 46082 * rendering/RenderBox.cpp: 46083 (WebCore::RenderBox::styleDidChange): 46084 (WebCore::RenderBox::repaintLayerRectsForImage): 46085 (WebCore::RenderBox::availableHeightUsing): 46086 * rendering/RenderView.h: 46087 (WebCore::toRenderView): 46088 46089 2009-01-30 Simon Fraser <simon.fraser (a] apple.com> 46090 46091 Reviewed by Dave Hyatt 46092 46093 https://bugs.webkit.org/show_bug.cgi?id=23360 46094 46095 Really use the container-relative repaint rect methods 46096 for repaint during layout 46097 46098 * rendering/RenderObject.h: 46099 (WebCore::RenderObject::LayoutRepainter::LayoutRepainter): 46100 46101 2009-01-30 Anders Carlsson <andersca (a] apple.com> 46102 46103 Reviewed by Darin Adler. 46104 46105 Get rid of PrivateIdentifier and use IdentifierRep instead. 46106 46107 * bridge/NP_jsobject.cpp: 46108 (_NPN_Invoke): 46109 (_NPN_GetProperty): 46110 (_NPN_SetProperty): 46111 (_NPN_RemoveProperty): 46112 (_NPN_HasProperty): 46113 (_NPN_HasMethod): 46114 * bridge/c/c_instance.cpp: 46115 (JSC::Bindings::CInstance::getPropertyNames): 46116 * bridge/c/c_utility.cpp: 46117 (JSC::Bindings::convertNPStringToUTF16): 46118 * bridge/c/c_utility.h: 46119 * bridge/npruntime.cpp: 46120 (_NPN_GetStringIdentifier): 46121 (_NPN_GetStringIdentifiers): 46122 (_NPN_GetIntIdentifier): 46123 (_NPN_IdentifierIsString): 46124 (_NPN_UTF8FromIdentifier): 46125 (_NPN_IntFromIdentifier): 46126 46127 2009-01-30 Anders Carlsson <andersca (a] apple.com> 46128 46129 Reviewed by Sam Weinig and Darin Adler. 46130 46131 Make IdentifierRep a real class, add necessary class methods. 46132 46133 * bridge/IdentifierRep.cpp: 46134 (WebCore::identifierSet): 46135 Returns a set of all identifiers. 46136 46137 (WebCore::IdentifierRep::isValid): 46138 Return whether an identifier is valid, meaning that it's present in the 46139 set of identifiers. 46140 46141 * bridge/IdentifierRep.h: 46142 (WebCore::IdentifierRep::isString): 46143 (WebCore::IdentifierRep::number): 46144 (WebCore::IdentifierRep::string): 46145 (WebCore::IdentifierRep::IdentifierRep): 46146 (WebCore::IdentifierRep::): 46147 46148 2009-01-30 Anders Carlsson <andersca (a] apple.com> 46149 46150 Reviewed by Sam Weinig. 46151 46152 Add IdentifierRep which will be used by both plug-in implementations. 46153 46154 * GNUmakefile.am: 46155 * WebCore.vcproj/WebCore.vcproj: 46156 * WebCore.xcodeproj/project.pbxproj: 46157 * bridge/IdentifierRep.cpp: Added. 46158 (WebCore::IdentifierRep::IdentifierRep): 46159 (WebCore::IdentifierRep::): 46160 (WebCore::intIdentifierMap): 46161 (WebCore::identifierRep): 46162 (WebCore::stringIdentifierMap): 46163 * bridge/IdentifierRep.h: Added. 46164 * bridge/c/c_utility.h: 46165 * platform/text/PlatformString.h: 46166 * platform/text/String.cpp: 46167 (WebCore::String::fromUTF8WithLatin1Fallback): 46168 46169 2009-01-30 Sam Weinig <sam (a] webkit.org> 46170 46171 Reviewed by David Hyatt. 46172 46173 Add toRenderInline methods for casting RenderObjects to RenderInlines. The methods will assert if the object 46174 is not a RenderInline. 46175 46176 * rendering/InlineFlowBox.cpp: 46177 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): 46178 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): 46179 (WebCore::InlineFlowBox::attachLineBoxToRenderObject): 46180 (WebCore::InlineFlowBox::rendererLineBoxes): 46181 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 46182 (WebCore::InlineFlowBox::paint): 46183 * rendering/LayoutState.cpp: 46184 (WebCore::LayoutState::LayoutState): 46185 * rendering/RenderBlock.cpp: 46186 (WebCore::RenderBlock::paintObject): 46187 (WebCore::RenderBlock::addFocusRingRects): 46188 * rendering/RenderBox.cpp: 46189 (WebCore::RenderBox::offsetFromContainer): 46190 (WebCore::RenderBox::computeRectForRepaint): 46191 (WebCore::RenderBox::containingBlockWidthForPositioned): 46192 (WebCore::RenderBox::containingBlockHeightForPositioned): 46193 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 46194 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 46195 * rendering/RenderContainer.cpp: 46196 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 46197 * rendering/RenderInline.cpp: 46198 (WebCore::RenderInline::inlineContinuation): 46199 (WebCore::nextContinuation): 46200 (WebCore::RenderInline::splitInlines): 46201 * rendering/RenderInline.h: 46202 (WebCore::toRenderInline): 46203 * rendering/RenderLayer.cpp: 46204 (WebCore::RenderLayer::updateLayerPosition): 46205 (WebCore::RenderLayer::boundingBox): 46206 * rendering/RenderLineBoxList.cpp: 46207 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 46208 * rendering/RenderText.h: 46209 * rendering/RenderTreeAsText.cpp: 46210 (WebCore::operator<<): 46211 * rendering/bidi.cpp: 46212 (WebCore::RenderBlock::createLineBoxes): 46213 (WebCore::RenderBlock::layoutInlineChildren): 46214 46215 2009-01-30 Darin Fisher <darin (a] chromium.org> 46216 46217 Reviewed by Eric Seidel. 46218 46219 https://bugs.webkit.org/show_bug.cgi?id=23647 46220 Fix PLATFORM(SKIA)'s ImageSource::clear method to match other ports 46221 46222 * platform/graphics/skia/ImageSourceSkia.cpp: 46223 (WebCore::ImageSource::clear): 46224 46225 2009-01-30 David Hyatt <hyatt (a] apple.com> 46226 46227 Add toRenderBlock methods for casting RenderObjects to RenderBlocks. The methods will assert if the object 46228 is not a RenderBlock. Also add a toRenderBlock method that takes a RenderBlock but returns void and that 46229 is unimplemented. This method will catch anyone trying to do a cast when the object is already a RenderBlock. 46230 46231 Making this change caught a bad cast in RenderBlock::layoutBlockChildren, so that is also fixed by this 46232 patch with a containsFloats() check. 46233 46234 Reviewed by Darin Adler 46235 46236 * dom/PositionIterator.cpp: 46237 (WebCore::PositionIterator::isCandidate): 46238 * editing/CompositeEditCommand.cpp: 46239 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): 46240 * editing/Editor.cpp: 46241 (WebCore::Editor::hasBidiSelection): 46242 * page/AccessibilityRenderObject.cpp: 46243 (WebCore::AccessibilityRenderObject::anchorElement): 46244 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 46245 * rendering/RenderBlock.cpp: 46246 (WebCore::RenderBlock::styleWillChange): 46247 (WebCore::RenderBlock::removeChild): 46248 (WebCore::RenderBlock::layoutBlock): 46249 (WebCore::RenderBlock::collapseMargins): 46250 (WebCore::RenderBlock::clearFloatsIfNeeded): 46251 (WebCore::RenderBlock::layoutBlockChildren): 46252 (WebCore::RenderBlock::fillBlockSelectionGaps): 46253 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 46254 (WebCore::RenderBlock::firstLineBlock): 46255 (WebCore::getLineAtIndex): 46256 (WebCore::getHeightForLineCount): 46257 (WebCore::RenderBlock::lineCount): 46258 (WebCore::RenderBlock::adjustForBorderFit): 46259 (WebCore::RenderBlock::clearTruncation): 46260 * rendering/RenderBlock.h: 46261 (WebCore::toRenderBlock): 46262 * rendering/RenderBox.cpp: 46263 (WebCore::RenderBox::offsetFromContainer): 46264 (WebCore::RenderBox::computeRectForRepaint): 46265 (WebCore::RenderBox::calcReplacedHeightUsing): 46266 * rendering/RenderFlexibleBox.cpp: 46267 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 46268 (WebCore::RenderFlexibleBox::layoutVerticalBox): 46269 * rendering/RenderInline.cpp: 46270 (WebCore::RenderInline::inlineContinuation): 46271 (WebCore::nextContinuation): 46272 (WebCore::RenderInline::positionForCoordinates): 46273 * rendering/RenderLayer.cpp: 46274 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 46275 * rendering/RenderListItem.cpp: 46276 (WebCore::getParentOfFirstLineBox): 46277 (WebCore::RenderListItem::positionListMarker): 46278 * rendering/RenderObject.cpp: 46279 (WebCore::RenderObject::containingBlock): 46280 (WebCore::RenderObject::computeRectForRepaint): 46281 (WebCore::RenderObject::removeFromObjectLists): 46282 (WebCore::RenderObject::getTextDecorationColors): 46283 * rendering/RenderTable.cpp: 46284 (WebCore::RenderTable::addChild): 46285 (WebCore::RenderTable::recalcSections): 46286 * rendering/RenderTextControl.cpp: 46287 (WebCore::RenderTextControl::styleDidChange): 46288 * rendering/RenderTextControlSingleLine.cpp: 46289 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): 46290 * rendering/RootInlineBox.cpp: 46291 (WebCore::RootInlineBox::block): 46292 * rendering/bidi.cpp: 46293 (WebCore::RenderBlock::createLineBoxes): 46294 46295 2009-01-30 Brady Eidson <beidson (a] apple.com> 46296 46297 Reviewed by Sam Weinig 46298 46299 - Let CachedFrame handle the suspending/resuming of active DOM objects itself instead of 46300 relying on some outside force. 46301 - Clear the previous history item inside FrameLoader instead of relying on multiple 46302 FrameLoaderClients to do it. 46303 46304 * history/CachedFrame.cpp: 46305 (WebCore::CachedFrame::CachedFrame): Suspend active DOM objects here. 46306 (WebCore::CachedFrame::restore): Resume those DOM objects here. 46307 * history/CachedFrame.h: 46308 (WebCore::CachedFrame::domWindow): 46309 46310 * loader/FrameLoader.cpp: 46311 (WebCore::FrameLoader::commitProvisionalLoad): Let CachedFrame creation handle the 46312 suspending of active DOM objects. 46313 (WebCore::FrameLoader::open): Let CachedFrame::restore() handle resuming those DOM objects. 46314 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Call frameLoadCompleted() instead 46315 of performing a client call by itself. 46316 (WebCore::FrameLoader::frameLoadCompleted): 46317 46318 2009-01-30 Alexey Proskuryakov <ap (a] webkit.org> 46319 46320 Reviewed by Darin Adler. 46321 46322 <rdar://problem/6448823> Application Cache is kept after a private browsing session 46323 46324 * loader/appcache/ApplicationCacheGroup.cpp: 46325 (WebCore::ApplicationCacheGroup::selectCache): 46326 (WebCore::ApplicationCacheGroup::update): 46327 Cache update will not be started if private browsing is enabled. Existing cache version 46328 from disk database will be used. 46329 46330 * loader/appcache/ApplicationCacheGroup.h: Made postListenerTask() static, in order to call 46331 it when refusing to update from selectCache(). 46332 46333 * loader/appcache/ApplicationCache.cpp: 46334 (WebCore::ApplicationCache::addDynamicEntry): 46335 (WebCore::ApplicationCache::removeDynamicEntry): 46336 Added reminders about private browsing to unimplemented methods. 46337 46338 2009-01-30 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 46339 46340 Reviewed by Simon Hausmann. 46341 46342 Bug 23580: GNU mode RVCT compilation support 46343 <https://bugs.webkit.org/show_bug.cgi?id=23580> 46344 46345 * html/PreloadScanner.cpp: Use COMPILER(GCC) instead of __GNUC__. 46346 46347 2009-01-30 David Levin <levin (a] chromium.org> 46348 46349 Reviewed by Alexey Proskuryakov. 46350 46351 Bug 23616: Various "template helpers" should be consolidated from isolated files in JavaScriptCore. 46352 <https://bugs.webkit.org/show_bug.cgi?id=23616> 46353 46354 Added forwarding header. 46355 46356 * ForwardingHeaders/wtf/TypeTraits.h: Added. 46357 46358 2009-01-30 David Levin <levin (a] chromium.org> 46359 46360 Reviewed by Alexey Proskuryakov. 46361 46362 Bug 23599: ResourceError needs to be copyable for use in another thread. 46363 <https://bugs.webkit.org/show_bug.cgi?id=23599> 46364 46365 Add ResourceErrorBase::copy method. (Not yet used.) 46366 46367 * platform/network/ResourceErrorBase.cpp: 46368 (WebCore::ResourceErrorBase::copy): 46369 * platform/network/ResourceErrorBase.h: 46370 46371 2009-01-29 Stephanie Lewis <slewis (a] apple.com> 46372 46373 RS by Oliver Hunt. 46374 46375 Update the order files. 46376 46377 * WebCore.order: 46378 46379 2009-01-29 Dmitry Titov <dimich (a] chromium.org> 46380 46381 Reviewed by Darin Adler. 46382 46383 https://bugs.webkit.org/show_bug.cgi?id=23488 46384 46385 Make TimerBase thread-aware (for Workers). 46386 Added new class ThreadTimers - it keeps a heap of all timers for a thread (previously kept in a static global). 46387 Pointer to instance of ThreadTimers is stored in GlobalThreadData. 46388 Most static methods of TimerBase went to ThreadTimers. 46389 46390 The TimerBase functionality did not change (it maintains the timer heap which computes the nearest firing). 46391 46392 Added new abstract class SharedTimer, so worker threads can provide their own implementation (will be implemented on WorkerRunLoop). 46393 46394 * GNUmakefile.am: 46395 * WebCore.pro: 46396 * WebCore.scons: 46397 * WebCore.vcproj/WebCore.vcproj: 46398 * WebCore.xcodeproj/project.pbxproj: 46399 * WebCoreSources.bkl: 46400 Added new ThreadTimers.cpp to build files. 46401 46402 * platform/SharedTimer.h: 46403 (WebCore::SharedTimer::~SharedTimer): 46404 (WebCore::MainThreadSharedTimer::setFiredFunction): 46405 (WebCore::MainThreadSharedTimer::setFireTime): 46406 (WebCore::MainThreadSharedTimer::stop): 46407 Added abstract SharedTimer and MainThreadSharedTimer which redirects to the existing port-supplied functions. 46408 46409 * platform/ThreadGlobalData.cpp: 46410 (WebCore::ThreadGlobalData::ThreadGlobalData): 46411 (WebCore::ThreadGlobalData::~ThreadGlobalData): 46412 * platform/ThreadGlobalData.h: 46413 (WebCore::ThreadGlobalData::threadTimers): 46414 Added ThreadTimers to ThreadGlobalData. 46415 46416 * platform/ThreadTimers.cpp: Added. 46417 (WebCore::mainThreadSharedTimer): 46418 Static getter for a MainThreadSharedTimer singleton. 46419 46420 (WebCore::ThreadTimers::ThreadTimers): 46421 (WebCore::ThreadTimers::setSharedTimer): 46422 (WebCore::ThreadTimers::updateSharedTimer): 46423 (WebCore::ThreadTimers::collectFiringTimers): 46424 (WebCore::ThreadTimers::fireTimers): 46425 (WebCore::ThreadTimers::sharedTimerFired): 46426 (WebCore::ThreadTimers::sharedTimerFiredInternal): 46427 (WebCore::ThreadTimers::fireTimersInNestedEventLoop): 46428 ThreadTimers implementation. Most of the code is moved from previous static functions on TimerBase. 46429 Need a new class so each thread may get ts own copy of the timer heap. 46430 46431 * platform/ThreadTimers.h: Added. 46432 (WebCore::ThreadTimers::timerHeap): 46433 (WebCore::ThreadTimers::timersReadyToFire): 46434 46435 * platform/Timer.cpp: 46436 (WebCore::timerHeap): 46437 (WebCore::timersReadyToFire): 46438 (WebCore::TimerHeapElement::TimerHeapElement): 46439 (WebCore::TimerHeapElement::checkConsistency): 46440 (WebCore::TimerHeapElement::operator=): 46441 (WebCore::TimerHeapIterator::checkConsistency): 46442 (WebCore::TimerBase::TimerBase): 46443 (WebCore::TimerBase::~TimerBase): 46444 (WebCore::TimerBase::isActive): 46445 (WebCore::TimerBase::checkHeapIndex): 46446 (WebCore::TimerBase::heapDelete): 46447 (WebCore::TimerBase::heapDeleteMin): 46448 (WebCore::TimerBase::heapInsert): 46449 (WebCore::TimerBase::heapPopMin): 46450 (WebCore::TimerBase::setNextFireTime): 46451 (WebCore::TimerBase::fireTimersInNestedEventLoop): 46452 Now instead of static timer heap these use accessor functions that pull thread-specific heap instance. 46453 46454 * platform/Timer.h: 46455 static methods moved to ThreadTimers. 46456 46457 2009-01-29 David Hyatt <hyatt (a] apple.com> 46458 46459 Beginning of work to eliminate RenderContainer and make containership "pluggable" into any spot in the render tree. The first step is to create 46460 the new object that will handle children: RenderObjectChildList and move RenderContainer's member variables into it. Subsequent patches will begin 46461 moving RenderContainer's functionality into RenderObjectChildList. 46462 46463 Reviewed by Eric Seidel 46464 46465 * WebCore.xcodeproj/project.pbxproj: 46466 * rendering/RenderContainer.cpp: 46467 (WebCore::RenderContainer::RenderContainer): 46468 (WebCore::RenderContainer::destroyLeftoverChildren): 46469 (WebCore::RenderContainer::addChild): 46470 (WebCore::RenderContainer::removeChildNode): 46471 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 46472 (WebCore::RenderContainer::appendChildNode): 46473 (WebCore::RenderContainer::insertChildNode): 46474 (WebCore::RenderContainer::layout): 46475 (WebCore::RenderContainer::removeLeftoverAnonymousBlock): 46476 (WebCore::RenderContainer::positionForCoordinates): 46477 (WebCore::RenderContainer::addLineBoxRects): 46478 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads): 46479 * rendering/RenderContainer.h: 46480 (WebCore::RenderContainer::firstChild): 46481 (WebCore::RenderContainer::lastChild): 46482 (WebCore::RenderContainer::firstChildBox): 46483 (WebCore::RenderContainer::lastChildBox): 46484 * rendering/RenderObjectChildList.h: Added. 46485 (WebCore::RenderObjectChildList::RenderObjectChildList): 46486 (WebCore::RenderObjectChildList::firstChild): 46487 (WebCore::RenderObjectChildList::lastChild): 46488 (WebCore::RenderObjectChildList::setFirstChild): 46489 (WebCore::RenderObjectChildList::setLastChild): 46490 46491 2009-01-29 Jungshik Shin <jshin (a] chromium.org> 46492 46493 Reviewed by Alexey Proskuryakov. 46494 46495 http://bugs.webkit.org/show_bug.cgi?id=23598 46496 Replace smart-quotes in UTF-8 with ASCII double-quotes to avoid 46497 the compilation error on CJK Windows 46498 46499 * wml/WMLTableElement.cpp: 46500 (WebCore::WMLTableElement::parseMappedAttribute): 46501 46502 2009-01-29 Darin Fisher <darin (a] chromium.org> 46503 46504 Reviewed by Eric Seidel. 46505 46506 https://bugs.webkit.org/show_bug.cgi?id=23627 46507 Fix the PLATFORM(SKIA) build. 46508 46509 * svg/graphics/SVGPaintServer.cpp: 46510 (WebCore::SVGPaintServer::teardown): 46511 46512 2009-01-29 Scott Violet <sky (a] google.com> 46513 46514 Reviewed by Eric Seidel. 46515 46516 https://bugs.webkit.org/show_bug.cgi?id=23625 46517 Skia platform doesn't render text to a canvas or support clipping to an image buffer 46518 46519 Fixes two bugs in Skia rendering to a canvas: 46520 . Text was not rendered at all. This is because we never properly 46521 fixed up the alpha values. The fix is to create a layer when 46522 rendering text to a layer. 46523 . We were not honoring clipping to an image buffer. 46524 46525 * platform/graphics/chromium/FontChromiumWin.cpp: 46526 (WebCore::Font::drawGlyphs): 46527 * platform/graphics/skia/GraphicsContextSkia.cpp: 46528 (WebCore::GraphicsContext::clipToImageBuffer): 46529 * platform/graphics/skia/ImageBufferSkia.cpp: 46530 (WebCore::ImageBuffer::ImageBuffer): 46531 * platform/graphics/skia/PlatformContextSkia.cpp: 46532 (PlatformContextSkia::PlatformContextSkia): 46533 (PlatformContextSkia::setDrawingToImageBuffer): 46534 (PlatformContextSkia::isDrawingToImageBuffer): 46535 (PlatformContextSkia::beginLayerClippedToImage): 46536 (PlatformContextSkia::restore): 46537 (PlatformContextSkia::applyClipFromImage): 46538 * platform/graphics/skia/PlatformContextSkia.h: 46539 46540 2009-01-29 Sam Weinig <sam (a] webkit.org> 46541 46542 Reviewed by Mark Rowe. 46543 46544 First step in tracking the urls a HistoryItem was redirected through. 46545 46546 * WebCore.base.exp: 46547 * history/HistoryItem.cpp: 46548 (WebCore::HistoryItem::HistoryItem): 46549 (WebCore::HistoryItem::addRedirectURL): 46550 (WebCore::HistoryItem::redirectURLs): 46551 (WebCore::HistoryItem::setRedirectURLs): 46552 * history/HistoryItem.h: 46553 46554 2009-01-29 Dirk Schulze <krit (a] webkit.org> 46555 46556 Reviewed by Nikolas Zimmermann, Eric Seidel. 46557 46558 Just transform the pattern directly instead of transforming the context fixes this 46559 problem. Texts or strokes are no longer affected by transformations. 46560 46561 SVG pattern transformation/BoundingBox can cause ugly stroke thickness or text positions 46562 https://bugs.webkit.org/show_bug.cgi?id=23472 46563 46564 Test: svg/custom/pattern-with-transformation.svg 46565 46566 * platform/graphics/Pattern.h: 46567 (WebCore::Pattern::setPatternSpaceTransform): 46568 * platform/graphics/cairo/PatternCairo.cpp: 46569 (WebCore::Pattern::createPlatformPattern): 46570 * platform/graphics/cg/PatternCG.cpp: 46571 (WebCore::Pattern::createPlatformPattern): 46572 * platform/graphics/qt/PatternQt.cpp: 46573 (WebCore::Pattern::createPlatformPattern): 46574 * svg/graphics/SVGPaintServerPattern.cpp: 46575 (WebCore::SVGPaintServerPattern::setup): 46576 46577 2009-01-29 David Hyatt <hyatt (a] apple.com> 46578 46579 Move the line box list member out of RenderFlow and down into RenderBlock and RenderInline. Eliminate RenderFlow from the tree. 46580 46581 Reviewed by Sam Weinig 46582 46583 * GNUmakefile.am: 46584 * WebCore.pro: 46585 * WebCore.vcproj/WebCore.vcproj: 46586 * WebCore.xcodeproj/project.pbxproj: 46587 * WebCoreSources.bkl: 46588 * html/HTMLAnchorElement.cpp: 46589 * rendering/InlineFlowBox.cpp: 46590 (WebCore::InlineFlowBox::rendererLineBoxes): 46591 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 46592 * rendering/InlineFlowBox.h: 46593 * rendering/LayoutState.cpp: 46594 (WebCore::LayoutState::LayoutState): 46595 * rendering/RenderBlock.cpp: 46596 (WebCore::RenderBlock::RenderBlock): 46597 (WebCore::RenderBlock::destroy): 46598 (WebCore::RenderBlock::styleWillChange): 46599 (WebCore::RenderBlock::styleDidChange): 46600 (WebCore::RenderBlock::dirtyLineBoxes): 46601 (WebCore::RenderBlock::removeChild): 46602 (WebCore::RenderBlock::setSelectionState): 46603 (WebCore::RenderBlock::avoidsFloats): 46604 (WebCore::RenderBlock::positionForCoordinates): 46605 (WebCore::RenderBlock::calcInlinePrefWidths): 46606 (WebCore::RenderBlock::baselinePosition): 46607 (WebCore::RenderBlock::getBaselineOfFirstLineBox): 46608 (WebCore::RenderBlock::getBaselineOfLastLineBox): 46609 (WebCore::RenderBlock::rectWithOutlineForRepaint): 46610 (WebCore::RenderBlock::hoverAncestor): 46611 (WebCore::RenderBlock::updateDragState): 46612 * rendering/RenderBlock.h: 46613 (WebCore::RenderBlock::lineBoxes): 46614 (WebCore::RenderBlock::firstLineBox): 46615 (WebCore::RenderBlock::lastLineBox): 46616 * rendering/RenderBox.cpp: 46617 (WebCore::RenderBox::offsetFromContainer): 46618 (WebCore::RenderBox::computeRectForRepaint): 46619 (WebCore::RenderBox::containingBlockWidthForPositioned): 46620 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 46621 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 46622 * rendering/RenderBox.h: 46623 * rendering/RenderFlow.cpp: Removed. 46624 * rendering/RenderFlow.h: Removed. 46625 * rendering/RenderInline.cpp: 46626 (WebCore::RenderInline::RenderInline): 46627 (WebCore::RenderInline::destroy): 46628 (WebCore::RenderInline::styleDidChange): 46629 (WebCore::RenderInline::addChildIgnoringContinuation): 46630 (WebCore::RenderInline::cloneInline): 46631 (WebCore::RenderInline::splitInlines): 46632 (WebCore::RenderInline::offsetLeft): 46633 (WebCore::RenderInline::offsetTop): 46634 (WebCore::RenderInline::positionForCoordinates): 46635 (WebCore::RenderInline::rectWithOutlineForRepaint): 46636 (WebCore::RenderInline::updateDragState): 46637 (WebCore::RenderInline::relativePositionedInlineOffset): 46638 * rendering/RenderInline.h: 46639 (WebCore::RenderInline::lineBoxes): 46640 (WebCore::RenderInline::firstLineBox): 46641 (WebCore::RenderInline::lastLineBox): 46642 * rendering/RenderLayer.cpp: 46643 (WebCore::RenderLayer::updateLayerPosition): 46644 * rendering/RenderLineBoxList.cpp: 46645 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 46646 * rendering/RootInlineBox.cpp: 46647 (WebCore::RootInlineBox::rendererLineBoxes): 46648 * rendering/RootInlineBox.h: 46649 * rendering/bidi.cpp: 46650 (WebCore::RenderBlock::createLineBoxes): 46651 * wml/WMLAElement.cpp: 46652 46653 2009-01-29 Geoffrey Garen <ggaren (a] apple.com> 46654 46655 Reviewed by Oliver Hunt. 46656 46657 Cleaned up some naming in ScheduledRedirection. 46658 46659 * loader/FrameLoader.cpp: 46660 (WebCore::ScheduledRedirection::ScheduledRedirection): 46661 46662 2009-01-29 Anders Carlsson <andersca (a] apple.com> 46663 46664 Reviewed by Dan Bernstein. 46665 46666 Update to use new API. 46667 46668 * platform/graphics/mac/FontCustomPlatformData.cpp: 46669 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 46670 (WebCore::createFontCustomPlatformData): 46671 46672 2009-01-29 Alexey Proskuryakov <ap (a] webkit.org> 46673 46674 Reviewed by Nikolas Zimmermann. 46675 46676 https://bugs.webkit.org/show_bug.cgi?id=23619 46677 ASSERT(!error.isNull()) in DocumentLoader::mainReceivedError() when an SVG image load 46678 is cancelled 46679 46680 Covered by existing tests (as a random crash). 46681 46682 * loader/EmptyClients.h: 46683 (WebCore::EmptyFrameLoaderClient::cancelledError): 46684 (WebCore::EmptyFrameLoaderClient::blockedError): 46685 (WebCore::EmptyFrameLoaderClient::cannotShowURLError): 46686 (WebCore::EmptyFrameLoaderClient::interruptForPolicyChangeError): 46687 (WebCore::EmptyFrameLoaderClient::cannotShowMIMETypeError): 46688 (WebCore::EmptyFrameLoaderClient::fileDoesNotExistError): 46689 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError): 46690 Create non-null errors. 46691 46692 2009-01-29 Geoffrey Garen <ggaren (a] apple.com> 46693 46694 Reviewed by Oliver Hunt. 46695 46696 Removed an unused case of "lockHistory" to help make the other cases 46697 clearer. 46698 46699 * page/FrameLoadRequest.h: 46700 (WebCore::FrameLoadRequest::FrameLoadRequest): 46701 46702 2009-01-29 David Hyatt <hyatt (a] apple.com> 46703 46704 Move all of the contination insertion code from RenderFlow to RenderInline. addChildToFlow is renamed to addChildIgnoringContinuation, and it has been moved to 46705 RenderContainer so that it can still be called on either blocks or inlines. The base class implementation in RenderContainer is what RenderBlock uses. RenderInline 46706 subclasses it to do all the work it used to do in addChildToFlow. 46707 46708 RenderBlock's old addChildToFlow can just become addChild. This simplification is possible because addChild was actually never being called on anonymous 46709 block continuations. 46710 46711 The code dealing with anonymous table parts in the old addChildWithContinuation method can now be removed as a result with no harmful side effects. Falling through to the 46712 base class and ignoring a block continuation makes the right thing happen. 46713 46714 addChildWithContinuation moved to RenderInline and has been renamed to addChildToContinuation. 46715 46716 Reviewed by Eric Seidel 46717 46718 * rendering/RenderBlock.cpp: 46719 (WebCore::RenderBlock::addChild): 46720 * rendering/RenderBlock.h: 46721 * rendering/RenderContainer.h: 46722 (WebCore::RenderContainer::addChildIgnoringContinuation): 46723 * rendering/RenderFlow.cpp: 46724 * rendering/RenderFlow.h: 46725 * rendering/RenderInline.cpp: 46726 (WebCore::RenderInline::styleDidChange): 46727 (WebCore::RenderInline::addChild): 46728 (WebCore::nextContinuation): 46729 (WebCore::RenderInline::continuationBefore): 46730 (WebCore::RenderInline::addChildIgnoringContinuation): 46731 (WebCore::RenderInline::splitInlines): 46732 (WebCore::RenderInline::splitFlow): 46733 (WebCore::RenderInline::addChildToContinuation): 46734 (WebCore::RenderInline::childBecameNonInline): 46735 * rendering/RenderInline.h: 46736 (WebCore::RenderInline::continuation): 46737 (WebCore::RenderInline::setContinuation): 46738 46739 2009-01-29 Brady Eidson <beidson (a] apple.com> 46740 46741 Reviewed by Oliver Hunt 46742 46743 <rdar://problem/6337157> hyundaiusa.com closes window or tab during load 46744 46745 Test: fast/loader/subframe-self-close.html 46746 46747 * page/DOMWindow.cpp: 46748 (WebCore::DOMWindow::close): Only allow mainframes to close the window. 46749 46750 2009-01-29 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 46751 46752 Reviewed by David Hyatt. 46753 46754 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23539 46755 46756 Remove several virtual functions from Node & Element related to form control / input elements, 46757 that shouldn't reside there, but move to approriate locations, in the new form control / 46758 input element abstract base classes. 46759 46760 Remove the isControl() method from Node, as it's redundant - isFormControlElement() provides the same information. 46761 Move isEnabled( / isReadOnlyControl() / isTextControl() from Node to FormControlElement. 46762 Move isAutofilled() / isChecked() / isIndeterminate() from Node to InputElement. 46763 Move isInputTypeHidden() / isPasswordField() from Element to InputElement. 46764 46765 Querying these methods requires using the toInputElement/toFormControlElement casting helper functions 46766 to cast Element pointers to InputElement/FormControlElement pointers. 46767 46768 * css/CSSStyleSelector.cpp: 46769 (WebCore::CSSStyleSelector::canShareStyleWithElement): 46770 (WebCore::CSSStyleSelector::adjustRenderStyle): 46771 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 46772 * dom/Element.h: 46773 (WebCore::Element::isFormControlElementWithState): 46774 * dom/FormControlElement.h: 46775 * dom/InputElement.h: 46776 * dom/Node.h: 46777 * editing/TextIterator.cpp: 46778 (WebCore::TextIterator::advance): 46779 * html/HTMLFormControlElement.cpp: 46780 (WebCore::HTMLFormControlElement::attach): 46781 * html/HTMLFormControlElement.h: 46782 (WebCore::HTMLFormControlElement::isTextControl): 46783 * html/HTMLFormElement.cpp: 46784 (WebCore::HTMLFormElement::CheckedRadioButtons::removeButton): 46785 * html/HTMLInputElement.h: 46786 (WebCore::HTMLInputElement::isAutofilled): 46787 * page/AccessibilityRenderObject.cpp: 46788 (WebCore::AccessibilityRenderObject::isPasswordField): 46789 (WebCore::AccessibilityRenderObject::isIndeterminate): 46790 (WebCore::AccessibilityRenderObject::isChecked): 46791 (WebCore::AccessibilityRenderObject::isControl): 46792 (WebCore::AccessibilityRenderObject::isEnabled): 46793 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 46794 * page/mac/AccessibilityObjectWrapper.mm: 46795 (textMarkerForVisiblePosition): 46796 * platform/ContextMenu.cpp: 46797 (WebCore::ContextMenu::populate): 46798 * rendering/RenderLayer.cpp: 46799 (WebCore::RenderLayer::resize): 46800 * rendering/RenderMenuList.cpp: 46801 (WebCore::RenderMenuList::itemIsEnabled): 46802 * rendering/RenderTextControl.cpp: 46803 (WebCore::updateUserModifyProperty): 46804 (WebCore::RenderTextControl::adjustInnerTextStyle): 46805 (WebCore::RenderTextControl::updateFromElement): 46806 * rendering/RenderTheme.cpp: 46807 (WebCore::RenderTheme::isChecked): 46808 (WebCore::RenderTheme::isIndeterminate): 46809 (WebCore::RenderTheme::isEnabled): 46810 (WebCore::RenderTheme::isReadOnlyControl): 46811 * rendering/RenderThemeMac.mm: 46812 (WebCore::RenderThemeMac::adjustMenuListStyle): 46813 * wml/WMLFormControlElement.cpp: 46814 (WebCore::WMLFormControlElement::isFocusable): 46815 * wml/WMLFormControlElement.h: 46816 (WebCore::WMLFormControlElement::isEnabled): 46817 (WebCore::WMLFormControlElement::isReadOnlyControl): 46818 (WebCore::WMLFormControlElement::isTextControl): 46819 * wml/WMLInputElement.cpp: 46820 (WebCore::WMLInputElement::isKeyboardFocusable): 46821 (WebCore::WMLInputElement::isMouseFocusable): 46822 * wml/WMLInputElement.h: 46823 (WebCore::WMLInputElement::isAutofilled): 46824 46825 2009-01-29 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 46826 46827 Not reviewed. Fix WML build - apply same fix as HTMLAnchorElement received. 46828 46829 * wml/WMLAElement.cpp: 46830 (WebCore::WMLAElement::isKeyboardFocusable): 46831 46832 2009-01-29 Alexey Proskuryakov <ap (a] webkit.org> 46833 46834 Reviewed by Anders Carlsson. 46835 46836 https://bugs.webkit.org/show_bug.cgi?id=23620 46837 Crash in appcache/resource-redirect.html on Tiger 46838 46839 There was a bug in the test case - it didn't send a Location header, and on Tiger, this 46840 resulted in a failure callback being sent. It turned out that proper redirects weren't 46841 caught at all. 46842 46843 Tests: http/tests/appcache/manifest-redirect-2.html 46844 http/tests/appcache/resource-redirect-2.html 46845 46846 * loader/appcache/ApplicationCacheGroup.cpp: 46847 (WebCore::ApplicationCacheGroup::didFail): Fixed this function to not crash if 46848 didReceiveResponse() wasn't called for this request. 46849 (WebCore::ApplicationCacheGroup::didReceiveResponse): Fixed to check for redirects correctly. 46850 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Ditto. 46851 46852 2009-01-29 David Hyatt <hyatt (a] apple.com> 46853 46854 Move dirtyLinesFromChangedChild into RenderLineBoxList so that it can be shared by RenderBlock and RenderInline. 46855 46856 Reviewed by Sam Weinig 46857 46858 * rendering/RenderBlock.h: 46859 (WebCore::RenderBlock::dirtyLinesFromChangedChild): 46860 * rendering/RenderFlow.cpp: 46861 * rendering/RenderFlow.h: 46862 * rendering/RenderInline.h: 46863 (WebCore::RenderInline::dirtyLinesFromChangedChild): 46864 * rendering/RenderLineBoxList.cpp: 46865 (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): 46866 * rendering/RenderLineBoxList.h: 46867 46868 2009-01-29 Adam Roben <aroben (a] apple.com> 46869 46870 Fix Bug 23623: Windowed Flash instances aren't captured when a WebView 46871 receives a WM_PRINTCLIENT message 46872 46873 <https://bugs.webkit.org/show_bug.cgi?id=23623> 46874 <rdar://problem/6513921> 46875 <rdar://problem/6536874> 46876 46877 Flash doesn't seem to respond to WM_PRINTCLIENT, so we change 46878 WM_PRINTCLIENT messages into WM_PAINT messages and hook into the 46879 BeginPaint/EndPaint APIs to return the HDC we received from 46880 WM_PRINTCLIENT. This causes the plugin to paint into the 46881 WM_PRINTCLIENT HDC via its normal WM_PAINT handler. This technique 46882 came from <http://www.fengyuan.com/article/wmprint.html>. 46883 46884 No test possible. 46885 46886 Reviewed by Darin Adler. 46887 46888 * platform/graphics/GraphicsContext.h: Added 46889 [set]ShouldIncludeChildWindows on Windows. 46890 46891 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: Added 46892 m_shouldIncludeChildWindows. 46893 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 46894 Initialize the new member. 46895 46896 * platform/graphics/win/GraphicsContextCGWin.cpp: 46897 (WebCore::GraphicsContext::setShouldIncludeChildWindows): 46898 (WebCore::GraphicsContext::shouldIncludeChildWindows): 46899 Added simple setter and getter. 46900 46901 * plugins/PluginView.cpp: 46902 (WebCore::PluginView::PluginView): Initialize the new member. 46903 46904 * plugins/PluginView.h: Added m_wmPrintHDC and various functions 46905 required for making WM_PRINTCLIENT work. 46906 46907 * plugins/win/PluginViewWin.cpp: 46908 (WebCore::PluginView::hookedBeginPaint): 46909 (WebCore::PluginView::hookedEndPaint): 46910 (WebCore::hook): 46911 (WebCore::setUpOffscreenPaintingHooks): 46912 Added. Code was modified from code available on fengyuan.com. 46913 46914 (WebCore::PluginView::wndProc): Turn WM_PRINTCLIENT messages into 46915 WM_PAINT messages and save off the HDC that we're supposed to paint 46916 into. 46917 46918 (WebCore::PluginView::paintWindowedPluginIntoContext): Added. Gets an 46919 HDC from the GraphicsContext, translates it into client coordinates, 46920 gets the plugin to draw into the HDC by sending a WM_PRINTCLIENT 46921 message, and returns the HDC to the GraphicsContext. 46922 46923 (WebCore::PluginView::paint): If we're trying to paint a windowed 46924 plugin into the GraphicsContext, call paintWindowedPluginIntoContext. 46925 46926 (WebCore::PluginView::init): Call setUpOffscreenPaintingHooks to make 46927 our WM_PRINTCLIENT trick work. 46928 46929 2009-01-29 David Hyatt <hyatt (a] apple.com> 46930 46931 Move RenderFlow::destroy down into RenderBlock and RenderInline. 46932 46933 Reviewed by Anders Carlsson 46934 46935 * rendering/RenderBlock.cpp: 46936 (WebCore::RenderBlock::destroy): 46937 * rendering/RenderFlow.cpp: 46938 * rendering/RenderFlow.h: 46939 * rendering/RenderInline.cpp: 46940 (WebCore::RenderInline::destroy): 46941 46942 2009-01-29 David Kilzer <ddkilzer (a] apple.com> 46943 46944 Remove semi-colons from the end of ObjC method implementations 46945 46946 Rubber-stamped by Adam Roben. 46947 46948 $ find WebCore -name \*.m -o -name \*.mm -exec perl -e 'undef $/; $s = <>; while ($s =~ m/[\n\r][-+].*;[\s\r\n]+\{/g) { print "$ARGV: $&\n"; }' {} \; 46949 46950 * bridge/testbindings.mm: 46951 46952 2009-01-29 Adam Treat <adam.treat (a] torchmobile.com> 46953 46954 Reviewed by Alexey Proskuryakov. 46955 46956 https://bugs.webkit.org/show_bug.cgi?id=23609 46957 Use the two-arg constructor for implicit QUrl->KURL conversion as the 46958 single argument ctors assume that KURL::parse has already been called 46959 and assert if the parse results in a different string. This was causing 46960 an assert for QUrl's with no path and without a trailing slash. 46961 46962 * platform/qt/KURLQt.cpp: 46963 (WebCore::KURL::KURL): 46964 46965 2009-01-29 Alexey Proskuryakov <ap (a] webkit.org> 46966 46967 Rubber-stamped by Darin Adler. 46968 46969 Renamed ApplicationCacheResource::Implicit to Master, because that's the word HTML5 uses, 46970 and it describes the meaning better. 46971 46972 * loader/appcache/ApplicationCache.cpp: 46973 * loader/appcache/ApplicationCacheGroup.cpp: 46974 * loader/appcache/ApplicationCacheResource.cpp: 46975 * loader/appcache/ApplicationCacheResource.h: 46976 46977 2009-01-29 Alexey Proskuryakov <ap (a] webkit.org> 46978 46979 Release build fix. 46980 46981 * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): 46982 Got rid of a variable that wasn't used in release builds. 46983 46984 2009-01-29 David Hyatt <hyatt (a] apple.com> 46985 46986 Get rid of createAnonymousFlow. It was only called in one spot, so just inline the code. 46987 46988 Reviewed by Oliver Hunt 46989 46990 * rendering/RenderBlock.cpp: 46991 (WebCore::RenderBlock::updateFirstLetter): 46992 * rendering/RenderFlow.cpp: 46993 * rendering/RenderFlow.h: 46994 46995 2009-01-29 Alexey Proskuryakov <ap (a] webkit.org> 46996 46997 Reviewed by Anders Carlsson. 46998 46999 https://bugs.webkit.org/show_bug.cgi?id=23476 47000 HTTP redirect should make application cache updating fail 47001 47002 Tests: http/tests/appcache/manifest-redirect.html 47003 http/tests/appcache/resource-redirect.html 47004 47005 * loader/appcache/ApplicationCacheGroup.cpp: 47006 (WebCore::ApplicationCacheGroup::didReceiveResponse): 47007 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): 47008 Fail if response code isn't 2xx. 47009 47010 2009-01-29 Alexey Proskuryakov <ap (a] webkit.org> 47011 47012 Reviewed by Anders Carlsson. 47013 47014 https://bugs.webkit.org/show_bug.cgi?id=23592 47015 Update appcache manifest signature parsing 47016 47017 Test: http/tests/appcache/wrong-signature-2.html 47018 47019 * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Allow comments on signature 47020 line. Removed code that replaced nulls with 0xFFFD characters, because there is no such 47021 requirement in the spec. 47022 47023 2009-01-28 Alexey Proskuryakov <ap (a] webkit.org> 47024 47025 Reviewed by Anders Carlsson. 47026 47027 https://bugs.webkit.org/show_bug.cgi?id=23584 47028 Update application cache code for the latest round of spec changes 47029 47030 The changes mostly affect the update process - events are sent at a different 47031 time, and caches are associated with documents earlier. 47032 47033 * loader/DocumentLoader.cpp: 47034 (WebCore::DocumentLoader::mainReceivedError): Changed an always passing test to an assertion. 47035 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Caches are now associated 47036 with DocumentLoader before being complete, but they only affect loading after being completed. 47037 (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Ditto. 47038 47039 * loader/appcache/ApplicationCache.cpp: 47040 (WebCore::ApplicationCache::setGroup): Allow setting the group to the same one, to simplify 47041 ApplicationCacheGroup code. 47042 (WebCore::ApplicationCache::isComplete): A new method that tells whether the cache is 47043 complete, as defined in HTML5. 47044 * loader/appcache/ApplicationCache.h: Added isComplete(). 47045 47046 * loader/appcache/ApplicationCacheGroup.h: 47047 (WebCore::ApplicationCacheUpdateOption): Per HTML5, cache updating should work differently 47048 when invoked with or without a browsing context (Frame). A Frame is currently always needed 47049 for updating in WebKit, so a new argument to update() tells whether we should pretend that 47050 there isn't one. 47051 (WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): A helper for ApplicationCache::isComplete(). 47052 (WebCore::ApplicationCacheGroup::CompletionType): Cache update algorithm now waits for 47053 ne main resources to finish loading in more cases. A member variable of this type is used to 47054 distinguish between different cases when waiting. 47055 (WebCore::ApplicationCacheGroup::m_cacheCandidates): The new algorithm doesn't track cache 47056 candidates. Caches are associated with documents much earlier, but the ones whose main resources 47057 have not been loaded from a cache are being tracked in a pending master entry list. 47058 47059 * loader/appcache/DOMApplicationCache.cpp: (WebCore::DOMApplicationCache::update): 47060 An explicit call to update() invokes the algorithm without a browsing context. 47061 47062 * loader/appcache/ApplicationCacheGroup.cpp: 47063 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): 47064 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): 47065 (WebCore::ApplicationCacheGroup::selectCache): 47066 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): 47067 (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): 47068 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): 47069 (WebCore::ApplicationCacheGroup::stopLoading): 47070 (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): 47071 (WebCore::ApplicationCacheGroup::cacheDestroyed): 47072 (WebCore::ApplicationCacheGroup::setNewestCache): 47073 (WebCore::ApplicationCacheGroup::update): 47074 (WebCore::ApplicationCacheGroup::didReceiveResponse): 47075 (WebCore::ApplicationCacheGroup::didFinishLoading): 47076 (WebCore::ApplicationCacheGroup::didFail): 47077 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 47078 (WebCore::ApplicationCacheGroup::cacheUpdateFailed): 47079 (WebCore::ApplicationCacheGroup::manifestNotFound): 47080 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): 47081 (WebCore::ApplicationCacheGroup::startLoadingEntry): 47082 (WebCore::ApplicationCacheGroup::deliverDelayedMainResources): 47083 (WebCore::ApplicationCacheGroup::addEntry): 47084 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): 47085 (WebCore::CallCacheListenerTask::create): 47086 (WebCore::CallCacheListenerTask::performTask): 47087 (WebCore::CallCacheListenerTask::CallCacheListenerTask): 47088 (WebCore::ApplicationCacheGroup::postListenerTask): 47089 Rewrote the update algorithm. 47090 47091 2009-01-28 Geoffrey Garen <ggaren (a] apple.com> 47092 47093 Reviewed by Sam Weinig. 47094 47095 Merged FrameLoadTypeReloadAllowingStaleData with FrameLoadTypeReload. 47096 47097 Technically, selecting View->Text Encoding->[Non-Default Encoding] on 47098 a page with frames may now be slightly slower than it used to be. Oh well. 47099 47100 * loader/FrameLoader.cpp: 47101 (WebCore::isBackForwardLoadType): 47102 (WebCore::FrameLoader::restoreDocumentState): Subbed in FrameLoadTypeReload. 47103 47104 (WebCore::FrameLoader::loadURLIntoChildFrame): No need to account for 47105 non-back-forward navigations anymore. 47106 47107 (WebCore::FrameLoader::canCachePage): 47108 (WebCore::FrameLoader::logCanCachePageDecision): 47109 (WebCore::FrameLoader::reloadWithOverrideEncoding): 47110 (WebCore::FrameLoader::transitionToCommitted): 47111 (WebCore::FrameLoader::loadItem): Subbed in FrameLoadTypeReload. 47112 47113 * loader/FrameLoader.h: Renamed reloadAllowingStaleData => reloadWithOverrideEncoding, 47114 since that's what it actually does. 47115 47116 2009-01-28 David Hyatt <hyatt (a] apple.com> 47117 47118 Move hit testing and painting of lines from RenderFlow into RenderLineBoxList. 47119 47120 Reviewed by Oliver Hunt 47121 47122 * rendering/RenderBlock.cpp: 47123 (WebCore::RenderBlock::paintContents): 47124 (WebCore::RenderBlock::hitTestContents): 47125 * rendering/RenderFlow.cpp: 47126 * rendering/RenderFlow.h: 47127 * rendering/RenderInline.cpp: 47128 (WebCore::RenderInline::paint): 47129 (WebCore::RenderInline::nodeAtPoint): 47130 * rendering/RenderLineBoxList.cpp: 47131 (WebCore::RenderLineBoxList::paint): 47132 (WebCore::RenderLineBoxList::hitTest): 47133 * rendering/RenderLineBoxList.h: 47134 47135 2009-01-28 David Hyatt <hyatt (a] apple.com> 47136 47137 Fix SVG pixel test regressions. I wish I could say that I understand this fix, but I don't. For 47138 some reason the original code returned 0 for RenderSVGInlineText::yPos() and somehow my literal 47139 replacement of yPos() with the body of that method changed the results. I am completely baffled, 47140 but all SVG pixel tests pass again when I just take the code out. 47141 47142 Reviewed by Oliver Hunt 47143 47144 * rendering/RenderSVGInlineText.cpp: 47145 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): 47146 47147 2009-01-28 David Hyatt <hyatt (a] apple.com> 47148 47149 Move dirtyLineBoxes from RenderFlow to RenderInline and RenderBlock. 47150 47151 Reviewed by Oliver Hunt 47152 47153 * rendering/RenderBlock.cpp: 47154 (WebCore::RenderBlock::dirtyLineBoxes): 47155 * rendering/RenderBlock.h: 47156 * rendering/RenderFlow.cpp: 47157 * rendering/RenderFlow.h: 47158 * rendering/RenderInline.cpp: 47159 (WebCore::RenderInline::dirtyLineBoxes): 47160 * rendering/RenderInline.h: 47161 * rendering/RenderLineBoxList.cpp: 47162 (WebCore::RenderLineBoxList::dirtyLineBoxes): 47163 * rendering/RenderLineBoxList.h: 47164 47165 2009-01-28 David Hyatt <hyatt (a] apple.com> 47166 47167 Back out my change to scrollWidth/Height from an earlier checkin since it broke stuff. The current 47168 behavior is not correct, but this will need to be investigated before being changed again. 47169 47170 * rendering/RenderBox.cpp: 47171 (WebCore::RenderBox::scrollWidth): 47172 (WebCore::RenderBox::scrollHeight): 47173 47174 2009-01-28 David Hyatt <hyatt (a] apple.com> 47175 47176 Move paintOutline and paintOutlineWithLine from RenderFlow to RenderInline, since they only apply to inlines. Tighten up all of the code that 47177 called paintOutline to use RenderInline as the type instead of RenderFlow. 47178 47179 Reviewed by cpst 47180 47181 * rendering/InlineFlowBox.cpp: 47182 (WebCore::InlineFlowBox::paint): 47183 * rendering/RenderBlock.cpp: 47184 (WebCore::RenderBlock::paintObject): 47185 (WebCore::RenderBlock::addContinuationWithOutline): 47186 (WebCore::RenderBlock::paintContinuationOutlines): 47187 * rendering/RenderFlow.cpp: 47188 (WebCore::RenderFlow::paintLines): 47189 * rendering/RenderFlow.h: 47190 * rendering/RenderInline.cpp: 47191 (WebCore::RenderInline::paintOutline): 47192 (WebCore::RenderInline::paintOutlineForLine): 47193 * rendering/RenderInline.h: 47194 * rendering/RenderObject.cpp: 47195 (WebCore::RenderObject::paintOutline): 47196 * rendering/RenderObject.h: 47197 (WebCore::RenderObject::PaintInfo::PaintInfo): 47198 47199 2009-01-28 Darin Fisher <darin (a] chromium.org> 47200 47201 Reviewed by Eric Seidel. 47202 47203 https://bugs.webkit.org/show_bug.cgi?id=23596 47204 XMLHttpRequest.cpp no longer compiles without USE(JSC) 47205 47206 * xml/XMLHttpRequest.cpp: 47207 47208 2009-01-28 Darin Fisher <darin (a] chromium.org> 47209 47210 Reviewed by Darin Adler. 47211 47212 https://bugs.webkit.org/show_bug.cgi?id=23597 47213 Make it possible to compile Database.cpp when USE(JSC) is not defined 47214 47215 * storage/Database.cpp: 47216 (WebCore::Database::Database): 47217 47218 2009-01-28 Dan Bernstein <mitz (a] apple.com> 47219 47220 Reviewed by Darin Adler. 47221 47222 - fix <rdar://problem/6077047> REGRESSION (r34544): Custom icon does not 47223 appear in address field on first visit to any site 47224 47225 * loader/icon/IconLoader.cpp: 47226 (WebCore::IconLoader::finishLoading): Changed to set the icon data only 47227 after establishing a mapping from the page URL(s) to the icon. Doing 47228 things the other way around resulted in the data not being cached 47229 in the icon-URL to IconRecord map (because there was no interested page 47230 at the time) and subsequently having to be fetched asynchronously from 47231 the database when the page-to-icon mapping was established. 47232 47233 2009-01-28 David Hyatt <hyatt (a] apple.com> 47234 47235 Move addFocusRingRects from RenderFlow down into RenderBlock and RenderInline. 47236 47237 Reviewed by Oliver Hunt 47238 47239 * rendering/RenderBlock.cpp: 47240 (WebCore::RenderBlock::addFocusRingRects): 47241 * rendering/RenderBlock.h: 47242 * rendering/RenderFlow.cpp: 47243 * rendering/RenderFlow.h: 47244 * rendering/RenderInline.cpp: 47245 (WebCore::RenderInline::addFocusRingRects): 47246 * rendering/RenderInline.h: 47247 47248 2009-01-28 David Hyatt <hyatt (a] apple.com> 47249 47250 Move localCaretRect from RenderFlow into RenderBlock, since it only applied to blocks anyway and 47251 was misplaced from the start. 47252 47253 Reviewed by Antti Koivisto. 47254 47255 * rendering/RenderBlock.cpp: 47256 (WebCore::RenderBlock::localCaretRect): 47257 * rendering/RenderBlock.h: 47258 * rendering/RenderFlow.cpp: 47259 * rendering/RenderFlow.h: 47260 47261 2009-01-28 Sam Weinig <sam (a] webkit.org> 47262 47263 Reviewed by Geoff Garen. 47264 47265 Add forwarding header. 47266 47267 * ForwardingHeaders/debugger/DebuggerActivation.h: Added. 47268 47269 2009-01-28 David Hyatt <hyatt (a] apple.com> 47270 47271 Move createInlineBox out of RenderFlow and down into RenderInline and RenderBlock. 47272 47273 Reviewed by Beth Dakin 47274 47275 * rendering/RenderBlock.cpp: 47276 (WebCore::RenderBlock::createInlineBox): 47277 * rendering/RenderBlock.h: 47278 * rendering/RenderFlow.cpp: 47279 * rendering/RenderFlow.h: 47280 * rendering/RenderInline.cpp: 47281 (WebCore::RenderInline::createInlineBox): 47282 * rendering/RenderInline.h: 47283 * rendering/bidi.cpp: 47284 47285 2009-01-28 David Hyatt <hyatt (a] apple.com> 47286 47287 Move calcMargins from RenderFlow to RenderInline, since it was only ever called on RenderInlines. 47288 47289 Reviewed by Oliver Hunt 47290 47291 * rendering/RenderFlow.cpp: 47292 * rendering/RenderFlow.h: 47293 * rendering/RenderInline.h: 47294 (WebCore::RenderInline::calcMargins): 47295 * rendering/bidi.cpp: 47296 (WebCore::RenderBlock::layoutInlineChildren): 47297 47298 2009-01-28 David Hyatt <hyatt (a] apple.com> 47299 47300 Refactor the first and last line box member variables from RenderFlow. Encapsulate them into a new class called RenderLineBoxList that manages all modifications to 47301 the list. This change will make it easier to give RenderInline and RenderBlock separate versions of the line box list without having to duplicate very much code. 47302 47303 Reviewed by Oliver Hunt 47304 47305 * GNUmakefile.am: 47306 * WebCore.pro: 47307 * WebCore.vcproj/WebCore.vcproj: 47308 * WebCore.xcodeproj/project.pbxproj: 47309 * WebCoreSources.bkl: 47310 * rendering/InlineFlowBox.cpp: 47311 (WebCore::InlineFlowBox::deleteLine): 47312 (WebCore::InlineFlowBox::removeLineBoxFromRenderObject): 47313 (WebCore::InlineFlowBox::extractLine): 47314 (WebCore::InlineFlowBox::extractLineBoxFromRenderObject): 47315 (WebCore::InlineFlowBox::attachLine): 47316 (WebCore::InlineFlowBox::attachLineBoxToRenderObject): 47317 * rendering/InlineFlowBox.h: 47318 * rendering/RenderBlock.cpp: 47319 (WebCore::RenderBlock::deleteLineBoxTree): 47320 * rendering/RenderFlow.cpp: 47321 (WebCore::RenderFlow::destroy): 47322 (WebCore::RenderFlow::dirtyLineBoxes): 47323 (WebCore::RenderFlow::createInlineBox): 47324 * rendering/RenderFlow.h: 47325 (WebCore::RenderFlow::RenderFlow): 47326 (WebCore::RenderFlow::lineBoxes): 47327 (WebCore::RenderFlow::firstLineBox): 47328 (WebCore::RenderFlow::lastLineBox): 47329 * rendering/RenderLineBoxList.cpp: Added. 47330 (WebCore::RenderLineBoxList::~RenderLineBoxList): 47331 (WebCore::RenderLineBoxList::appendLineBox): 47332 (WebCore::RenderLineBoxList::deleteLineBoxTree): 47333 (WebCore::RenderLineBoxList::extractLineBox): 47334 (WebCore::RenderLineBoxList::attachLineBox): 47335 (WebCore::RenderLineBoxList::removeLineBox): 47336 (WebCore::RenderLineBoxList::deleteLineBoxes): 47337 (WebCore::RenderLineBoxList::checkConsistency): 47338 * rendering/RenderLineBoxList.h: Added. 47339 (WebCore::RenderLineBoxList::RenderLineBoxList): 47340 (WebCore::RenderLineBoxList::firstLineBox): 47341 (WebCore::RenderLineBoxList::lastLineBox): 47342 (WebCore::RenderLineBoxList::checkConsistency): 47343 * rendering/RenderSVGInline.cpp: 47344 (WebCore::RenderSVGInline::createInlineBox): 47345 * rendering/RenderSVGText.cpp: 47346 (WebCore::RenderSVGText::createInlineBox): 47347 * rendering/RootInlineBox.cpp: 47348 (WebCore::RootInlineBox::removeLineBoxFromRenderObject): 47349 (WebCore::RootInlineBox::extractLineBoxFromRenderObject): 47350 (WebCore::RootInlineBox::attachLineBoxToRenderObject): 47351 * rendering/RootInlineBox.h: 47352 * rendering/bidi.cpp: 47353 (WebCore::RenderBlock::layoutInlineChildren): 47354 47355 2009-01-28 David Kilzer <ddkilzer (a] apple.com> 47356 47357 Clean up FontPlatformData constructor 47358 47359 Reviewed by David Hyatt. 47360 47361 * platform/graphics/mac/FontPlatformData.h: Updated copyright. 47362 (WebCore::FontPlatformData::FontPlatformData): Provide readable 47363 names for constructor arguments and reformat member variables. 47364 * platform/graphics/mac/FontPlatformDataMac.mm: Updated copyright. 47365 (WebCore::FontPlatformData::FontPlatformData): Provide readable 47366 names for constructor arguments and reformat member variables. 47367 47368 2009-01-28 Tony Chang <tony (a] chromium.org> 47369 47370 Reviewed by David Hyatt. 47371 47372 https://bugs.webkit.org/show_bug.cgi?id=23593 47373 Compile fixes for RenderThemeChromiumMac and RenderThemeChromiumWin. 47374 This is a follow up for hyatt's RenderBox changes. 47375 47376 * rendering/RenderThemeChromiumMac.mm: 47377 (WebCore::RenderThemeChromiumMac::baselinePosition): 47378 * rendering/RenderThemeChromiumWin.cpp: 47379 (WebCore::RenderThemeChromiumWin::paintMenuList): 47380 47381 2009-01-28 Simon Fraser <simon.fraser (a] apple.com> 47382 47383 Reviewed by Dave Hyatt 47384 47385 https://bugs.webkit.org/show_bug.cgi?id=23582 47386 47387 Fix assertions when inline elements have both opacity (or something 47388 else that creates a RenderLayer), and transform by ensuring that 47389 setHasTransform() is only called for non-inline or replaced elements. 47390 We also have to ensure that RenderReplicas will get transforms applied 47391 to them by lying about them being replaced. 47392 47393 Tests: fast/transforms/transform-on-inline.html 47394 fast/transforms/transform-table-row.html 47395 47396 * rendering/RenderBox.cpp: 47397 (WebCore::RenderBox::styleDidChange): 47398 * rendering/RenderReplica.cpp: 47399 (WebCore::RenderReplica::RenderReplica): 47400 * rendering/RenderTableRow.h: 47401 (WebCore::RenderTableRow::requiresLayer): 47402 47403 2009-01-28 Hironori Bono <hbono (a] chromium.org> 47404 47405 Reviewed by Justin Garcia. 47406 47407 https://bugs.webkit.org/show_bug.cgi?id=18835 47408 Spelling underlines disappear when they shouldn't 47409 47410 The WebCore::InsertLineBreakCommand::doApply() function splits a text node 47411 without copying existing markers. To fix this bug, change code which 47412 manually splits a text node into a CompositeEditCommand::splitTextNode() call. 47413 47414 Test: editing/spelling/spelling-linebreak.html 47415 47416 * editing/InsertLineBreakCommand.cpp: 47417 (WebCore::InsertLineBreakCommand::doApply): 47418 47419 2009-01-28 David Hyatt <hyatt (a] apple.com> 47420 47421 Move the m_lineHeight member variable out of RenderFlow and down into RenderBlock and RenderInline. Shift the line height computation into RenderStyle so 47422 that it isn't repeated in three places. 47423 47424 Reviewed by Sam Weinig 47425 47426 * rendering/RenderBlock.cpp: 47427 (WebCore::RenderBlock::RenderBlock): 47428 (WebCore::RenderBlock::lineHeight): 47429 * rendering/RenderBlock.h: 47430 * rendering/RenderFlow.cpp: 47431 * rendering/RenderFlow.h: 47432 (WebCore::RenderFlow::RenderFlow): 47433 * rendering/RenderInline.cpp: 47434 (WebCore::RenderInline::RenderInline): 47435 (WebCore::RenderInline::lineHeight): 47436 * rendering/RenderInline.h: 47437 * rendering/RenderObject.cpp: 47438 (WebCore::RenderObject::lineHeight): 47439 * rendering/style/RenderStyle.h: 47440 (WebCore::InheritedFlags::computedLineHeight): 47441 47442 2009-01-28 Zachary Kuznia <zork (a] chromiuum.org> 47443 47444 Reviewed by Sam Weinig. 47445 47446 https://bugs.webkit.org/show_bug.cgi?id=22070 47447 Add an option to allow scripts to close windows. 47448 47449 * page/Settings.cpp: 47450 (WebCore::Settings::Settings): 47451 (WebCore::Settings::setAllowScriptsToCloseWindows): 47452 * page/Settings.h: 47453 (WebCore::Settings::allowScriptsToCloseWindows): 47454 47455 2009-01-28 Adam Langley <agl (a] google.com> 47456 47457 Reviewed by Sam Weinig. 47458 47459 https://bugs.webkit.org/show_bug.cgi?id=23573 47460 Make PlatformWidget on chromium an intptr_t to match changes made in Chromium 47461 47462 * platform/chromium/PlatformWidget.h: 47463 47464 2009-01-28 David Hyatt <hyatt (a] apple.com> 47465 47466 Fix for 47467 47468 <rdar://problem/6531287> REGRESSION: CrashTracer: [USER] 12 crashes in Safari at com.apple.WebCore WebCore::RenderBlock::removeFloatingObject + 59 47469 47470 My tightening up of markAllDescendantsWithFloatsForLayout exposed a buggy check in that code that could 47471 lead to a bad cast. 47472 47473 * rendering/RenderBlock.cpp: 47474 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 47475 47476 2009-01-27 David Hyatt <hyatt (a] apple.com> 47477 47478 https://bugs.webkit.org/show_bug.cgi?id=23576 47479 47480 Work towards eliminating RenderFlow from the tree. 47481 47482 Move the m_continuation variable down from RenderFlow into RenderInline and RenderBlock. Since a block can only have an inline continuation following it, the type 47483 of the member and methods reflect this (inlineContinuation() and m_inlineContinuation). Since an inline can have either a block or an inline continuation following it, 47484 a base class of RenderBox* is used for the type of object returned (in anticipation of the removal of RenderFlow). 47485 47486 Since moving the continuation variable down into the subclasses increased the size of RenderInline and RenderBlock by 4 bytes, this patch also moves all of the bitfield 47487 members of RenderFlow up to RenderObject. Since they fit within the available bits on RenderObject, this patch actually results in a net savings of 4 bytes on RenderInlines 47488 and RenderBlocks! 47489 47490 One bitfield member was eliminated rather than moved: m_firstLine. This was really more of a state variable used during line layout only, so I removed it as a member 47491 and just passed firstLine down to various methods as needed. Doing so uncovered some potential bugs where the first line state was not being respected when querying for 47492 line offsets. 47493 47494 Continuations have been completely hidden from all files except for RenderFlow, RenderBlock and RenderInline. All of the code that referenced continuations directly 47495 from base classes has been refactored to use virtual methods on RenderBlock and RenderInline instead. 47496 47497 RenderFlow still has a common addChildWithContinuation method that is used by both blocks and inlines. Since refactoring that method will be pretty tricky, I've held 47498 off on that for a later patch. 47499 47500 Reviewed by Oliver Hunt 47501 47502 * html/HTMLAnchorElement.cpp: 47503 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 47504 * page/AccessibilityRenderObject.cpp: 47505 (WebCore::AccessibilityRenderObject::anchorElement): 47506 (WebCore::AccessibilityRenderObject::boundingBoxRect): 47507 * rendering/InlineFlowBox.cpp: 47508 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 47509 (WebCore::InlineFlowBox::paint): 47510 * rendering/RenderBlock.cpp: 47511 (WebCore::RenderBlock::RenderBlock): 47512 (WebCore::RenderBlock::~RenderBlock): 47513 (WebCore::RenderBlock::destroy): 47514 (WebCore::RenderBlock::addChildToFlow): 47515 (WebCore::RenderBlock::makeChildrenNonInline): 47516 (WebCore::RenderBlock::removeChild): 47517 (WebCore::RenderBlock::layoutBlock): 47518 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): 47519 (WebCore::RenderBlock::collapseMargins): 47520 (WebCore::RenderBlock::determineHorizontalPosition): 47521 (WebCore::RenderBlock::setCollapsedBottomMargin): 47522 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 47523 (WebCore::RenderBlock::paintObject): 47524 (WebCore::RenderBlock::addContinuationWithOutline): 47525 (WebCore::RenderBlock::setSelectionState): 47526 (WebCore::RenderBlock::shouldPaintSelectionGaps): 47527 (WebCore::RenderBlock::fillSelectionGaps): 47528 (WebCore::RenderBlock::leftSelectionOffset): 47529 (WebCore::RenderBlock::rightSelectionOffset): 47530 (WebCore::RenderBlock::leftOffset): 47531 (WebCore::RenderBlock::leftRelOffset): 47532 (WebCore::RenderBlock::rightOffset): 47533 (WebCore::RenderBlock::rightRelOffset): 47534 (WebCore::RenderBlock::lineWidth): 47535 (WebCore::RenderBlock::lowestPosition): 47536 (WebCore::RenderBlock::rightmostPosition): 47537 (WebCore::RenderBlock::leftmostPosition): 47538 (WebCore::RenderBlock::getClearDelta): 47539 (WebCore::RenderBlock::nodeAtPoint): 47540 (WebCore::RenderBlock::offsetForContents): 47541 (WebCore::RenderBlock::availableWidth): 47542 (WebCore::RenderBlock::setDesiredColumnCountAndWidth): 47543 (WebCore::RenderBlock::desiredColumnWidth): 47544 (WebCore::RenderBlock::desiredColumnCount): 47545 (WebCore::RenderBlock::columnRects): 47546 (WebCore::RenderBlock::layoutColumns): 47547 (WebCore::RenderBlock::adjustPointToColumnContents): 47548 (WebCore::RenderBlock::adjustRectForColumns): 47549 (WebCore::RenderBlock::absoluteRects): 47550 (WebCore::RenderBlock::absoluteQuads): 47551 (WebCore::RenderBlock::rectWithOutlineForRepaint): 47552 (WebCore::RenderBlock::hoverAncestor): 47553 (WebCore::RenderBlock::updateDragState): 47554 (WebCore::RenderBlock::outlineStyleForRepaint): 47555 (WebCore::RenderBlock::childBecameNonInline): 47556 (WebCore::RenderBlock::updateHitTestResult): 47557 * rendering/RenderBlock.h: 47558 (WebCore::RenderBlock::rightOffset): 47559 (WebCore::RenderBlock::leftOffset): 47560 (WebCore::RenderBlock::inlineContinuation): 47561 (WebCore::RenderBlock::setInlineContinuation): 47562 * rendering/RenderBox.cpp: 47563 (WebCore::RenderBox::absoluteRects): 47564 (WebCore::RenderBox::absoluteQuads): 47565 (WebCore::RenderBox::addFocusRingRects): 47566 (WebCore::RenderBox::containingBlockWidth): 47567 * rendering/RenderBox.h: 47568 (WebCore::RenderBox::collapsedMarginBottom): 47569 (WebCore::RenderBox::childBecameNonInline): 47570 * rendering/RenderContainer.cpp: 47571 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 47572 (WebCore::RenderContainer::removeLeftoverAnonymousBlock): 47573 * rendering/RenderFlexibleBox.cpp: 47574 (WebCore::RenderFlexibleBox::layoutVerticalBox): 47575 * rendering/RenderFlow.cpp: 47576 (WebCore::nextContinuation): 47577 (WebCore::RenderFlow::continuationBefore): 47578 (WebCore::RenderFlow::addChildWithContinuation): 47579 (WebCore::RenderFlow::addChild): 47580 (WebCore::RenderFlow::destroy): 47581 (WebCore::RenderFlow::addFocusRingRects): 47582 * rendering/RenderFlow.h: 47583 (WebCore::RenderFlow::RenderFlow): 47584 * rendering/RenderInline.cpp: 47585 (WebCore::RenderInline::RenderInline): 47586 (WebCore::RenderInline::destroy): 47587 (WebCore::RenderInline::inlineContinuation): 47588 (WebCore::RenderInline::styleDidChange): 47589 (WebCore::RenderInline::addChildToFlow): 47590 (WebCore::RenderInline::cloneInline): 47591 (WebCore::RenderInline::splitInlines): 47592 (WebCore::RenderInline::splitFlow): 47593 (WebCore::RenderInline::positionForCoordinates): 47594 (WebCore::RenderInline::rectWithOutlineForRepaint): 47595 (WebCore::RenderInline::updateDragState): 47596 (WebCore::RenderInline::childBecameNonInline): 47597 (WebCore::RenderInline::updateHitTestResult): 47598 * rendering/RenderInline.h: 47599 (WebCore::RenderInline::isRenderInline): 47600 (WebCore::RenderInline::continuation): 47601 (WebCore::RenderInline::setContinuation): 47602 * rendering/RenderListItem.cpp: 47603 (WebCore::RenderListItem::positionListMarker): 47604 * rendering/RenderListMarker.cpp: 47605 (WebCore::RenderListMarker::RenderListMarker): 47606 (WebCore::RenderListMarker::setSelectionState): 47607 * rendering/RenderListMarker.h: 47608 * rendering/RenderObject.cpp: 47609 (WebCore::RenderObject::RenderObject): 47610 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 47611 (WebCore::RenderObject::rectWithOutlineForRepaint): 47612 (WebCore::RenderObject::handleDynamicFloatPositionChange): 47613 (WebCore::RenderObject::updateDragState): 47614 (WebCore::RenderObject::updateHitTestResult): 47615 (WebCore::RenderObject::getTextDecorationColors): 47616 (WebCore::RenderObject::adjustRectForOutlineAndShadow): 47617 * rendering/RenderObject.h: 47618 (WebCore::RenderObject::isInlineBlockOrInlineTable): 47619 (WebCore::RenderObject::childrenInline): 47620 (WebCore::RenderObject::setChildrenInline): 47621 (WebCore::RenderObject::hasColumns): 47622 (WebCore::RenderObject::setHasColumns): 47623 (WebCore::RenderObject::cellWidthChanged): 47624 (WebCore::RenderObject::setCellWidthChanged): 47625 (WebCore::RenderObject::isInlineContinuation): 47626 (WebCore::RenderObject::hoverAncestor): 47627 (WebCore::RenderObject::outlineStyleForRepaint): 47628 (WebCore::RenderObject::setHasMarkupTruncation): 47629 (WebCore::RenderObject::hasMarkupTruncation): 47630 (WebCore::RenderObject::selectionState): 47631 (WebCore::RenderObject::setSelectionState): 47632 (WebCore::RenderObject::hasSelectedChildren): 47633 (WebCore::RenderObject::isTopMarginQuirk): 47634 (WebCore::RenderObject::isBottomMarginQuirk): 47635 (WebCore::RenderObject::setTopMarginQuirk): 47636 (WebCore::RenderObject::setBottomMarginQuirk): 47637 * rendering/RenderReplaced.cpp: 47638 (WebCore::RenderReplaced::RenderReplaced): 47639 (WebCore::RenderReplaced::setSelectionState): 47640 * rendering/RenderReplaced.h: 47641 (WebCore::RenderReplaced::canBeSelectionLeaf): 47642 * rendering/RenderTable.cpp: 47643 (WebCore::RenderTable::calcWidth): 47644 * rendering/RenderTableCell.cpp: 47645 (WebCore::RenderTableCell::updateWidth): 47646 (WebCore::RenderTableCell::layout): 47647 * rendering/RenderText.cpp: 47648 (WebCore::RenderText::RenderText): 47649 (WebCore::RenderText::localCaretRect): 47650 (WebCore::RenderText::setSelectionState): 47651 * rendering/RenderText.h: 47652 (WebCore::RenderText::canBeSelectionLeaf): 47653 * rendering/RenderView.cpp: 47654 (WebCore::RenderView::updateHitTestResult): 47655 * rendering/RenderView.h: 47656 * rendering/RootInlineBox.cpp: 47657 (WebCore::RootInlineBox::selectionTop): 47658 * rendering/bidi.cpp: 47659 (WebCore::RenderBlock::createLineBoxes): 47660 (WebCore::RenderBlock::constructLine): 47661 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 47662 (WebCore::RenderBlock::layoutInlineChildren): 47663 (WebCore::RenderBlock::determineStartPosition): 47664 (WebCore::RenderBlock::skipTrailingWhitespace): 47665 (WebCore::RenderBlock::skipLeadingWhitespace): 47666 (WebCore::RenderBlock::fitBelowFloats): 47667 (WebCore::RenderBlock::findNextLineBreak): 47668 (WebCore::RenderBlock::checkLinesForTextOverflow): 47669 47670 2009-01-28 Adam Treat <adam.treat (a] torchmobile.com> 47671 47672 Reviewed by Nikolas Zimmermann and George Staikos. 47673 47674 https://bugs.webkit.org/show_bug.cgi?id=23557 47675 Allow option of hit testing frame content without clipping to the visible 47676 viewport. 47677 47678 * WebCore.base.exp: 47679 * page/EventHandler.cpp: 47680 (WebCore::EventHandler::hitTestResultAtPoint): 47681 * page/EventHandler.h: 47682 * rendering/HitTestRequest.h: 47683 (WebCore::HitTestRequest::HitTestRequest): 47684 * rendering/RenderLayer.cpp: 47685 (WebCore::RenderLayer::hitTest): 47686 47687 2009-01-28 Simon Hausmann <simon.hausmann (a] nokia.com> 47688 47689 Reviewed by Holger Freyther. 47690 47691 Fix the build with Qt on Windows. 47692 47693 Make sure that the QTWEBKIT_EXPORT macro becomes the Q_DECL_EXPORT macro 47694 instead of the import macro when building the dll, by defining 47695 QT_MAKEDLL. 47696 47697 SystemTimeWin.cpp is needed on Windows for userIdleTime(), which for the 47698 other Qt platforms comes from TemporaryLinkStubs.cpp. 47699 47700 * WebCore.pro: 47701 47702 2009-01-28 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 47703 47704 Reviewed by Simon Hausmann. 47705 47706 [Qt] Speed-up clipping: avoid calling expensive QPainter::clipRegion(). 47707 Beside, the check is not necessary since QPainter::setClipRect() will 47708 work just fine if there is no clip region yet. 47709 47710 * platform/graphics/qt/GraphicsContextQt.cpp: 47711 (WebCore::GraphicsContext::clip): 47712 47713 2009-01-28 Darin Fisher <darin (a] chromium.org> 47714 47715 Reviewed by Darin Adler. 47716 47717 https://bugs.webkit.org/show_bug.cgi?id=23546 47718 Upstream GoogleURL implementation of KURL 47719 47720 * platform/KURL.h: 47721 * platform/KURLGoogle.cpp: Added. 47722 * platform/KURLGooglePrivate.h: Added. 47723 47724 2009-01-27 Darin Adler <darin (a] apple.com> 47725 47726 Reviewed by Sam Weinig. 47727 47728 REGRESSION (r40234): Launching iTunes from a link displays a 47729 "Safari can't find the Internet plug-in" sheet in Safari 47730 rdar://problem/6533678 47731 47732 * rendering/RenderPartObject.cpp: 47733 (WebCore::havePlugin): Put the check for empty string in here. 47734 (WebCore::serviceTypeForClassId): Only return activeXType() if 47735 we have a plug-in that can handle that type. While it might be logical 47736 to return an Active X type for any <object> with a classId in it, 47737 even if we don't have a plug-in that implements Active X, existing 47738 clients, such as Safari, don't expect that. 47739 47740 2009-01-27 Dan Bernstein <mitz (a] apple.com> 47741 47742 Reviewed by Steve Falkenburg. 47743 47744 - fix <rdar://problem/6524351> Text looks bad when font smoothing is 47745 forced off 47746 47747 * platform/graphics/win/FontCGWin.cpp: 47748 (WebCore::Font::drawGlyphs): Changed to use GDI rather than Core 47749 Graphics if the client has turned font smoothing off. 47750 47751 2009-01-27 Simon Fraser <simon.fraser (a] apple.com> 47752 47753 Reviewed by Dave Hyatt 47754 47755 https://bugs.webkit.org/show_bug.cgi?id=23360 47756 47757 Use the new container-relative repaint methods to compute 47758 post-layout repaints, and repaints using RenderLayer's 47759 cached repaintRect() relative to that container, rather than 47760 using absolute coords. 47761 47762 Replaced lots of boilerplate old/new rect code in various 47763 layout methods with a stack-based LayoutRepainter class, and 47764 fixed a bug in RenderTable which set didFullRepaint to 47765 'true' every time. 47766 47767 * rendering/RenderBlock.cpp: 47768 (WebCore::RenderBlock::layoutBlock): 47769 * rendering/RenderFlexibleBox.cpp: 47770 (WebCore::RenderFlexibleBox::layoutBlock): 47771 * rendering/RenderForeignObject.cpp: 47772 (WebCore::RenderForeignObject::layout): 47773 * rendering/RenderLayer.cpp: 47774 (WebCore::RenderLayer::updateLayerPositions): 47775 (WebCore::RenderLayer::setHasVisibleContent): 47776 * rendering/RenderLayer.h: 47777 * rendering/RenderObject.cpp: 47778 (WebCore::RenderObject::repaintUsingContainer): 47779 (WebCore::RenderObject::repaint): 47780 (WebCore::RenderObject::repaintRectangle): 47781 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 47782 * rendering/RenderObject.h: 47783 (WebCore::RenderObject::LayoutRepainter::LayoutRepainter): 47784 (WebCore::RenderObject::LayoutRepainter::repaintAfterLayout): 47785 (WebCore::RenderObject::LayoutRepainter::checkForRepaint): 47786 * rendering/RenderPath.cpp: 47787 (WebCore::RenderPath::layout): 47788 * rendering/RenderReplaced.cpp: 47789 (WebCore::RenderReplaced::layout): 47790 * rendering/RenderSVGContainer.cpp: 47791 (WebCore::RenderSVGContainer::layout): 47792 * rendering/RenderSVGImage.cpp: 47793 (WebCore::RenderSVGImage::layout): 47794 * rendering/RenderSVGRoot.cpp: 47795 (WebCore::RenderSVGRoot::layout): 47796 * rendering/RenderSVGText.cpp: 47797 (WebCore::RenderSVGText::layout): 47798 * rendering/RenderSVGViewportContainer.cpp: 47799 (WebCore::RenderSVGViewportContainer::layout): 47800 * rendering/RenderTable.cpp: 47801 (WebCore::RenderTable::layout): 47802 * rendering/bidi.cpp: 47803 (WebCore::RenderBlock::layoutInlineChildren): 47804 47805 2009-01-27 Brady Eidson <beidson (a] apple.com> 47806 47807 Reviewed by Darin Adler 47808 47809 <rdar://problem/3541409> - More groundwork and cleanup for CachedFrames 47810 47811 * history/CachedFrame.cpp: 47812 (WebCore::CachedFrame::CachedFrame): Make the savePlatformDataToCachedFrame() client call here, 47813 and add the code for caching subframes. 47814 (WebCore::CachedFrame::clear): 47815 * history/CachedFrame.h: Change to be RefCounted 47816 (WebCore::CachedFrame::create): 47817 (WebCore::CachedFrame::url): 47818 47819 * history/CachedPage.cpp: 47820 (WebCore::CachedPage::CachedPage): 47821 (WebCore::CachedPage::restore): 47822 * history/CachedPage.h: 47823 (WebCore::CachedPage::document): 47824 (WebCore::CachedPage::documentLoader): 47825 (WebCore::CachedPage::view): 47826 (WebCore::CachedPage::url): 47827 (WebCore::CachedPage::domWindow): 47828 (WebCore::CachedPage::cachedMainFrame): 47829 47830 * loader/FrameLoader.cpp: 47831 (WebCore::FrameLoader::cachePageForHistoryItem): Move the platform data saving into the 47832 CachedFrame itself. 47833 47834 2009-01-27 Simon Fraser <simon.fraser (a] apple.com> 47835 47836 Reviewed by Dave Hyatt 47837 47838 Flip the arguments of computeRectForRepaint() from 47839 computeRectForRepaint(IntRect&, RenderBox* repaintContainer, bool) 47840 to 47841 computeRectForRepaint(RenderBox* repaintContainer, IntRect&, bool) 47842 47843 * rendering/RenderBox.cpp: 47844 (WebCore::RenderBox::clippedOverflowRectForRepaint): 47845 (WebCore::RenderBox::computeRectForRepaint): 47846 * rendering/RenderBox.h: 47847 * rendering/RenderForeignObject.cpp: 47848 (WebCore::RenderForeignObject::computeRectForRepaint): 47849 * rendering/RenderForeignObject.h: 47850 * rendering/RenderInline.cpp: 47851 (WebCore::RenderInline::clippedOverflowRectForRepaint): 47852 * rendering/RenderObject.cpp: 47853 (WebCore::RenderObject::computeRectForRepaint): 47854 * rendering/RenderObject.h: 47855 (WebCore::RenderObject::computeAbsoluteRepaintRect): 47856 * rendering/RenderReplaced.cpp: 47857 (WebCore::RenderReplaced::clippedOverflowRectForRepaint): 47858 * rendering/RenderTableCell.cpp: 47859 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 47860 (WebCore::RenderTableCell::computeRectForRepaint): 47861 * rendering/RenderTableCell.h: 47862 * rendering/RenderView.cpp: 47863 (WebCore::RenderView::computeRectForRepaint): 47864 * rendering/RenderView.h: 47865 47866 2009-01-27 David Kilzer <ddkilzer (a] apple.com> 47867 47868 Add missing header guards to AccessibilityObjectWrapper.h 47869 47870 Reviewed by Anders Carlsson. 47871 47872 * page/mac/AccessibilityObjectWrapper.h: Added missing header guards. 47873 47874 2009-01-27 Simon Fraser <simon.fraser (a] apple.com> 47875 47876 Reviewed by Dave Hyatt 47877 47878 https://bugs.webkit.org/show_bug.cgi?id=23567 47879 47880 Fix crash of svg/custom/stop-crash.svg testcase because of 47881 infinite recursion, as I missed replacing absoluteClippedOverflowRect() 47882 with clippedOverflowRectForRepaint() in RenderSVGGradientStop. 47883 47884 Also fix a missed conversion in RenderTableCol, and add a couple 47885 of comments. 47886 47887 * rendering/RenderSVGGradientStop.h: 47888 (WebCore::RenderSVGGradientStop::clippedOverflowRectForRepaint): 47889 * rendering/RenderSVGImage.cpp: 47890 (WebCore::RenderSVGImage::imageChanged): 47891 * rendering/RenderTableCol.cpp: 47892 (WebCore::RenderTableCol::clippedOverflowRectForRepaint): 47893 * rendering/RenderTableRow.cpp: 47894 (WebCore::RenderTableRow::layout): 47895 47896 2009-01-27 Adele Peterson <adele (a] apple.com> 47897 47898 RS by Dave Hyatt 47899 47900 Use the textfield appearance for search fields in themeWin.css so the border/background 47901 styling will work correctly on these fields. 47902 47903 * css/themeWin.css: 47904 47905 2009-01-27 Dan Bernstein <mitz (a] apple.com> 47906 47907 - build fix 47908 47909 * bindings/js/JSHTMLInputElementCustom.cpp: 47910 (WebCore::JSHTMLInputElement::setSelectionStart): 47911 (WebCore::JSHTMLInputElement::setSelectionEnd): 47912 (WebCore::JSHTMLInputElement::setSelectionRange): 47913 47914 2009-01-27 Dan Bernstein <mitz (a] apple.com> 47915 47916 - build fix 47917 47918 * platform/graphics/Gradient.cpp: 47919 (WebCore::Gradient::setSpreadMethod): 47920 47921 2009-01-27 Paul Godavari <paul (a] chromium.org> 47922 47923 Reviewed by Eric Seidel. 47924 47925 https://bugs.webkit.org/show_bug.cgi?id=23561 47926 Explicitly send the MIME type from an image dragged from a web 47927 page to the desktop, to Chromium so that it can properly generate 47928 a file name. 47929 47930 * platform/chromium/ChromiumDataObject.cpp: 47931 (WebCore::ChromiumDataObject::clear): 47932 (WebCore::ChromiumDataObject::hasData): 47933 * platform/chromium/ChromiumDataObject.h: 47934 * platform/chromium/ClipboardChromium.cpp: 47935 (WebCore::writeImageToDataObject): 47936 47937 2009-01-27 Mads Ager <ager (a] chromium.org> 47938 47939 Reviewed by Darin Adler. 47940 47941 https://bugs.webkit.org/show_bug.cgi?id=23300 47942 Follow Firefox in throwing exceptions when using selection 47943 functions on HTMLInputElements that cannot have selection. 47944 47945 This requires custom setSelectionRange, setSelectionStart and 47946 setSelectionEnd implementations, but it gets rid of the custom 47947 getOwnPropertySlot. 47948 47949 * bindings/js/JSHTMLInputElementCustom.cpp: 47950 (WebCore::JSHTMLInputElement::selectionStart): 47951 (WebCore::JSHTMLInputElement::selectionEnd): 47952 (WebCore::JSHTMLInputElement::setSelectionRange): 47953 * html/HTMLInputElement.idl: 47954 47955 2009-01-27 Evan Stade <estade (a] chromium.org> 47956 47957 Reviewed by Nikolas Zimmermann. 47958 47959 https://bugs.webkit.org/show_bug.cgi?id=23435 47960 Make spreadMethod a member of Gradient rather than GraphicsContext. 47961 Implement spreadMethod for Skia. 47962 47963 * platform/graphics/Gradient.cpp: 47964 (WebCore::Gradient::Gradient): 47965 * platform/graphics/Gradient.h: 47966 (WebCore::Gradient::setSpreadMethod): 47967 (WebCore::Gradient::spreadMethod): 47968 * platform/graphics/GraphicsContext.cpp: 47969 * platform/graphics/GraphicsContext.h: 47970 * platform/graphics/GraphicsContextPrivate.h: 47971 * platform/graphics/GraphicsTypes.h: 47972 (WebCore::): 47973 * platform/graphics/cairo/GradientCairo.cpp: 47974 (WebCore::Gradient::platformGradient): 47975 * platform/graphics/cairo/GraphicsContextCairo.cpp: 47976 (WebCore::GraphicsContext::fillPath): 47977 (WebCore::GraphicsContext::strokePath): 47978 * platform/graphics/qt/GradientQt.cpp: 47979 (WebCore::Gradient::platformGradient): 47980 * platform/graphics/qt/GraphicsContextQt.cpp: 47981 (WebCore::GraphicsContext::fillPath): 47982 (WebCore::GraphicsContext::strokePath): 47983 * platform/graphics/skia/GradientSkia.cpp: 47984 (WebCore::Gradient::platformGradient): 47985 * svg/SVGLinearGradientElement.cpp: 47986 (WebCore::SVGLinearGradientElement::buildGradient): 47987 * svg/SVGRadialGradientElement.cpp: 47988 (WebCore::SVGRadialGradientElement::buildGradient): 47989 * svg/graphics/SVGPaintServerGradient.cpp: 47990 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): 47991 (WebCore::SVGPaintServerGradient::setup): 47992 (WebCore::SVGPaintServerGradient::externalRepresentation): 47993 * svg/graphics/SVGPaintServerGradient.h: 47994 47995 2009-01-27 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 47996 47997 Rubber-stamped by Simon Hausmann. 47998 47999 http://qt.nokia.com/developer/task-tracker/index_html?id=238662&method=entry 48000 48001 [Qt] Map function keys F1 to F24. 48002 48003 * platform/qt/PlatformKeyboardEventQt.cpp: 48004 (WebCore::windowsKeyCodeForKeyEvent): 48005 48006 2009-01-27 Brady Eidson <beidson (a] apple.com> 48007 48008 Reviewed by Dan Bernstein 48009 48010 Rework FrameLoaderClient to work on a CachedFrame basis instead of CachedPage 48011 48012 * WebCore.base.exp: 48013 * history/CachedPage.cpp: 48014 * history/CachedPage.h: 48015 (WebCore::CachedPage::cachedMainFrame): 48016 48017 * loader/EmptyClients.h: 48018 (WebCore::EmptyFrameLoaderClient::savePlatformDataToCachedFrame): 48019 (WebCore::EmptyFrameLoaderClient::transitionToCommittedFromCachedFrame): 48020 48021 * loader/FrameLoader.cpp: 48022 (WebCore::FrameLoader::restoreDocumentState): 48023 (WebCore::FrameLoader::commitProvisionalLoad): 48024 (WebCore::FrameLoader::transitionToCommitted): 48025 (WebCore::FrameLoader::cachePageForHistoryItem): 48026 * loader/FrameLoaderClient.h: 48027 48028 2009-01-26 Simon Fraser <simon.fraser (a] apple.com> 48029 48030 Reviewed by Dave Hyatt 48031 48032 https://bugs.webkit.org/show_bug.cgi?id=23360 48033 48034 Add variants of all the methods that compute dirty rects for repainting 48035 with versions that compute those rects relative to some container 48036 RenderBox that acts as a painting root. 48037 48038 * rendering/RenderBox.cpp: 48039 (WebCore::RenderBox::styleDidChange): 48040 (WebCore::RenderBox::outlineBoundsForRepaint): 48041 (WebCore::RenderBox::localToContainerQuad): 48042 (WebCore::RenderBox::clippedOverflowRectForRepaint): 48043 (WebCore::RenderBox::computeRectForRepaint): 48044 * rendering/RenderBox.h: 48045 * rendering/RenderForeignObject.cpp: 48046 (WebCore::RenderForeignObject::computeRectForRepaint): 48047 * rendering/RenderForeignObject.h: 48048 * rendering/RenderInline.cpp: 48049 (WebCore::RenderInline::clippedOverflowRectForRepaint): 48050 * rendering/RenderInline.h: 48051 * rendering/RenderObject.cpp: 48052 (WebCore::RenderObject::containerForRepaint): 48053 (WebCore::RenderObject::repaint): 48054 (WebCore::RenderObject::repaintRectangle): 48055 (WebCore::RenderObject::rectWithOutlineForRepaint): 48056 (WebCore::RenderObject::clippedOverflowRectForRepaint): 48057 (WebCore::RenderObject::computeRectForRepaint): 48058 (WebCore::RenderObject::localToContainerQuad): 48059 * rendering/RenderObject.h: 48060 (WebCore::RenderObject::localToAbsoluteQuad): 48061 (WebCore::RenderObject::absoluteClippedOverflowRect): 48062 (WebCore::RenderObject::computeAbsoluteRepaintRect): 48063 (WebCore::RenderObject::absoluteOutlineBounds): 48064 (WebCore::RenderObject::outlineBoundsForRepaint): 48065 * rendering/RenderPath.cpp: 48066 (WebCore::RenderPath::clippedOverflowRectForRepaint): 48067 (WebCore::RenderPath::outlineBoundsForRepaint): 48068 * rendering/RenderPath.h: 48069 * rendering/RenderReplaced.cpp: 48070 (WebCore::RenderReplaced::clippedOverflowRectForRepaint): 48071 * rendering/RenderReplaced.h: 48072 * rendering/RenderSVGContainer.cpp: 48073 (WebCore::RenderSVGContainer::clippedOverflowRectForRepaint): 48074 (WebCore::RenderSVGContainer::outlineBoundsForRepaint): 48075 * rendering/RenderSVGContainer.h: 48076 * rendering/RenderSVGHiddenContainer.cpp: 48077 (WebCore::RenderSVGHiddenContainer::clippedOverflowRectForRepaint): 48078 * rendering/RenderSVGHiddenContainer.h: 48079 * rendering/RenderSVGImage.cpp: 48080 (WebCore::RenderSVGImage::clippedOverflowRectForRepaint): 48081 * rendering/RenderSVGImage.h: 48082 * rendering/RenderSVGRoot.cpp: 48083 (WebCore::RenderSVGRoot::clippedOverflowRectForRepaint): 48084 * rendering/RenderSVGRoot.h: 48085 * rendering/RenderSVGText.cpp: 48086 (WebCore::RenderSVGText::clippedOverflowRectForRepaint): 48087 * rendering/RenderSVGText.h: 48088 * rendering/RenderTableCell.cpp: 48089 (WebCore::RenderTableCell::clippedOverflowRectForRepaint): 48090 (WebCore::RenderTableCell::computeRectForRepaint): 48091 (WebCore::RenderTableCell::localToContainerQuad): 48092 * rendering/RenderTableCell.h: 48093 * rendering/RenderTableCol.cpp: 48094 (WebCore::RenderTableCol::clippedOverflowRectForRepaint): 48095 * rendering/RenderTableCol.h: 48096 * rendering/RenderTableRow.cpp: 48097 (WebCore::RenderTableRow::clippedOverflowRectForRepaint): 48098 * rendering/RenderTableRow.h: 48099 * rendering/RenderText.cpp: 48100 (WebCore::RenderText::clippedOverflowRectForRepaint): 48101 * rendering/RenderText.h: 48102 * rendering/RenderView.cpp: 48103 (WebCore::RenderView::localToContainerQuad): 48104 (WebCore::RenderView::computeRectForRepaint): 48105 * rendering/RenderView.h: 48106 48107 2009-01-26 Simon Fraser <simon.fraser (a] apple.com> 48108 48109 Reviewed by David Hyatt 48110 48111 Back out r40285, because it was checked in with no bug number, no 48112 testcase, is rendering change that did not get thorough review, 48113 and broke the Mac build. 48114 48115 * page/EventHandler.cpp: 48116 (WebCore::EventHandler::hitTestResultAtPoint): 48117 * page/EventHandler.h: 48118 * rendering/HitTestRequest.h: 48119 (WebCore::HitTestRequest::HitTestRequest): 48120 * rendering/RenderLayer.cpp: 48121 (WebCore::RenderLayer::hitTest): 48122 48123 2009-01-26 Brady Eidson <beidson (a] apple.com> 48124 48125 Reviewed by Darin Adler 48126 48127 -Make the recently added back/forward cache logging much better by actually 48128 walking the entire frame tree and indenting the resulting output. 48129 -Fix a null-termination bug in HistoryItem tree logging 48130 48131 * history/HistoryItem.cpp: 48132 (WebCore::HistoryItem::showTreeWithIndent): 48133 48134 * loader/FrameLoader.cpp: 48135 (WebCore::pageCacheLogPrefix): 48136 (WebCore::pageCacheLog): 48137 (WebCore::FrameLoader::logCanCachePageDecision): 48138 (WebCore::FrameLoader::logCanCacheFrameDecision): 48139 * loader/FrameLoader.h: 48140 48141 2009-01-26 Adam Treat <adam.treat (a] torchmobile.com> 48142 48143 Reviewed by Nikolas Zimmermann. 48144 48145 Allow option of hit testing frame content without clipping to the visible 48146 viewport. 48147 48148 * page/EventHandler.cpp: 48149 (WebCore::EventHandler::hitTestResultAtPoint): 48150 * page/EventHandler.h: 48151 * rendering/HitTestRequest.h: 48152 (WebCore::HitTestRequest::HitTestRequest): 48153 * rendering/RenderLayer.cpp: 48154 (WebCore::RenderLayer::hitTest): 48155 48156 2009-01-26 Sam Weinig <sam (a] webkit.org> 48157 48158 Reviewed by Dan Bernstein. 48159 48160 Fix for https://bugs.webkit.org/show_bug.cgi?id=18141 48161 Acid3 tests 77 and 78 fail on reload due to SVG font race 48162 <rdar://problem/6504899> 48163 48164 Match Opera's behavior of loading SVGFonts as soon as <font-face-uri> 48165 tag is inserted into the document and not at the first use of the font 48166 as is done for CSS web fonts. 48167 48168 This fixes a race condition noticeable by some in the Acid3 test that 48169 happened because the onload event handler for an iframe containing a 48170 <font-face-uri> with an external reference was not delayed by the pending 48171 load of the font. 48172 48173 Test: http/tests/misc/SVGFont-delayed-load.html 48174 48175 * svg/SVGFontFaceUriElement.cpp: 48176 (WebCore::SVGFontFaceUriElement::~SVGFontFaceUriElement): 48177 (WebCore::SVGFontFaceUriElement::parseMappedAttribute): Call loadFont if 48178 the href attribute changes. 48179 (WebCore::SVGFontFaceUriElement::insertedIntoDocument): Call loadFont. 48180 (WebCore::SVGFontFaceUriElement::loadFont): Force a load of the 48181 font specified in href attribute. 48182 * svg/SVGFontFaceUriElement.h: 48183 48184 2009-01-26 Timothy Hatcher <timothy (a] apple.com> 48185 48186 Change Web Archive serialization back to the binary property list format. 48187 48188 <rdar://problem/6127865> Web archives saved with Safari 4 cannot be read by Safari 3 48189 48190 Reviewed by Brady Eidson. 48191 48192 * loader/archive/cf/LegacyWebArchive.cpp: 48193 (WebCore::LegacyWebArchive::rawDataRepresentation): 48194 48195 2009-01-26 Anders Carlsson <andersca (a] apple.com> 48196 48197 Fix 64-bit build. 48198 48199 * WebCore.LP64.exp: 48200 48201 2009-01-26 Dmitry Titov <dimich (a] chromium.org> 48202 48203 Reviewed by Alexey Proskuryakov. 48204 48205 https://bugs.webkit.org/show_bug.cgi?id=23511 48206 Move DOMTimer from bindings/js to page/. 48207 This was prepared by moving all JSC dependencies from DOMTimer 48208 to ScheduledAction earlier, and helps unfork the Chromuim version 48209 of the DOMTimer. 48210 48211 * GNUmakefile.am: 48212 * WebCore.pro: 48213 * WebCore.scons: 48214 * WebCore.vcproj/WebCore.vcproj: 48215 * WebCore.xcodeproj/project.pbxproj: 48216 * WebCoreSources.bkl: 48217 * bindings/js/DOMTimer.cpp: Removed. 48218 * bindings/js/DOMTimer.h: Removed. 48219 * page/DOMTimer.cpp: Copied from WebCore/bindings/js/DOMTimer.cpp. 48220 * page/DOMTimer.h: Copied from WebCore/bindings/js/DOMTimer.h. 48221 48222 2009-01-26 David Hyatt <hyatt (a] apple.com> 48223 48224 Eliminate rightmostPosition, lowestPosition and leftmostPosition from RenderFlow. Move the code into 48225 RenderBlock's methods. 48226 48227 Reviewed by Eric Seidel 48228 48229 * rendering/RenderBlock.cpp: 48230 (WebCore::RenderBlock::lowestPosition): 48231 (WebCore::RenderBlock::rightmostPosition): 48232 (WebCore::RenderBlock::leftmostPosition): 48233 * rendering/RenderFlow.cpp: 48234 * rendering/RenderFlow.h: 48235 48236 2009-01-26 Darin Fisher <darin (a] chromium.org> 48237 48238 Reviewed by Eric Seidel. 48239 48240 https://bugs.webkit.org/show_bug.cgi?id=23553 48241 Upstream changes from jcampan to fix chromium bugs 6692 and 6694. 48242 48243 * platform/chromium/PopupMenuChromium.cpp: 48244 (WebCore::PopupListBox::setLoopSelectionNavigation): 48245 (WebCore::PopupListBox::PopupListBox): 48246 (WebCore::PopupContainer::setLoopSelectionNavigation): 48247 (WebCore::PopupListBox::handleKeyEvent): 48248 (WebCore::PopupListBox::paintRow): 48249 (WebCore::PopupListBox::clearSelection): 48250 (WebCore::PopupListBox::selectNextRow): 48251 (WebCore::PopupListBox::selectPreviousRow): 48252 * platform/chromium/PopupMenuChromium.h: 48253 48254 2009-01-26 Brady Eidson <beidson (a] apple.com> 48255 48256 Reviewed by Sam Weinig 48257 48258 Remove some historical CachedPage time stamp fluff. 48259 48260 * history/CachedPage.cpp: 48261 (WebCore::CachedPage::CachedPage): 48262 * history/CachedPage.h: 48263 (WebCore::CachedPage::timeStamp): 48264 48265 * loader/FrameLoader.cpp: 48266 (WebCore::FrameLoader::cachePageForHistoryItem): 48267 48268 2009-01-26 David Hyatt <hyatt (a] apple.com> 48269 48270 Move absoluteClippedOverflowRect, linesBoundingBox and borderBoundingBox from RenderFlow to RenderInline. 48271 48272 Reviewed by Eric Seidel 48273 48274 * rendering/RenderBox.cpp: 48275 (WebCore::RenderBox::containingBlockHeightForPositioned): 48276 * rendering/RenderFlow.cpp: 48277 * rendering/RenderFlow.h: 48278 * rendering/RenderInline.cpp: 48279 (WebCore::RenderInline::linesBoundingBox): 48280 (WebCore::RenderInline::absoluteClippedOverflowRect): 48281 * rendering/RenderInline.h: 48282 (WebCore::RenderInline::borderBoundingBox): 48283 * rendering/RenderLayer.cpp: 48284 (WebCore::RenderLayer::updateLayerPosition): 48285 * rendering/RenderTreeAsText.cpp: 48286 (WebCore::operator<<): 48287 48288 2009-01-26 Dimitri Glazkov <dglazkov (a] chromium.org> 48289 48290 Reviewed by Eric Seidel. 48291 48292 https://bugs.webkit.org/show_bug.cgi?id=22650 48293 Implement support for "Immutable" attribute to CodeGeneratorJS.pm, thus 48294 allowing to explicitly mark methods as immutable (i.e. returning a new 48295 instance rather than a reference to an existing instance). 48296 48297 * bindings/js/JSSVGMatrixCustom.cpp: Removed custom methods. 48298 * bindings/scripts/CodeGeneratorJS.pm: Added check for Immutable 48299 attribute when generating function call. 48300 * svg/SVGMatrix.idl: Replaced Custom attribute with Immutable on 48301 methods. 48302 48303 2009-01-26 David Hyatt <hyatt (a] apple.com> 48304 48305 Eliminate isInlineFlow() now that a RenderBlock can never be an inline flow. isInlineFlow() is now 48306 equivalent to isRenderInline(), so all calls to isInlineFlow() have been replaced with isRenderInline(). 48307 48308 Reviewed by Eric Seidel 48309 48310 * dom/Text.cpp: 48311 (WebCore::Text::rendererIsNeeded): 48312 * rendering/InlineFlowBox.cpp: 48313 (WebCore::InlineFlowBox::placeBoxesHorizontally): 48314 (WebCore::shouldDrawTextDecoration): 48315 * rendering/RenderBlock.cpp: 48316 (WebCore::RenderBlock::hitTestContents): 48317 (WebCore::InlineMinMaxIterator::next): 48318 (WebCore::RenderBlock::calcInlinePrefWidths): 48319 * rendering/RenderBlock.h: 48320 (WebCore::RenderBlock::isBlockFlow): 48321 * rendering/RenderBox.cpp: 48322 (WebCore::RenderBox::clientWidth): 48323 (WebCore::RenderBox::clientHeight): 48324 (WebCore::RenderBox::nodeAtPoint): 48325 (WebCore::RenderBox::imageChanged): 48326 (WebCore::RenderBox::offsetForPositionedInContainer): 48327 (WebCore::RenderBox::containingBlockWidthForPositioned): 48328 (WebCore::RenderBox::containingBlockHeightForPositioned): 48329 * rendering/RenderBox.h: 48330 (WebCore::RenderBox::width): 48331 (WebCore::RenderBox::height): 48332 (WebCore::RenderBox::size): 48333 (WebCore::RenderBox::frameRect): 48334 * rendering/RenderContainer.cpp: 48335 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 48336 * rendering/RenderFlow.cpp: 48337 (WebCore::RenderFlow::dirtyLinesFromChangedChild): 48338 (WebCore::RenderFlow::createInlineBox): 48339 (WebCore::RenderFlow::paintLines): 48340 (WebCore::RenderFlow::hitTestLines): 48341 (WebCore::RenderFlow::absoluteClippedOverflowRect): 48342 (WebCore::RenderFlow::lowestPosition): 48343 (WebCore::RenderFlow::rightmostPosition): 48344 (WebCore::RenderFlow::leftmostPosition): 48345 * rendering/RenderFlow.h: 48346 (WebCore::RenderFlow::borderBoundingBox): 48347 * rendering/RenderInline.h: 48348 (WebCore::RenderInline::isRenderInline): 48349 * rendering/RenderLayer.cpp: 48350 (WebCore::RenderLayer::updateLayerPosition): 48351 (WebCore::RenderLayer::intersectsDamageRect): 48352 (WebCore::RenderLayer::boundingBox): 48353 * rendering/RenderListItem.cpp: 48354 (WebCore::getParentOfFirstLineBox): 48355 * rendering/RenderObject.cpp: 48356 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): 48357 (WebCore::RenderObject::styleWillChange): 48358 (WebCore::RenderObject::firstLineStyle): 48359 * rendering/RenderObject.h: 48360 * rendering/RenderSVGInline.cpp: 48361 (WebCore::RenderSVGInline::createInlineBox): 48362 * rendering/RenderSVGText.cpp: 48363 (WebCore::RenderSVGText::createInlineBox): 48364 * rendering/RenderTableRow.cpp: 48365 (WebCore::RenderTableRow::nodeAtPoint): 48366 * rendering/RenderTableSection.cpp: 48367 (WebCore::RenderTableSection::nodeAtPoint): 48368 * rendering/RenderText.cpp: 48369 (WebCore::isInlineFlowOrEmptyText): 48370 * rendering/RenderTreeAsText.cpp: 48371 (WebCore::operator<<): 48372 * rendering/bidi.cpp: 48373 (WebCore::bidiNext): 48374 (WebCore::bidiFirst): 48375 (WebCore::appendRunsForObject): 48376 (WebCore::RenderBlock::createLineBoxes): 48377 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 48378 (WebCore::RenderBlock::layoutInlineChildren): 48379 (WebCore::inlineFlowRequiresLineBox): 48380 (WebCore::requiresLineBox): 48381 (WebCore::RenderBlock::skipTrailingWhitespace): 48382 (WebCore::RenderBlock::skipLeadingWhitespace): 48383 (WebCore::RenderBlock::findNextLineBreak): 48384 48385 2009-01-26 David Hyatt <hyatt (a] apple.com> 48386 48387 Drop support for display:compact. 48388 48389 (1) display:compact is no longer part of CSS2.1. 48390 (2) Shipping Safari has completely broken compact support with severely broken rendering 48391 (all of the compact text just piles on top of the text in the inserted block and on top of itself as well). 48392 (3) This has been broken in WebKit for years (ever since blocks converted to painting lines directly) without 48393 anyone even noticing. 48394 48395 Reviewed by Eric Seidel 48396 48397 * rendering/InlineFlowBox.cpp: 48398 (WebCore::InlineFlowBox::placeBoxesHorizontally): 48399 * rendering/RenderBlock.cpp: 48400 (WebCore::RenderBlock::handleSpecialChild): 48401 (WebCore::RenderBlock::handleRunInChild): 48402 (WebCore::RenderBlock::layoutBlockChildren): 48403 (WebCore::RenderBlock::paint): 48404 (WebCore::RenderBlock::paintObject): 48405 (WebCore::RenderBlock::nodeAtPoint): 48406 (WebCore::RenderBlock::positionForCoordinates): 48407 (WebCore::shouldCheckLines): 48408 (WebCore::getHeightForLineCount): 48409 (WebCore::RenderBlock::renderName): 48410 * rendering/RenderBlock.h: 48411 * rendering/RenderBox.cpp: 48412 (WebCore::RenderBox::sizesToIntrinsicWidth): 48413 * rendering/RenderBox.h: 48414 (WebCore::RenderBox::width): 48415 (WebCore::RenderBox::height): 48416 (WebCore::RenderBox::size): 48417 (WebCore::RenderBox::frameRect): 48418 * rendering/RenderFlow.cpp: 48419 (WebCore::RenderFlow::paintLines): 48420 (WebCore::RenderFlow::hitTestLines): 48421 (WebCore::RenderFlow::absoluteClippedOverflowRect): 48422 (WebCore::RenderFlow::linesBoundingBox): 48423 * rendering/RenderObject.h: 48424 (WebCore::RenderObject::isInline): 48425 * rendering/bidi.cpp: 48426 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 48427 (WebCore::RenderBlock::layoutInlineChildren): 48428 * rendering/bidi.h: 48429 (WebCore::BidiRun::BidiRun): 48430 48431 2009-01-26 Adam Langley <agl (a] google.com> 48432 48433 Reviewed by Nikolas Zimmermann. 48434 48435 gtk2drawing: fix compiler warnings 48436 48437 g_object_set_data expects a gpointer as the last argument. Cast the 48438 TRUE/FALSE values to avoid a warning. 48439 gtk_tree_view_column_new doesn't return a GtkWidget. 48440 48441 * platform/gtk/gtk2drawing.c: 48442 (setup_widget_prototype): 48443 (moz_gtk_get_combo_box_inner_button): 48444 (moz_gtk_get_combo_box_button_inner_widgets): 48445 (ensure_combo_box_widgets): 48446 (moz_gtk_get_combo_box_entry_inner_widgets): 48447 (moz_gtk_get_combo_box_entry_arrow): 48448 (ensure_combo_box_entry_widgets): 48449 (ensure_toolbar_widget): 48450 (ensure_menu_bar_item_widget): 48451 (ensure_menu_popup_widget): 48452 (ensure_menu_item_widget): 48453 (ensure_image_menu_item_widget): 48454 (ensure_menu_separator_widget): 48455 (ensure_check_menu_item_widget): 48456 (ensure_tree_header_cell_widget): 48457 (moz_gtk_entry_paint): 48458 48459 2009-01-26 David Hyatt <hyatt (a] apple.com> 48460 48461 Change display:run-in handling so that we no longer reuse RenderBlock as though it is an inline flow. 48462 Instead we create a new RenderInline, move the RenderBlock's children underneath it, and then set the 48463 inline as the new element's renderer. 48464 48465 Reviewed by Dan Bernstein 48466 48467 * rendering/RenderBlock.cpp: 48468 (WebCore::RenderBlock::handleRunInChild): 48469 * rendering/RenderInline.cpp: 48470 (WebCore::RenderInline::renderName): 48471 48472 2009-01-26 Dimitri Glazkov <dglazkov (a] chromium.org> 48473 48474 Reviewed by Darin Adler. 48475 48476 https://bugs.webkit.org/show_bug.cgi?id=23480 48477 Add missing method stubs to BackForwardListChromium. 48478 48479 * history/BackForwardListChromium.cpp: 48480 (WebCore::BackForwardList::backItem): 48481 (WebCore::BackForwardList::forwardItem): 48482 48483 2009-01-25 Darin Adler <darin (a] apple.com> 48484 48485 Try to fix Tiger buildbot. 48486 48487 * WebCore.xcodeproj/project.pbxproj: Turn off cast-qual for WebDashboardRegion.m. 48488 * page/mac/WebDashboardRegion.m: 48489 (typeName): Added. 48490 (-[WebDashboardRegion description]): Use typeName. 48491 (-[WebDashboardRegion isEqual:]): Added comment. 48492 48493 2009-01-25 Alexey Proskuryakov <ap (a] webkit.org> 48494 48495 Reviewed by Darin Adler. 48496 48497 https://bugs.webkit.org/show_bug.cgi?id=23535 48498 Strengthen debug checks in KURL 48499 48500 Covered (and prompted) by existing tests. 48501 48502 * platform/KURL.cpp: 48503 (WebCore::checkEncodedString): Check that the first character of the URL is an allowed 48504 first scheme character, not just that it isn't a slash. 48505 (WebCore::KURL::KURL): Assert that parsing didn't affect the string (which must be the case 48506 because of parsing being idempotent). 48507 48508 * page/SecurityOrigin.cpp: 48509 (WebCore::SecurityOrigin::create): Added a check for the URL being valid - if it is not, an 48510 empty security origin is created. 48511 (WebCore::SecurityOrigin::createFromString): Parse the string as URL, do not just convert 48512 it - it is not guaranteed to be properly encoded. 48513 48514 * dom/Document.cpp: (WebCore::Document::updateBaseURL): As documentURI is an arbitrary 48515 string, it needs to be parsed into an URL, not just converted into one. 48516 48517 * html/CanvasRenderingContext2D.cpp: (WebCore::CanvasRenderingContext2D::createPattern): 48518 Create the security origin with createFromString() instead of create(). I do not know where 48519 the string comes from and whether it might not be properly encoded, but this change can't 48520 hurt, and makes the code slightly more clear. 48521 48522 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::accessControlCheck): Create the security 48523 origin with createFromString() instead of create(). The string comes from an HTTP response 48524 header, so it may not be a properly encoded URL. 48525 48526 * loader/DocLoader.cpp: (WebCore::DocLoader::requestResource): Do not try to request using 48527 invalid URLs. 48528 48529 * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Updated to call 48530 SecurityOrigin::createFromString() (no change in behavior). 48531 48532 2009-01-25 Mark Rowe <mrowe (a] apple.com> 48533 48534 Rubber-stamped by Dan Bernstein. 48535 48536 Improve the consistency of settings in our .xcconfig files. 48537 48538 * Configurations/Base.xcconfig: Enable GCC_OBJC_CALL_CXX_CDTORS to match other projects, 48539 and handle all cases in GCC_GENERATE_DEBUGGING_SYMBOLS. 48540 48541 2009-01-25 David Hyatt <hyatt (a] apple.com> 48542 48543 Fix for https://bugs.webkit.org/show_bug.cgi?id=23524, lots of missing content in table sections. 48544 48545 The new table code created a bug involving markAllDescendantsWithFloatsForLayout, namely that it could 48546 end up marking ancestors of a block as needing layout when that block was still in the process of 48547 doing a layout. 48548 48549 The fix is to add a parameter to markAllDescendantsWithFloatsForLayout that says whether or not 48550 we are "mid-layout." If this flag is set, then the method will make sure to do only local dirtying 48551 of objects to avoid accidentally marking a clean ancestor as needing layout again. 48552 48553 Ultimately the second parameter to setNeedsLayout and setChildNeedsLayout should just be removed, 48554 with a check of whether or not we are mid-layout being done by those methods instead. 48555 48556 Reviewed by Oliver Hunt 48557 48558 Added fast/repaint/dynamic-table-vertical-alignment-change.html 48559 48560 * rendering/RenderBlock.cpp: 48561 (WebCore::RenderBlock::collapseMargins): 48562 (WebCore::RenderBlock::clearFloatsIfNeeded): 48563 (WebCore::RenderBlock::layoutBlockChildren): 48564 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 48565 * rendering/RenderBlock.h: 48566 * rendering/RenderObject.cpp: 48567 (WebCore::RenderObject::removeFromObjectLists): 48568 * rendering/RenderObject.h: 48569 * rendering/RenderTableSection.cpp: 48570 (WebCore::RenderTableSection::layoutRows): 48571 48572 2009-01-25 Darin Adler <darin (a] apple.com> 48573 48574 Reviewed by Mark Rowe. 48575 48576 Bug 23352: Turn on more compiler warnings in the Mac build 48577 https://bugs.webkit.org/show_bug.cgi?id=23352 48578 48579 Turn on the following warnings: 48580 48581 -Wcast-qual 48582 -Wextra-tokens 48583 -Wformat=2 48584 -Winit-self 48585 -Wmissing-noreturn 48586 -Wpacked 48587 -Wrendundant-decls 48588 48589 * Configurations/Base.xcconfig: Added the new warnings. Switched to -Wextra instead of 48590 -W for clarity since we don't have to support the older versions of gcc that require the 48591 old -W syntax. Since we now use -Wformat=2, removed -Wformat-security. Also removed 48592 -Wno-format-y2k since we can have that one on now. 48593 48594 2009-01-25 Dan Bernstein <mitz (a] apple.com> 48595 48596 Reviewed by Oliver Hunt. 48597 48598 - fix <rdar://problem/6525618> REGRESSION (r39566): NewsFire crashes in 48599 string hashing code when opening a Digg RSS article 48600 48601 Test: fast/loader/null-request-after-willSendRequest.html 48602 48603 * loader/FrameLoader.cpp: 48604 (WebCore::FrameLoader::loadItem): Null-check the request returned from 48605 the client's willSendRequest method. 48606 48607 2009-01-25 David Hyatt <hyatt (a] apple.com> 48608 48609 Fix for <rdar://problem/6525392> REGRESSION (r40180): Scroll wheel events over text scroll the page 48610 instead of the ancestor overflow (23525) 48611 48612 Make sure that we always call scroll() on the nearest enclosing RenderBox. No test case is possible 48613 here, since wheel scrolling is currently untestable (the offset varies from machine to machine). 48614 48615 Reviewed by Dan Bernstein 48616 48617 * page/EventHandler.cpp: 48618 (WebCore::scrollAndAcceptEvent): 48619 (WebCore::EventHandler::scrollOverflow): 48620 * rendering/RenderObject.cpp: 48621 (WebCore::RenderObject::enclosingBox): 48622 * rendering/RenderObject.h: 48623 48624 2009-01-25 Darin Adler <darin (a] apple.com> 48625 48626 Reviewed by Dan Bernstein. 48627 48628 Bug 23538: REGRESSION (r39969): Garbage text instead of blank content rendered when plug-ins are disabled 48629 https://bugs.webkit.org/show_bug.cgi?id=23538 48630 rdar://problem/6523719 48631 48632 I'm not sure how to make a regression test for this, since it depends on plug-ins being disabled. 48633 48634 The main problem here is that when plug-ins were disabled, the code ignored the classId attribute and 48635 the <embed> element entirely. That resulted in a page treating a Flash document as plain HTML rather 48636 than doing fallback. 48637 48638 * rendering/RenderPartObject.cpp: 48639 (WebCore::createClassIdToTypeMap): Added. Broke this out into a separate function so we could get rid of an 48640 inelegant if statement. 48641 (WebCore::activeXType): Added. To avoid repeating the MIME type for ActiveX and possibly having a typo. 48642 (WebCore::havePlugin): Added. Helper function to make sure we don't forget the null check. 48643 (WebCore::serviceTypeForClassId): Give this function a return value since that's a more natural way to 48644 return a string than an "out" parameter. Fixed the logic to only prefer the ActiveX type over the 48645 type guessed from the classId when there actually is an ActiveX plug-in to use. The old function assumed 48646 there was one, which I presume right for Chrome on Windows when plug-ins are enabled, but wrong in many 48647 other cases, and wrong all the time for all clients on Mac. We don't want to assume either way. Use the 48648 new havePlugin function so we handle the case where pluginData is 0. 48649 (WebCore::shouldUseEmbedDescendant): Renamed. Simplified the comment. Changed to use serviceTypeForClassId 48650 instead of the old version that used an out parameter. Always use the <embed> if there isn't a plug-in 48651 that knows how to handle <object> elements. 48652 (WebCore::RenderPartObject::updateWidget): Removed null checks of pluginData. The two functions that 48653 use this data still need to be called; they still do something even if no plug-ins are present. And 48654 they have now been corrected to handle 0 properly. 48655 48656 2009-01-25 Darin Adler <darin (a] apple.com> 48657 48658 * rendering/RenderMenuList.cpp: Fix build by adding back needed include. 48659 48660 2009-01-25 Darin Adler <darin (a] apple.com> 48661 48662 Reviewed by Sam Weinig. 48663 48664 Bug 23352: Turn on more compiler warnings in the Mac build 48665 https://bugs.webkit.org/show_bug.cgi?id=23352 48666 48667 Fourth patch: Deal with the last few stray warnings. 48668 48669 * rendering/RenderBlock.cpp: 48670 (WebCore::RenderBlock::firstLineBlock): Handle the const_cast a little better. 48671 Also make the local variable be a RenderBlock so the cast is closer to the code 48672 that guarantees it's correct. 48673 48674 * rendering/SVGRenderTreeAsText.cpp: 48675 (WebCore::writeStyle): Put the enum into a local variable that's a built-in 48676 type before using it with TextStream, so we don't get a warning due to -Wsign-promo. 48677 48678 2009-01-25 Darin Adler <darin (a] apple.com> 48679 48680 Reviewed by Sam Weinig. 48681 48682 Bug 23522: use checked casts for render tree 48683 https://bugs.webkit.org/show_bug.cgi?id=23522 48684 48685 Step one: RenderText. 48686 48687 Also change set of RenderFlow* to be a ListHashSet as the comment in the 48688 header indicated. 48689 48690 * dom/CharacterData.cpp: 48691 (WebCore::CharacterData::setData): Use toRenderText. 48692 (WebCore::CharacterData::appendData): Ditto. 48693 (WebCore::CharacterData::insertData): Ditto. 48694 (WebCore::CharacterData::deleteData): Ditto. 48695 (WebCore::CharacterData::replaceData): Ditto. 48696 * dom/ContainerNode.cpp: 48697 (WebCore::ContainerNode::getUpperLeftCorner): Ditto. 48698 (WebCore::ContainerNode::getLowerRightCorner): Ditto. 48699 * dom/Position.cpp: 48700 (WebCore::nextRenderedEditable): Ditto. 48701 (WebCore::previousRenderedEditable): Ditto. 48702 (WebCore::Position::renderedOffset): Ditto. Also use function members 48703 instead of data members of InlineTextBox. 48704 (WebCore::Position::upstream): Ditto. 48705 (WebCore::Position::downstream): Ditto. 48706 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): Ditto. 48707 (WebCore::Position::inRenderedText): Ditto. 48708 (WebCore::Position::isRenderedCharacter): Ditto. 48709 (WebCore::searchAheadForBetterMatch): Ditto. 48710 (WebCore::Position::getInlineBoxAndOffset): Ditto. 48711 48712 * dom/Range.cpp: Added include of VisiblePosition.h now that it's no longer 48713 included in RenderObject.h. 48714 48715 * dom/Text.cpp: 48716 (WebCore::Text::splitText): Use toRenderText. 48717 (WebCore::Text::recalcStyle): Ditto. 48718 * editing/CompositeEditCommand.cpp: 48719 (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto. 48720 * editing/SelectionController.cpp: 48721 (WebCore::SelectionController::debugRenderer): Ditto. 48722 * editing/TextIterator.cpp: 48723 (WebCore::TextIterator::handleTextNode): Ditto. 48724 (WebCore::TextIterator::handleTextBox): Ditto. 48725 (WebCore::TextIterator::emitText): Ditto. 48726 (WebCore::SimplifiedBackwardsTextIterator::handleTextNode): Ditto. 48727 48728 * editing/VisiblePosition.cpp: Added include of FloatQuad.h now that it's 48729 no longer included in RenderObject.h. 48730 * inspector/InspectorController.cpp: Ditto. 48731 * page/Frame.cpp: Ditto. 48732 * rendering/RenderBox.cpp: Ditto. 48733 * rendering/RenderInline.cpp: Ditto. 48734 * rendering/RenderPath.cpp: Ditto. 48735 * rendering/RenderSVGContainer.cpp: Ditto. 48736 * rendering/RenderSVGImage.cpp: Ditto. 48737 * rendering/RenderSVGInlineText.cpp: Ditto. 48738 * rendering/RenderSVGTSpan.cpp: Ditto. 48739 * rendering/RenderSVGText.cpp: Ditto. 48740 * rendering/RenderSVGTextPath.cpp: Ditto. 48741 * rendering/RenderTableCell.cpp: Ditto. 48742 * rendering/RenderView.cpp: Ditto. 48743 48744 * editing/visible_units.cpp: 48745 (WebCore::startPositionForLine): Use function members instead of data 48746 members of InlineTextBox. 48747 (WebCore::endPositionForLine): Ditto. 48748 (WebCore::startOfParagraph): Use toRenderText. 48749 (WebCore::endOfParagraph): Ditto. 48750 48751 * page/AccessibilityRenderObject.cpp: 48752 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): Use toRenderText. 48753 * rendering/InlineFlowBox.cpp: 48754 (WebCore::InlineFlowBox::placeBoxesHorizontally): Ditto. 48755 * rendering/InlineTextBox.cpp: 48756 (WebCore::InlineTextBox::deleteLine): Ditto. 48757 (WebCore::InlineTextBox::extractLine): Ditto. 48758 (WebCore::InlineTextBox::attachLine): Ditto. 48759 (WebCore::InlineTextBox::placeEllipsisBox): Ditto. 48760 (WebCore::InlineTextBox::paintDecoration): Ditto. 48761 (WebCore::InlineTextBox::paintCompositionUnderline): Ditto. 48762 (WebCore::InlineTextBox::offsetForPosition): Ditto. 48763 (WebCore::InlineTextBox::positionForOffset): Ditto. 48764 48765 * rendering/InlineTextBox.h: Made most members private. Use toRenderText. 48766 48767 * rendering/RenderArena.cpp: 48768 (WebCore::RenderArena::allocate): Use static_cast instead of C-style cast. 48769 (WebCore::RenderArena::free): Ditto. 48770 48771 * rendering/RenderBlock.cpp: 48772 (WebCore::RenderBlock::addContinuationWithOutline): Use ListHashSet<RenderFlow*> 48773 instead of RenderFlowSequencedSet. 48774 (WebCore::RenderBlock::paintContinuationOutlines): Ditto. 48775 (WebCore::stripTrailingSpace): Ditto. 48776 (WebCore::RenderBlock::calcInlinePrefWidths): Ditto. 48777 (WebCore::RenderBlock::updateFirstLetter): Ditto. 48778 48779 * rendering/RenderContainer.cpp: 48780 (WebCore::RenderContainer::addChild): Use toRenderText. 48781 48782 * rendering/RenderFlow.cpp: 48783 (WebCore::RenderFlow::dirtyLinesFromChangedChild): Use ListHashSet<RenderFlow*> 48784 instead of RenderFlowSequencedSet. 48785 (WebCore::RenderFlow::paintLines): Ditto. 48786 48787 * rendering/RenderMenuList.cpp: Removed some unneeded includes. 48788 48789 * rendering/RenderMenuList.h: Added now-needed forward declaration of RenderText. 48790 Made more members private. 48791 48792 * rendering/RenderObject.cpp: Updated includes. 48793 (WebCore::RenderObject::isEditable): Use toRenderText. 48794 (WebCore::RenderObject::positionForPoint): Made non-inline so we wouldn't have to 48795 include VisiblePosition.h in the header just for this. 48796 48797 * rendering/RenderObject.h: Removed unneeded includes and forward declarations. 48798 Changed special vertical position values to be constants rather than an enum. 48799 Eliminated RenderFlowSequencedSet, and changed clients to use ListHashSet<RenderFlow*>. 48800 48801 * rendering/RenderText.cpp: 48802 (WebCore::RenderText::findNextInlineTextBox): Use function members instead of 48803 data members of InlineTextBox. 48804 (WebCore::RenderText::positionForCoordinates): Ditto. 48805 (WebCore::isInlineFlowOrEmptyText): Use toRenderText. 48806 (WebCore::RenderText::previousCharacter): Use function members instead of 48807 data members of InlineTextBox. 48808 (WebCore::RenderText::position): Ditto. 48809 (WebCore::RenderText::caretMinOffset): Ditto. 48810 (WebCore::RenderText::caretMaxOffset): Ditto. 48811 (WebCore::RenderText::caretMaxRenderedOffset): Ditto. 48812 48813 * rendering/RenderText.h: Added definition of toRenderText. 48814 48815 * rendering/RenderTextControl.cpp: 48816 (WebCore::RenderTextControl::textWithHardLineBreaks): Use toRenderText. 48817 * rendering/RenderTreeAsText.cpp: 48818 (WebCore::operator<<): Use toRenderText and toRenderBox. 48819 (WebCore::writeTextRun): Ditto. 48820 (WebCore::write): Ditto. 48821 48822 * rendering/bidi.cpp: 48823 (WebCore::InlineIterator::increment): Use toRenderText. 48824 (WebCore::InlineIterator::current): Ditto. 48825 (WebCore::checkMidpoints): Ditto. 48826 (WebCore::RenderBlock::computeHorizontalPositionsForLine): Ditto. 48827 (WebCore::RenderBlock::layoutInlineChildren): Ditto. 48828 (WebCore::RenderBlock::determineStartPosition): Ditto. 48829 (WebCore::shouldSkipWhitespaceAfterStartObject): Ditto. 48830 (WebCore::RenderBlock::findNextLineBreak): Ditto. 48831 48832 2009-01-25 Thiago Macieira <thiago.macieira (a] nokia.com> 48833 48834 Reviewed by Simon Hausmann. 48835 48836 Fix gcc compiler warning (deprecated conversion from constant string to char*) 48837 48838 "" cannot be stored in a char* 48839 48840 * plugins/PluginStream.cpp: 48841 (WebCore::PluginStream::destroyStream): 48842 48843 2009-01-24 Alexey Proskuryakov <ap (a] webkit.org> 48844 48845 Reviewed by Darin Adler. 48846 48847 <rdar://problem/5954398> REGRESSION: 1.1% PLT regression from 33577 and 33578 (encoding fixes) 48848 48849 Changed single argument KURL constructors back to always expect an already encoded string, 48850 eliminating extra conversions. 48851 48852 This is a rather unstable situation, as it is often unclear whether a given string is safe 48853 to convert to KURL without resolving. I think that going forward, the solution is to try to 48854 keep encoded URLs as KURL instances, and not as strings. 48855 48856 * platform/KURL.h: Updated comments. 48857 48858 * platform/KURL.cpp: 48859 (WebCore::KURL::KURL): In debug builds, verify that the passed string is ASCII-only. The 48860 intention is to verify that it is already parsed and encoded by KURL or equivalent code, but 48861 since encoding is scheme-dependent, such a verification would be quite complicated. 48862 Don't encode the string as UTF-8, as it supposed to be ASCII-only. 48863 Removed a hack that made strings beginning with "/" turn into "file:" URLs. I didn't find 48864 any reason for it to exist, but I saw several cases where this code path was taken 48865 inadvertently (see examples in LayoutTests/ChangeLog). 48866 (WebCore::KURL::setProtocol): Using a user-provided string without validation or encoding 48867 is clearly wrong here (e.g., the "protocol" can be set to a full URL, effectively replacing 48868 the old one), and an already encoded string is expected by parse(). 48869 In debug builds, non-ASCII input will make an assertion in parse() fail. Added a FIXME. 48870 (WebCore::KURL::setHost): Ditto. 48871 (WebCore::KURL::setPort): Ditto. 48872 (WebCore::KURL::setHostAndPort): Ditto. 48873 (WebCore::KURL::setUser): Ditto. 48874 (WebCore::KURL::setPass): Ditto. 48875 (WebCore::KURL::setRef): Ditto. 48876 (WebCore::KURL::setQuery): Ditto. 48877 (WebCore::KURL::setPath): Ditto. 48878 (WebCore::KURL::parse): Verify that the passed string is already encoded. 48879 48880 * html/HTMLLinkElement.cpp: 48881 (WebCore::HTMLLinkElement::parseMappedAttribute): 48882 (WebCore::HTMLLinkElement::process): 48883 * html/HTMLLinkElement.h: 48884 Changed to avoid using invalid URLs (this was causing problems on DNS prefetch tests, see 48885 LayoutTests/ChangeLog). 48886 48887 * loader/FrameLoader.cpp: 48888 (WebCore::FrameLoader::init): Create an empty KURL without indirection for a small speedup. 48889 (WebCore::FrameLoader::requestFrame): Resolve and encode javascript URLs properly, now that 48890 String to KURL conversion requires the string to be already encoded. 48891 48892 * page/DOMWindow.cpp: (WebCore::DOMWindow::postMessage): Resolve and encode the origin. 48893 HTML5 seems a little unclear on how this should work (it talks about "either parsing it as 48894 a URL, or resolving it", and then somehow compares unaltered targetOrigin string to a 48895 security origin object), so I just made the code as close to what we already had as possible. 48896 48897 2009-01-24 Darin Adler <darin (a] apple.com> 48898 48899 Try to fix Qt build. 48900 48901 * WebCore.pro: Added JSTextCustom.cpp. 48902 48903 2009-01-23 Chris Marrin <cmarrin (a] apple.com> 48904 48905 Reviewed by David Hyatt. 48906 48907 https://bugs.webkit.org/show_bug.cgi?id=23467 48908 48909 Change styleAvailable functionality to be a linked list 48910 rather than scanning every CompositeAnimation for 48911 Animations that are waiting for styleAvailable. This has 48912 potential for large performance improvement in cases where 48913 there are many animations firing at once. But it will also 48914 help in my next fix, which is to synchronize software and 48915 accelerated animations. 48916 48917 I also changed slightly when the beginAnimationUpdate and 48918 endAnimationUpdate calls are made. But this has no real 48919 effect on performance or behavior. 48920 48921 * dom/Document.cpp: 48922 (WebCore::Document::recalcStyle): 48923 (WebCore::Document::updateRendering): 48924 * page/animation/AnimationBase.cpp: 48925 (WebCore::AnimationBase::AnimationBase): 48926 (WebCore::AnimationBase::~AnimationBase): 48927 (WebCore::AnimationBase::updateStateMachine): 48928 * page/animation/AnimationBase.h: 48929 (WebCore::AnimationBase::next): 48930 (WebCore::AnimationBase::setNext): 48931 (WebCore::AnimationBase::styleAvailable): 48932 * page/animation/AnimationController.cpp: 48933 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 48934 (WebCore::AnimationControllerPrivate::addToStyleAvailableWaitList): 48935 (WebCore::AnimationControllerPrivate::removeFromStyleAvailableWaitList): 48936 (WebCore::AnimationControllerPrivate::styleAvailable): 48937 (WebCore::AnimationController::AnimationController): 48938 (WebCore::AnimationController::endAnimationUpdate): 48939 (WebCore::AnimationController::addToStyleAvailableWaitList): 48940 (WebCore::AnimationController::removeFromStyleAvailableWaitList): 48941 * page/animation/AnimationController.h: 48942 * page/animation/CompositeAnimation.cpp: 48943 (WebCore::CompositeAnimationPrivate::addToStyleAvailableWaitList): 48944 (WebCore::CompositeAnimationPrivate::removeFromStyleAvailableWaitList): 48945 (WebCore::CompositeAnimation::addToStyleAvailableWaitList): 48946 (WebCore::CompositeAnimation::removeFromStyleAvailableWaitList): 48947 * page/animation/CompositeAnimation.h: 48948 48949 2009-01-24 Alexey Proskuryakov <ap (a] webkit.org> 48950 48951 Reviewed by Darin Adler. 48952 48953 <rdar://problem/6368059> REGRESSION: URL encoding problems on http://www.cineman.ch 48954 48955 Test: http/tests/xmlhttprequest/encode-request-url-2.html 48956 48957 * platform/KURL.cpp: 48958 (WebCore::appendASCII): Added a helper function. 48959 (WebCore::KURL::KURL): Explicitly encode the URL to call two-argument parse() with better 48960 specified behavior. 48961 (WebCore::KURL::init): Ditto. This avoids trying to round-trip an URL encoded into a byte 48962 stream, but not yet transformed to ASCII-only using percent escapes. Since different parts 48963 of the byte stream can use different encodings, round-tripping is not possible. 48964 (WebCore::KURL::parse): Reverted an earlier change that made the single-argument version of 48965 this function convert the string to utf-8. I think that on the remanining code paths, it is 48966 correct to assume that the string is all ASCII, but I'm not yet confident enough to drop a 48967 FIXME warning. 48968 48969 2009-01-24 Jan Michael Alonzo <jmalonzo (a] webkit.org> 48970 48971 Gtk build fix after r40170 48972 48973 * GNUmakefile.am: Removed editing/RemoveNodeAttributeCommand.cpp 48974 and editing/RemoveNodeAttributeCommand.h 48975 48976 2009-01-23 Adam Treat <adam.treat (a] torchmobile.com> 48977 48978 Fix the Qt build after r40205. 48979 48980 * WebCore.pro: 48981 48982 2009-01-23 Brady Eidson <beidson (a] apple.com> 48983 48984 Reviewed by Darin Adler 48985 48986 In CachedPage, break off per-Frame pieces of data into a CachedFrame object. 48987 48988 * GNUmakefile.am: 48989 * WebCore.base.exp: 48990 * WebCore.pro: 48991 * WebCore.scons: 48992 * WebCore.vcproj/WebCore.vcproj: 48993 * WebCore.xcodeproj/project.pbxproj: 48994 * WebCoreSources.bkl: 48995 48996 * history/CachedFrame.cpp: Added. 48997 (WebCore::cachedFrameCounter): 48998 (WebCore::CachedFrame::CachedFrame): 48999 (WebCore::CachedFrame::~CachedFrame): 49000 (WebCore::CachedFrame::restore): 49001 (WebCore::CachedFrame::clear): 49002 (WebCore::CachedFrame::setCachedFramePlatformData): 49003 (WebCore::CachedFrame::cachedFramePlatformData): 49004 * history/CachedFrame.h: Added. 49005 (WebCore::CachedFrame::document): 49006 (WebCore::CachedFrame::documentLoader): 49007 (WebCore::CachedFrame::view): 49008 (WebCore::CachedFrame::mousePressNode): 49009 (WebCore::CachedFrame::url): 49010 (WebCore::CachedFrame::domWindow): 49011 49012 * history/CachedPage.cpp: 49013 (WebCore::CachedPage::CachedPage): 49014 (WebCore::CachedPage::restore): 49015 (WebCore::CachedPage::clear): 49016 (WebCore::CachedPage::setCachedFramePlatformData): 49017 (WebCore::CachedPage::cachedFramePlatformData): 49018 * history/CachedPage.h: 49019 (WebCore::CachedPage::document): 49020 (WebCore::CachedPage::documentLoader): 49021 (WebCore::CachedPage::view): 49022 (WebCore::CachedPage::mousePressNode): 49023 (WebCore::CachedPage::url): 49024 (WebCore::CachedPage::domWindow): 49025 49026 * loader/FrameLoader.cpp: 49027 (WebCore::FrameLoader::cachePageForHistoryItem): Setting the DocumentLoader independently of 49028 creating a CachedPage was a historical relic. Take the opportunity to clean that up. 49029 49030 2009-01-23 David Hyatt <hyatt (a] apple.com> 49031 49032 Add ASSERTs to catch anyone trying to obtain the width/height of an inline flow. Fix up all the places 49033 that triggered the ASSERT (since all of these places are effectively regressions from my landing that 49034 devirtualized width()/height()). 49035 49036 Reviewed by Adele 49037 49038 * dom/Position.cpp: 49039 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): 49040 * editing/DeleteButtonController.cpp: 49041 (WebCore::isDeletableElement): 49042 * html/HTMLAnchorElement.cpp: 49043 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 49044 * rendering/RenderBox.cpp: 49045 (WebCore::RenderBox::clientWidth): 49046 (WebCore::RenderBox::clientHeight): 49047 (WebCore::RenderBox::scrollWidth): 49048 (WebCore::RenderBox::scrollHeight): 49049 (WebCore::RenderBox::absoluteOutlineBounds): 49050 * rendering/RenderBox.h: 49051 (WebCore::RenderBox::width): 49052 (WebCore::RenderBox::height): 49053 (WebCore::RenderBox::size): 49054 (WebCore::RenderBox::frameRect): 49055 (WebCore::RenderBox::borderBoundingBox): 49056 * rendering/RenderFlow.h: 49057 (WebCore::RenderFlow::borderBoundingBox): 49058 * rendering/RenderLayer.cpp: 49059 (WebCore::RenderLayer::updateLayerPosition): 49060 * rendering/RenderScrollbarPart.cpp: 49061 (WebCore::RenderScrollbarPart::styleWillChange): 49062 * rendering/RenderScrollbarPart.h: 49063 * wml/WMLAElement.cpp: 49064 (WebCore::WMLAElement::isKeyboardFocusable): 49065 49066 2009-01-23 Darin Adler <darin (a] apple.com> 49067 49068 Reviewed by Anders Carlsson. 49069 49070 Bug 23352: Turn on more compiler warnings in the Mac build 49071 https://bugs.webkit.org/show_bug.cgi?id=23352 49072 49073 Second patch: Slightly less simple cases of various warnings. 49074 49075 * bridge/jni/jni_runtime.h: 49076 (JSC::Bindings::JavaString::_commonInit): Use reinterpret_cast here and avoid casting 49077 away const. 49078 49079 * dom/XMLTokenizerLibxml2.cpp: 49080 (WebCore::PendingCallbacks::appendStartElementNSCallback): Use static_cast instead of 49081 reinterpret_cast; this is casting the result of malloc, and the idiom is to use 49082 static_cast, which works because we're casting from void*. 49083 (WebCore::PendingCallbacks::PendingStartElementNSCallback::call): Use const_cast instead 49084 C-style casts. 49085 49086 * xml/XSLTUnicodeSort.cpp: 49087 (inlineXSLTTransformError): Tweak soft linking of xsltTransformError to use a macro 49088 instead of redefining the function. 49089 49090 2009-01-23 Darin Adler <darin (a] apple.com> 49091 49092 Reviewed by Anders Carlsson. 49093 49094 Bug 23475: fast/text/find-backwards.html fails with ICU disabled SearchBuffer 49095 https://bugs.webkit.org/show_bug.cgi?id=23475 49096 49097 * editing/TextIterator.cpp: 49098 (WebCore::SearchBuffer::search): Set the character start flag to false to 49099 ensure we won't ever return the same result twice. There are other ways we 49100 could accomplish this, mentioned in the comment, but this one was the smallest 49101 and cleanest I could think of. 49102 49103 2009-01-23 Darin Adler <darin (a] apple.com> 49104 49105 Reviewed by Anders Carlsson. 49106 49107 Bug 23510: REGRESSION (r40171): CDATASection objects not getting proper JavaScript wrappers 49108 https://bugs.webkit.org/show_bug.cgi?id=23510 49109 49110 That patch fixed the optimization that's supposed to give a faster path for 49111 allocating the wrappers for DOM Text objects. But CDATASection is the one 49112 subclass of Text objects. 49113 49114 * GNUmakefile.am: Added JSCDATASectionCustom.cpp. 49115 * WebCore.scons: Ditto. 49116 * WebCore.vcproj/WebCore.vcproj: Ditto. 49117 * WebCore.xcodeproj/project.pbxproj: Ditto. 49118 * WebCoreSources.bkl: Ditto. 49119 49120 * bindings/js/JSCDATASectionCustom.cpp: Copied from bindings/js/JSTextCustom.cpp. 49121 (WebCore::toJSNewlyCreated): Changed to do CDATASection, not Text. 49122 49123 * bindings/scripts/CodeGeneratorJS.pm: Added another toJSNewlyCreated function 49124 for CDATASection. We don't want to have to check when creating a wrapper for a 49125 Text object whether it's a CDATASection object or not, so we need to do this overload 49126 at compile time. 49127 49128 2009-01-23 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 49129 49130 Reviewed by Eric Seidel. 49131 49132 Add a base class for WML form control elements: WMLFormControlElement (as it's designed in HTML as well). 49133 WMLFormControlElement inherits from WMLElement and FormControlElement (just like the HTMLFormControlElement equivalent). 49134 49135 WMLInputElement / WMLOptionElement / WMLOptGroupElement are supposed to inherit from the new WMLFormControlElement class. 49136 Now WMLInputElement & WMLOptGroupElement only inherit from WMLElement and FormControlElement, but WMLOptionElement inherits 49137 from WMLEventHandlingElement (which in turn inherits from WMLElement) and FormControlElement. In order to introduce a shared 49138 base class, WMLEventHandlingElement is no longer allowed to inherit from WMLElement directly. Instead it should turn into 49139 another base class, just like FormControlElement. 49140 49141 Add a base class for form control elements 'with state': FormControlElementWithState, serving as base class for 49142 HTMLFormControlElementWithState and WMLFormControlElementWithState. -> Make Document operate on FormControlElementWithState 49143 objects instead of HTMLFormControlElementWithState objects, to support save/restore control state for non HTMLFormControlElements. 49144 49145 Rename isGenericFormElement() to isFormControlElement(), and move it to Element.h 49146 Add new virtual function isFormControlElementWithState() to Element.h. 49147 49148 * GNUmakefile.am: 49149 * WebCore.order: 49150 * WebCore.pro: 49151 * WebCore.scons: 49152 * WebCore.vcproj/WebCore.vcproj: 49153 * WebCore.xcodeproj/project.pbxproj: 49154 * WebCoreSources.bkl: 49155 * dom/Document.cpp: 49156 (WebCore::Document::formElementsState): 49157 * dom/Document.h: 49158 (WebCore::Document::registerFormElementWithState): 49159 (WebCore::Document::unregisterFormElementWithState): 49160 * dom/Element.h: 49161 (WebCore::Element::isFormControlElement): 49162 (WebCore::Element::isFormControlElementWithState): 49163 * dom/FormControlElement.cpp: 49164 (WebCore::toFormControlElement): 49165 * dom/FormControlElement.h: 49166 * dom/FormControlElementWithState.cpp: Added. 49167 (WebCore::FormControlElementWithState::registerFormControlElementWithState): 49168 (WebCore::FormControlElementWithState::unregisterFormControlElementWithState): 49169 (WebCore::FormControlElementWithState::finishParsingChildren): 49170 (WebCore::toFormControlElementWithState): 49171 * dom/FormControlElementWithState.h: Added. 49172 (WebCore::FormControlElementWithState::~FormControlElementWithState): 49173 (WebCore::FormControlElementWithState::FormControlElementWithState): 49174 * html/HTMLElement.h: 49175 * html/HTMLFormControlElement.cpp: 49176 (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState): 49177 (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState): 49178 (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument): 49179 (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument): 49180 * html/HTMLFormControlElement.h: 49181 (WebCore::HTMLFormControlElement::isFormControlElement): 49182 (WebCore::HTMLFormControlElementWithState::isFormControlElementWithState): 49183 (WebCore::HTMLFormControlElementWithState::toFormControlElement): 49184 * html/HTMLFormElement.cpp: 49185 (WebCore::HTMLFormElement::formElementIndex): 49186 * html/HTMLLabelElement.cpp: 49187 (WebCore::HTMLLabelElement::correspondingControl): 49188 * html/HTMLLegendElement.cpp: 49189 (WebCore::HTMLLegendElement::formElement): 49190 * page/Frame.cpp: 49191 (WebCore::Frame::searchForLabelsBeforeElement): 49192 (WebCore::scanForForm): 49193 (WebCore::Frame::currentForm): 49194 * page/mac/FrameMac.mm: 49195 (WebCore::Frame::searchForLabelsBeforeElement): 49196 * wml/WMLCardElement.cpp: 49197 (WebCore::WMLCardElement::WMLCardElement): 49198 (WebCore::WMLCardElement::parseMappedAttribute): 49199 (WebCore::WMLCardElement::insertedIntoDocument): 49200 * wml/WMLCardElement.h: 49201 * wml/WMLDoElement.cpp: 49202 (WebCore::WMLDoElement::insertedIntoDocument): 49203 * wml/WMLElement.h: 49204 (WebCore::WMLElement::isWMLElement): 49205 * wml/WMLEventHandlingElement.cpp: 49206 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement): 49207 (WebCore::WMLEventHandlingElement::registerDoElement): 49208 (WebCore::toWMLEventHandlingElement): 49209 * wml/WMLEventHandlingElement.h: 49210 * wml/WMLFormControlElement.cpp: Added. 49211 (WebCore::WMLFormControlElement::WMLFormControlElement): 49212 (WebCore::WMLFormControlElement::~WMLFormControlElement): 49213 (WebCore::WMLFormControlElementWithState::WMLFormControlElementWithState): 49214 (WebCore::WMLFormControlElementWithState::~WMLFormControlElementWithState): 49215 * wml/WMLFormControlElement.h: Added. 49216 (WebCore::WMLFormControlElement::isFormControlElement): 49217 (WebCore::WMLFormControlElement::valueMatchesRenderer): 49218 (WebCore::WMLFormControlElement::setValueMatchesRenderer): 49219 (WebCore::WMLFormControlElement::name): 49220 (WebCore::WMLFormControlElementWithState::isFormControlElementWithState): 49221 (WebCore::WMLFormControlElementWithState::toFormControlElement): 49222 * wml/WMLInputElement.cpp: 49223 (WebCore::WMLInputElement::WMLInputElement): 49224 (WebCore::WMLInputElement::type): 49225 * wml/WMLInputElement.h: 49226 * wml/WMLOnEventElement.cpp: 49227 (WebCore::WMLOnEventElement::registerTask): 49228 * wml/WMLOptGroupElement.cpp: 49229 (WebCore::WMLOptGroupElement::WMLOptGroupElement): 49230 (WebCore::WMLOptGroupElement::type): 49231 * wml/WMLOptGroupElement.h: 49232 * wml/WMLOptionElement.cpp: 49233 (WebCore::WMLOptionElement::WMLOptionElement): 49234 (WebCore::WMLOptionElement::type): 49235 * wml/WMLOptionElement.h: 49236 * wml/WMLTemplateElement.cpp: 49237 (WebCore::WMLTemplateElement::WMLTemplateElement): 49238 (WebCore::WMLTemplateElement::parseMappedAttribute): 49239 * wml/WMLTemplateElement.h: 49240 49241 2009-01-23 Chris Fleizach <cfleizach (a] apple.com> 49242 49243 Reviewed by Darin Adler. 49244 49245 Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:] 49246 https://bugs.webkit.org/show_bug.cgi?id=23509 49247 49248 Add null checking in makeRange instead of AX code 49249 49250 * editing/VisiblePosition.cpp: 49251 (WebCore::makeRange): 49252 * page/AccessibilityObject.cpp: 49253 (WebCore::AccessibilityObject::nextSentenceEndPosition): 49254 (WebCore::AccessibilityObject::previousSentenceStartPosition): 49255 49256 2009-01-23 Adam Treat <adam.treat (a] torchmobile.com> 49257 49258 Fix the Gtk build too after removal of RenderBox::toConstRenderBox 49259 49260 * platform/gtk/RenderThemeGtk.cpp: 49261 (WebCore::RenderThemeGtk::baselinePosition): 49262 49263 2009-01-23 Adam Treat <adam.treat (a] torchmobile.com> 49264 49265 Fix the Qt build after rename of RenderBox::toConstRenderBox -> toRenderBox 49266 49267 * platform/qt/RenderThemeQt.cpp: 49268 (WebCore::RenderThemeQt::baselinePosition): 49269 49270 2009-01-23 Adam Treat <adam.treat (a] torchmobile.com> 49271 49272 Fix the Qt build after r40168. 49273 49274 * WebCore.pro: 49275 49276 2009-01-23 Brady Eidson <beidson (a] apple.com> 49277 49278 Rubberstamped by Darin Adler 49279 49280 Rename CachedPagePlatformData to CachedFramePlatformData to more accurately reflect its true role. 49281 49282 * GNUmakefile.am: 49283 * WebCore.base.exp: 49284 * WebCore.order: 49285 * WebCore.xcodeproj/project.pbxproj: 49286 49287 * history/CachedFramePlatformData.h: Copied from WebCore/history/CachedPagePlatformData.h. 49288 (WebCore::CachedFramePlatformData::~CachedFramePlatformData): 49289 * history/CachedPagePlatformData.h: Removed. 49290 49291 * history/CachedPage.cpp: 49292 (WebCore::CachedPage::clear): 49293 (WebCore::CachedPage::setCachedFramePlatformData): 49294 (WebCore::CachedPage::cachedFramePlatformData): 49295 * history/CachedPage.h: 49296 49297 2009-01-23 Kevin Watters <kevinwatters (a] gmail.com> 49298 49299 Reviewed by Kevin Ollivier. 49300 49301 Fix drawing in situations where sub-portions of the bitmap are to be 49302 drawn to the screen. 49303 49304 * platform/graphics/wx/ImageWx.cpp: 49305 (WebCore::BitmapImage::draw): 49306 49307 2009-01-23 Kevin Ollivier <kevino (a] theolliviers.com> 49308 49309 Build fixes for recent changes. 49310 49311 * WebCoreSources.bkl: 49312 * plugins/PluginView.cpp: 49313 (WebCore::PluginView::invalidateWindowlessPluginRect): 49314 49315 2009-01-23 Eric Carlson <eric.carlson (a] apple.com> 49316 49317 Reviewed by Adele Peterson 49318 49319 Fix for https://bugs.webkit.org/show_bug.cgi?id=23407 49320 49321 Implement QTMovieWin::hasVideo so the controller on an audio-only <video> element 49322 is never hidden (as with an <audio> element). 49323 49324 Test: media/video-controls-visible-audio-only.html 49325 49326 * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: 49327 (WebCore::MediaPlayerPrivate::hasVideo): 49328 * platform/graphics/win/QTMovieWin.cpp: 49329 (QTMovieWin::hasVideo): 49330 * platform/graphics/win/QTMovieWin.h: 49331 49332 2009-01-23 David Hyatt <hyatt (a] apple.com> 49333 49334 Make toRenderBox a non-member function. Rename toConstRenderBox to just also be called toRenderBox. 49335 49336 Reviewed by Oliver Hunt 49337 49338 * css/CSSComputedStyleDeclaration.cpp: 49339 (WebCore::sizingBox): 49340 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 49341 * dom/ContainerNode.cpp: 49342 (WebCore::ContainerNode::getUpperLeftCorner): 49343 (WebCore::ContainerNode::getLowerRightCorner): 49344 * dom/Element.cpp: 49345 (WebCore::Element::scrollByUnits): 49346 * dom/Position.cpp: 49347 (WebCore::endsOfNodeAreVisuallyDistinctPositions): 49348 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): 49349 (WebCore::Position::isCandidate): 49350 * editing/DeleteButtonController.cpp: 49351 (WebCore::isDeletableElement): 49352 * editing/EditorCommand.cpp: 49353 (WebCore::verticalScrollDistance): 49354 * editing/TextIterator.cpp: 49355 (WebCore::shouldEmitExtraNewlineForNode): 49356 * html/HTMLAnchorElement.cpp: 49357 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 49358 * html/HTMLFormControlElement.cpp: 49359 (WebCore::HTMLFormControlElement::isFocusable): 49360 * html/HTMLFrameElementBase.cpp: 49361 (WebCore::HTMLFrameElementBase::width): 49362 (WebCore::HTMLFrameElementBase::height): 49363 * page/AccessibilityRenderObject.cpp: 49364 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 49365 * page/EventHandler.cpp: 49366 (WebCore::EventHandler::handleMouseDraggedEvent): 49367 (WebCore::EventHandler::autoscrollTimerFired): 49368 (WebCore::EventHandler::updateAutoscrollRenderer): 49369 (WebCore::EventHandler::stopAutoscrollTimer): 49370 (WebCore::EventHandler::scrollOverflow): 49371 * page/FrameView.cpp: 49372 (WebCore::FrameView::layout): 49373 * page/animation/AnimationBase.cpp: 49374 (WebCore::blendFunc): 49375 * rendering/InlineBox.cpp: 49376 (WebCore::InlineBox::adjustPosition): 49377 * rendering/InlineBox.h: 49378 (WebCore::InlineBox::renderBox): 49379 * rendering/RenderBlock.cpp: 49380 (WebCore::RenderBlock::clearFloats): 49381 * rendering/RenderBox.cpp: 49382 (WebCore::RenderBox::offsetFromContainer): 49383 (WebCore::RenderBox::computeAbsoluteRepaintRect): 49384 (WebCore::RenderBox::containingBlockWidthForPositioned): 49385 (WebCore::RenderBox::containingBlockHeightForPositioned): 49386 (WebCore::RenderBox::calcAbsoluteHorizontal): 49387 (WebCore::RenderBox::calcAbsoluteVertical): 49388 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 49389 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 49390 * rendering/RenderBox.h: 49391 (WebCore::toRenderBox): 49392 (WebCore::RenderBox::previousSiblingBox): 49393 (WebCore::RenderBox::nextSiblingBox): 49394 (WebCore::RenderBox::parentBox): 49395 * rendering/RenderFlow.cpp: 49396 (WebCore::RenderFlow::absoluteClippedOverflowRect): 49397 * rendering/RenderLayer.cpp: 49398 (WebCore::RenderLayer::updateLayerPosition): 49399 (WebCore::RenderLayer::resize): 49400 (WebCore::RenderLayer::boundingBox): 49401 * rendering/RenderObject.cpp: 49402 (WebCore::addLayers): 49403 (WebCore::RenderObject::removeLayers): 49404 (WebCore::RenderObject::moveLayers): 49405 (WebCore::RenderObject::findNextLayer): 49406 (WebCore::RenderObject::enclosingLayer): 49407 (WebCore::RenderObject::setNeedsLayout): 49408 (WebCore::RenderObject::setNeedsPositionedMovementLayout): 49409 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 49410 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): 49411 (WebCore::RenderObject::computeAbsoluteRepaintRect): 49412 (WebCore::RenderObject::localToAbsolute): 49413 (WebCore::RenderObject::absoluteToLocal): 49414 (WebCore::RenderObject::localToAbsoluteQuad): 49415 (WebCore::RenderObject::offsetFromContainer): 49416 (WebCore::RenderObject::removeFromObjectLists): 49417 (WebCore::RenderObject::destroy): 49418 (WebCore::RenderObject::updateHitTestResult): 49419 (WebCore::RenderObject::addDashboardRegions): 49420 * rendering/RenderTableSection.cpp: 49421 (WebCore::RenderTableSection::layoutRows): 49422 * rendering/RenderTheme.cpp: 49423 (WebCore::RenderTheme::hitTestMediaControlPart): 49424 (WebCore::RenderTheme::baselinePosition): 49425 * rendering/RenderThemeMac.mm: 49426 (WebCore::RenderThemeMac::hitTestMediaControlPart): 49427 * rendering/RenderTreeAsText.cpp: 49428 (WebCore::externalRepresentation): 49429 * rendering/bidi.cpp: 49430 (WebCore::inlineWidth): 49431 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 49432 (WebCore::requiresLineBox): 49433 (WebCore::RenderBlock::findNextLineBreak): 49434 * svg/SVGLength.cpp: 49435 (WebCore::SVGLength::PercentageOfViewport): 49436 * wml/WMLAElement.cpp: 49437 (WebCore::WMLAElement::isKeyboardFocusable): 49438 * wml/WMLInputElement.cpp: 49439 (WebCore::isInputFocusable): 49440 49441 2009-01-23 Chris Fleizach <cfleizach (a] apple.com> 49442 49443 Reviewed by Beth Dakin. 49444 49445 Bug 23509: Crash at -[WebCoreAXObject doAXNextSentenceEndTextMarkerForTextMarker:] 49446 https://bugs.webkit.org/show_bug.cgi?id=23509 49447 49448 Add null checking around next/previous sentence retrieval in AX code 49449 49450 * page/AccessibilityObject.cpp: 49451 (WebCore::AccessibilityObject::nextSentenceEndPosition): 49452 (WebCore::AccessibilityObject::previousSentenceStartPosition): 49453 49454 2009-01-23 David Hyatt <hyatt (a] apple.com> 49455 49456 Fix for <rdar://problem/6518850> REGRESSION: hover feedback not showing on many sites 49457 49458 Inline flow repainting was broken because it relied on width() and height(). Give RenderFlow a linesBoundingBox 49459 method for obtaining a reasonable bounding box to use for repainting. Eliminate the methods from RenderInline 49460 since compacts/run-ins need them too, so putting them on RenderFlow is necessary. 49461 49462 For consistency, change RenderText's version of these methods into the single linesBoundingBox method as 49463 well. 49464 49465 Reviewed by Oliver Hunt 49466 49467 * WebCore.base.exp: 49468 * dom/ContainerNode.cpp: 49469 (WebCore::ContainerNode::getUpperLeftCorner): 49470 (WebCore::ContainerNode::getLowerRightCorner): 49471 * dom/Position.cpp: 49472 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): 49473 * rendering/RenderBox.cpp: 49474 (WebCore::RenderBox::containingBlockHeightForPositioned): 49475 * rendering/RenderFlow.cpp: 49476 (WebCore::RenderFlow::absoluteClippedOverflowRect): 49477 (WebCore::RenderFlow::linesBoundingBox): 49478 * rendering/RenderFlow.h: 49479 * rendering/RenderInline.cpp: 49480 * rendering/RenderInline.h: 49481 (WebCore::RenderInline::offsetWidth): 49482 (WebCore::RenderInline::offsetHeight): 49483 * rendering/RenderLayer.cpp: 49484 (WebCore::RenderLayer::updateLayerPosition): 49485 * rendering/RenderText.cpp: 49486 (WebCore::RenderText::linesBoundingBox): 49487 * rendering/RenderText.h: 49488 * rendering/RenderTreeAsText.cpp: 49489 (WebCore::operator<<): 49490 * rendering/SVGRenderTreeAsText.cpp: 49491 (WebCore::write): 49492 49493 2009-01-23 David Hyatt <hyatt (a] apple.com> 49494 49495 Move layer() into RenderBox and make it non-virtual. Move all of the scrolling functions from RenderObject 49496 to RenderBox and devirtualize as many as possible. Clean up styleWillChange to factor code specific to 49497 RenderBox and RenderBlock into their appropriate subclasses. Stubbed out an empty styleWillChange on 49498 RenderText, since none of the work done in styleWillChange was relevant to text nodes. 49499 49500 Reviewed by Sam Weinig 49501 49502 * dom/Document.cpp: 49503 (WebCore::Document::elementFromPoint): 49504 (WebCore::Document::renderView): 49505 (WebCore::Document::prepareMouseEvent): 49506 * dom/Document.h: 49507 * dom/Element.cpp: 49508 (WebCore::Element::scrollByUnits): 49509 * editing/SelectionController.cpp: 49510 (WebCore::SelectionController::contains): 49511 * html/HTMLMarqueeElement.cpp: 49512 (WebCore::HTMLMarqueeElement::start): 49513 (WebCore::HTMLMarqueeElement::stop): 49514 * page/AccessibilityRenderObject.cpp: 49515 (WebCore::AccessibilityRenderObject::topRenderer): 49516 (WebCore::AccessibilityRenderObject::visiblePositionForPoint): 49517 (WebCore::AccessibilityRenderObject::doAccessibilityHitTest): 49518 * page/AccessibilityRenderObject.h: 49519 * page/EventHandler.cpp: 49520 (WebCore::scrollAndAcceptEvent): 49521 (WebCore::EventHandler::handleMousePressEvent): 49522 (WebCore::EventHandler::handleMouseDraggedEvent): 49523 (WebCore::EventHandler::updateSelectionForMouseDrag): 49524 (WebCore::EventHandler::autoscrollTimerFired): 49525 (WebCore::EventHandler::updateAutoscrollRenderer): 49526 (WebCore::EventHandler::stopAutoscrollTimer): 49527 (WebCore::EventHandler::scrollOverflow): 49528 (WebCore::EventHandler::handleWheelEvent): 49529 (WebCore::EventHandler::hoverTimerFired): 49530 * page/Frame.cpp: 49531 (WebCore::Frame::clearTimers): 49532 * rendering/RenderBlock.cpp: 49533 (WebCore::RenderBlock::styleWillChange): 49534 * rendering/RenderBlock.h: 49535 * rendering/RenderBox.cpp: 49536 (WebCore::RenderBox::styleWillChange): 49537 (WebCore::RenderBox::verticalScrollbarWidth): 49538 (WebCore::RenderBox::horizontalScrollbarHeight): 49539 (WebCore::RenderBox::scroll): 49540 (WebCore::RenderBox::canBeProgramaticallyScrolled): 49541 (WebCore::RenderBox::autoscroll): 49542 (WebCore::RenderBox::panScroll): 49543 (WebCore::RenderBox::offsetFromContainer): 49544 (WebCore::RenderBox::computeAbsoluteRepaintRect): 49545 * rendering/RenderBox.h: 49546 (WebCore::RenderBox::layer): 49547 (WebCore::RenderBox::requiresLayer): 49548 (WebCore::RenderBox::stopAutoscroll): 49549 (WebCore::RenderBox::hasAutoVerticalScrollbar): 49550 (WebCore::RenderBox::hasAutoHorizontalScrollbar): 49551 (WebCore::RenderBox::scrollsOverflow): 49552 (WebCore::RenderBox::scrollsOverflowX): 49553 (WebCore::RenderBox::scrollsOverflowY): 49554 (WebCore::RenderBox::includeVerticalScrollbarSize): 49555 (WebCore::RenderBox::includeHorizontalScrollbarSize): 49556 * rendering/RenderFlow.cpp: 49557 (WebCore::RenderFlow::absoluteClippedOverflowRect): 49558 (WebCore::RenderFlow::addFocusRingRects): 49559 * rendering/RenderForeignObject.cpp: 49560 * rendering/RenderForeignObject.h: 49561 (WebCore::RenderForeignObject::requiresLayer): 49562 * rendering/RenderInline.cpp: 49563 * rendering/RenderInline.h: 49564 (WebCore::RenderInline::requiresLayer): 49565 * rendering/RenderLayer.cpp: 49566 (WebCore::RenderLayer::childrenClipRect): 49567 (WebCore::RenderLayer::selfClipRect): 49568 * rendering/RenderListBox.cpp: 49569 * rendering/RenderListBox.h: 49570 * rendering/RenderObject.cpp: 49571 (WebCore::addLayers): 49572 (WebCore::RenderObject::removeLayers): 49573 (WebCore::RenderObject::moveLayers): 49574 (WebCore::RenderObject::findNextLayer): 49575 (WebCore::RenderObject::enclosingLayer): 49576 (WebCore::RenderObject::setNeedsLayout): 49577 (WebCore::RenderObject::setNeedsPositionedMovementLayout): 49578 (WebCore::RenderObject::computeAbsoluteRepaintRect): 49579 (WebCore::RenderObject::styleWillChange): 49580 (WebCore::RenderObject::localToAbsolute): 49581 (WebCore::RenderObject::absoluteToLocal): 49582 (WebCore::RenderObject::localToAbsoluteQuad): 49583 (WebCore::RenderObject::offsetFromContainer): 49584 (WebCore::RenderObject::destroy): 49585 * rendering/RenderObject.h: 49586 * rendering/RenderPath.cpp: 49587 * rendering/RenderPath.h: 49588 (WebCore::RenderPath::requiresLayer): 49589 * rendering/RenderReplica.h: 49590 (WebCore::RenderReplica::requiresLayer): 49591 * rendering/RenderSVGContainer.cpp: 49592 * rendering/RenderSVGContainer.h: 49593 (WebCore::RenderSVGContainer::requiresLayer): 49594 * rendering/RenderSVGHiddenContainer.cpp: 49595 * rendering/RenderSVGHiddenContainer.h: 49596 (WebCore::RenderSVGHiddenContainer::requiresLayer): 49597 * rendering/RenderSVGImage.cpp: 49598 * rendering/RenderSVGImage.h: 49599 (WebCore::RenderSVGImage::requiresLayer): 49600 * rendering/RenderSVGInline.h: 49601 (WebCore::RenderSVGInline::requiresLayer): 49602 * rendering/RenderSVGInlineText.h: 49603 (WebCore::RenderSVGInlineText::requiresLayer): 49604 * rendering/RenderSVGText.cpp: 49605 * rendering/RenderSVGText.h: 49606 (WebCore::RenderSVGText::requiresLayer): 49607 * rendering/RenderScrollbarPart.h: 49608 (WebCore::RenderScrollbarPart::requiresLayer): 49609 * rendering/RenderSlider.cpp: 49610 (WebCore::RenderSlider::setCurrentPosition): 49611 * rendering/RenderTableCell.cpp: 49612 * rendering/RenderTableCell.h: 49613 (WebCore::RenderTableCell::requiresLayer): 49614 * rendering/RenderTableCol.h: 49615 (WebCore::RenderTableCol::requiresLayer): 49616 * rendering/RenderTableRow.h: 49617 (WebCore::RenderTableRow::requiresLayer): 49618 * rendering/RenderTableSection.cpp: 49619 (WebCore::RenderTableSection::layoutRows): 49620 * rendering/RenderText.h: 49621 (WebCore::RenderText::styleWillChange): 49622 * rendering/RenderTextControl.cpp: 49623 (WebCore::RenderTextControl::autoscroll): 49624 (WebCore::RenderTextControl::scroll): 49625 * rendering/RenderTextControl.h: 49626 * rendering/RenderTreeAsText.cpp: 49627 (WebCore::write): 49628 (WebCore::externalRepresentation): 49629 49630 2009-01-23 Anders Carlsson <andersca (a] apple.com> 49631 49632 Fix tyop. 49633 49634 * editing/markup.cpp: 49635 (WebCore::joinMarkups): 49636 49637 2009-01-23 Anders Carlsson <andersca (a] apple.com> 49638 49639 Reviewed by Darin Adler. 49640 49641 * Configurations/Base.xcconfig: 49642 Fix GCC 4.0 build. 49643 49644 * editing/markup.cpp: 49645 (WebCore::joinMarkups): 49646 Pass a const reference to the vector. 49647 49648 * html/HTMLElement.cpp: 49649 * platform/text/String.cpp: 49650 Add comments indicating that these functions are for use in the debugger. 49651 49652 2009-01-23 Anders Carlsson <andersca (a] apple.com> 49653 49654 Reviewed by Sam Weinig. 49655 49656 Turn on -Wmissing-prototypes and fix the resulting warnings. 49657 49658 * Configurations/Base.xcconfig: 49659 * bindings/js/JSHistoryCustom.cpp: 49660 (WebCore::nonCachingStaticBackFunctionGetter): 49661 (WebCore::nonCachingStaticForwardFunctionGetter): 49662 (WebCore::nonCachingStaticGoFunctionGetter): 49663 * bindings/js/JSLocationCustom.cpp: 49664 (WebCore::nonCachingStaticReplaceFunctionGetter): 49665 (WebCore::nonCachingStaticReloadFunctionGetter): 49666 (WebCore::nonCachingStaticAssignFunctionGetter): 49667 (WebCore::JSLocation::customGetOwnPropertySlot): 49668 * bindings/objc/DOMRGBColor.mm: 49669 (WebCore::getWrapperForRGB): 49670 (WebCore::setWrapperForRGB): 49671 (WebCore::removeWrapperForRGB): 49672 * bindings/scripts/CodeGeneratorJS.pm: 49673 * bridge/c/c_instance.cpp: 49674 (JSC::Bindings::globalExceptionString): 49675 * bridge/runtime_object.cpp: 49676 (JSC::callRuntimeConstructor): 49677 * css/CSSParser.cpp: 49678 (WebCore::parseGradientColorStop): 49679 * css/CSSPrimitiveValue.cpp: 49680 (WebCore::scaleFactorForConversion): 49681 * css/CSSStyleSelector.cpp: 49682 (WebCore::operator >): 49683 (WebCore::operator <=): 49684 (WebCore::getTransformOperationType): 49685 * dom/make_names.pl: 49686 * editing/DeleteSelectionCommand.cpp: 49687 (WebCore::updatePositionForTextRemoval): 49688 * editing/EditorCommand.cpp: 49689 (WebCore::valueBackColor): 49690 (WebCore::valueFontName): 49691 (WebCore::valueFontSize): 49692 (WebCore::valueFontSizeDelta): 49693 (WebCore::valueForeColor): 49694 * editing/VisiblePosition.cpp: 49695 (WebCore::canonicalizeCandidate): 49696 * editing/htmlediting.cpp: 49697 * editing/markup.cpp: 49698 (WebCore::joinMarkups): 49699 * html/HTMLElement.cpp: 49700 (WebCore::inlineTagList): 49701 (WebCore::blockTagList): 49702 * html/HTMLMediaElement.cpp: 49703 (WebCore::serializeTimeOffset): 49704 (WebCore::parseTimeOffset): 49705 * page/mac/FrameMac.mm: 49706 (WebCore::regExpForLabels): 49707 * platform/Arena.cpp: 49708 * platform/graphics/Color.cpp: 49709 (WebCore::colorFloatToRGBAByte): 49710 * platform/graphics/cg/ImageSourceCG.cpp: 49711 (WebCore::imageSourceOptions): 49712 * platform/graphics/cg/PathCG.cpp: 49713 (WebCore::CGPathApplierToPathApplier): 49714 * platform/graphics/mac/SimpleFontDataMac.mm: 49715 (WebCore::initFontData): 49716 * platform/mac/PlatformMouseEventMac.mm: 49717 * platform/text/String.cpp: 49718 * rendering/RenderBlock.cpp: 49719 (WebCore::continuationOutlineTable): 49720 (WebCore::getHeightForLineCount): 49721 * rendering/RenderView.cpp: 49722 (WebCore::rendererAfterPosition): 49723 * rendering/RootInlineBox.cpp: 49724 (WebCore::isEditableLeaf): 49725 * rendering/SVGRenderTreeAsText.cpp: 49726 (WebCore::hasFractions): 49727 * rendering/style/RenderStyle.cpp: 49728 (WebCore::positionedObjectMoved): 49729 * svg/SVGFont.cpp: 49730 (WebCore::floatWidthUsingSVGFontCallback): 49731 (WebCore::floatWidthMissingGlyphCallback): 49732 (WebCore::drawTextUsingSVGFontCallback): 49733 (WebCore::drawTextMissingGlyphCallback): 49734 * svg/SVGTransformable.cpp: 49735 (WebCore::parseTransformParamList): 49736 * svg/graphics/SVGPaintServerGradient.cpp: 49737 (WebCore::operator<<): 49738 * xml/XPathGrammar.y: 49739 * xml/XSLTExtensions.cpp: 49740 49741 2009-01-23 Eric Seidel <eric (a] webkit.org> 49742 49743 No review, removing an empty file. 49744 49745 Remove RemoveNodeAttributeCommand since it was empty. 49746 49747 * WebCore.pro: 49748 * WebCore.scons: 49749 * WebCore.vcproj/WebCore.vcproj: 49750 * WebCore.xcodeproj/project.pbxproj: 49751 * editing/RemoveNodeAttributeCommand.cpp: Removed. 49752 * editing/RemoveNodeAttributeCommand.h: Removed. 49753 49754 2009-01-23 Brady Eidson <beidson (a] apple.com> 49755 49756 Rubberstamped by Sam Weinig 49757 49758 Rework ScriptCachedPageData to ScriptCachedFrameData to more accurately reflect its true purpose 49759 49760 * GNUmakefile.am: 49761 * WebCore.vcproj/WebCore.vcproj: 49762 * WebCore.xcodeproj/project.pbxproj: 49763 * WebCoreSources.bkl: 49764 49765 * bindings/js/ScriptCachedFrameData.cpp: Copied from bindings/js/ScriptCachedPageData.cpp. 49766 (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): 49767 (WebCore::ScriptCachedFrameData::domWindow): 49768 (WebCore::ScriptCachedFrameData::~ScriptCachedFrameData): 49769 (WebCore::ScriptCachedFrameData::restore): 49770 (WebCore::ScriptCachedFrameData::clear): 49771 * bindings/js/ScriptCachedFrameData.h: Copied from bindings/js/ScriptCachedPageData.h. 49772 * bindings/js/ScriptCachedPageData.cpp: Removed. 49773 * bindings/js/ScriptCachedPageData.h: Removed. 49774 49775 * history/CachedPage.cpp: 49776 (WebCore::CachedPage::CachedPage): 49777 (WebCore::CachedPage::restore): 49778 * history/CachedPage.h: 49779 49780 2009-01-23 Steve Falkenburg <sfalken (a] apple.com> 49781 49782 Fix build. 49783 49784 * rendering/RenderThemeSafari.cpp: 49785 (WebCore::RenderThemeSafari::baselinePosition): 49786 49787 2009-01-23 Darin Fisher <darin (a] chromium.org> 49788 49789 Reviewed by Eric Seidel. 49790 49791 https://bugs.webkit.org/show_bug.cgi?id=23506 49792 Upstream Chromium's image decoders for use with PLATFORM(SKIA) 49793 49794 * platform/image-decoders/skia/BMPImageDecoder.cpp: Added. 49795 * platform/image-decoders/skia/BMPImageDecoder.h: Added. 49796 * platform/image-decoders/skia/BMPImageReader.cpp: Added. 49797 * platform/image-decoders/skia/BMPImageReader.h: Added. 49798 * platform/image-decoders/skia/GIFImageDecoder.cpp: 49799 (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): 49800 (WebCore::GIFImageDecoderPrivate::decode): 49801 (WebCore::GIFImageDecoderPrivate::getColorMap): 49802 (WebCore::GIFImageDecoder::GIFImageDecoder): 49803 (WebCore::GIFImageDecoder::isSizeAvailable): 49804 (WebCore::GIFImageDecoder::frameCount): 49805 (WebCore::GIFImageDecoder::frameBufferAtIndex): 49806 (WebCore::GIFImageDecoder::clearFrameBufferCache): 49807 (WebCore::GIFImageDecoder::decode): 49808 (WebCore::GIFImageDecoder::sizeNowAvailable): 49809 (WebCore::GIFImageDecoder::initFrameBuffer): 49810 (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): 49811 (WebCore::GIFImageDecoder::haveDecodedRow): 49812 (WebCore::GIFImageDecoder::frameComplete): 49813 * platform/image-decoders/skia/GIFImageDecoder.h: 49814 (WebCore::GIFImageDecoder::filenameExtension): 49815 (WebCore::GIFImageDecoder::frameDurationAtIndex): 49816 (WebCore::GIFImageDecoder::): 49817 * platform/image-decoders/skia/GIFImageReader.cpp: 49818 (GIFImageReader::do_lzw): 49819 (GIFImageReader::read): 49820 * platform/image-decoders/skia/GIFImageReader.h: 49821 * platform/image-decoders/skia/ICOImageDecoder.cpp: Added. 49822 * platform/image-decoders/skia/ICOImageDecoder.h: Added. 49823 * platform/image-decoders/skia/ImageDecoder.h: 49824 (WebCore::RefCountedNativeImageSkia::create): 49825 (WebCore::RefCountedNativeImageSkia::bitmap): 49826 (WebCore::RefCountedNativeImageSkia::RefCountedNativeImageSkia): 49827 (WebCore::RGBA32Buffer::): 49828 (WebCore::RGBA32Buffer::RGBA32Buffer): 49829 (WebCore::RGBA32Buffer::~RGBA32Buffer): 49830 (WebCore::RGBA32Buffer::operator=): 49831 (WebCore::RGBA32Buffer::clear): 49832 (WebCore::RGBA32Buffer::copyBitmapData): 49833 (WebCore::RGBA32Buffer::bitmap): 49834 (WebCore::RGBA32Buffer::setSize): 49835 (WebCore::RGBA32Buffer::width): 49836 (WebCore::RGBA32Buffer::height): 49837 (WebCore::RGBA32Buffer::rect): 49838 (WebCore::RGBA32Buffer::status): 49839 (WebCore::RGBA32Buffer::duration): 49840 (WebCore::RGBA32Buffer::disposalMethod): 49841 (WebCore::RGBA32Buffer::hasAlpha): 49842 (WebCore::RGBA32Buffer::setRect): 49843 (WebCore::RGBA32Buffer::setStatus): 49844 (WebCore::RGBA32Buffer::setDuration): 49845 (WebCore::RGBA32Buffer::setDisposalMethod): 49846 (WebCore::RGBA32Buffer::setHasAlpha): 49847 (WebCore::RGBA32Buffer::setRGBA): 49848 (WebCore::ImageDecoder::ImageDecoder): 49849 (WebCore::ImageDecoder::~ImageDecoder): 49850 (WebCore::ImageDecoder::setData): 49851 (WebCore::ImageDecoder::isSizeAvailable): 49852 (WebCore::ImageDecoder::size): 49853 (WebCore::ImageDecoder::frameCount): 49854 (WebCore::ImageDecoder::repetitionCount): 49855 (WebCore::ImageDecoder::supportsAlpha): 49856 (WebCore::ImageDecoder::failed): 49857 (WebCore::ImageDecoder::setFailed): 49858 (WebCore::ImageDecoder::clearFrameBufferCache): 49859 (WebCore::ImageDecoder::setSize): 49860 (WebCore::ImageDecoder::isOverSize): 49861 * platform/image-decoders/skia/JPEGImageDecoder.cpp: 49862 (WebCore::JPEGImageReader::JPEGImageReader): 49863 (WebCore::JPEGImageReader::decode): 49864 (WebCore::JPEGImageDecoder::isSizeAvailable): 49865 (WebCore::JPEGImageDecoder::outputScanlines): 49866 * platform/image-decoders/skia/JPEGImageDecoder.h: 49867 (WebCore::JPEGImageDecoder::filenameExtension): 49868 (WebCore::JPEGImageDecoder::supportsAlpha): 49869 (WebCore::JPEGImageDecoder::reader): 49870 * platform/image-decoders/skia/PNGImageDecoder.cpp: 49871 (WebCore::PNGImageReader::close): 49872 (WebCore::PNGImageDecoder::PNGImageDecoder): 49873 (WebCore::PNGImageDecoder::isSizeAvailable): 49874 (WebCore::PNGImageDecoder::frameBufferAtIndex): 49875 (WebCore::PNGImageDecoder::decode): 49876 (WebCore::PNGImageDecoder::decodingFailed): 49877 (WebCore::PNGImageDecoder::headerAvailable): 49878 (WebCore::rowAvailable): 49879 (WebCore::PNGImageDecoder::rowAvailable): 49880 (WebCore::PNGImageDecoder::pngComplete): 49881 * platform/image-decoders/skia/PNGImageDecoder.h: 49882 (WebCore::PNGImageDecoder::filenameExtension): 49883 (WebCore::PNGImageDecoder::reader): 49884 * platform/image-decoders/skia/XBMImageDecoder.cpp: Added. 49885 * platform/image-decoders/skia/XBMImageDecoder.h: Added. 49886 49887 2009-01-23 Darin Fisher <darin (a] chromium.org> 49888 49889 Reviewed by Eric Seidel. 49890 49891 https://bugs.webkit.org/show_bug.cgi?id=23506 49892 Copy existing ImageDecoder.h in preparation for landing Skia changes on top. 49893 49894 * platform/image-decoders/skia/ImageDecoder.h: Copied from platform/image-decoders/ImageDecoder.h. 49895 49896 2009-01-23 Darin Fisher <darin (a] chromium.org> 49897 49898 Reviewed by Eric Seidel. 49899 49900 https://bugs.webkit.org/show_bug.cgi?id=23506 49901 Copy existing image-decoders in preparation for landing Skia changes on top. 49902 49903 * platform/image-decoders/skia: Added. 49904 * platform/image-decoders/skia/GIFImageDecoder.cpp: Copied from platform/image-decoders/gif/GIFImageDecoder.cpp. 49905 * platform/image-decoders/skia/GIFImageDecoder.h: Copied from platform/image-decoders/gif/GIFImageDecoder.h. 49906 * platform/image-decoders/skia/GIFImageReader.cpp: Copied from platform/image-decoders/gif/GIFImageReader.cpp. 49907 * platform/image-decoders/skia/GIFImageReader.h: Copied from platform/image-decoders/gif/GIFImageReader.h. 49908 * platform/image-decoders/skia/JPEGImageDecoder.cpp: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.cpp. 49909 * platform/image-decoders/skia/JPEGImageDecoder.h: Copied from platform/image-decoders/jpeg/JPEGImageDecoder.h. 49910 * platform/image-decoders/skia/PNGImageDecoder.cpp: Copied from platform/image-decoders/png/PNGImageDecoder.cpp. 49911 * platform/image-decoders/skia/PNGImageDecoder.h: Copied from platform/image-decoders/png/PNGImageDecoder.h. 49912 49913 2009-01-23 Holger Freyther <zecke (a] selfish.org> 49914 49915 Unreviewed build fix. 49916 49917 Based on https://bugs.webkit.org/show_bug.cgi?id=23498 49918 from craig.schlenter (a] gmail.com 49919 49920 * platform/gtk/RenderThemeGtk.cpp: 49921 (WebCore::RenderThemeGtk::baselinePosition): 49922 49923 2009-01-23 David Levin <levin (a] chromium.org> 49924 49925 Reviewed by Alexey Proskuryakov. 49926 49927 Bug 22720: Make XMLHttpRequest work in Workers 49928 <https://bugs.webkit.org/show_bug.cgi?id=22720> 49929 49930 Add copy/adopt for ResourceResponse(Base)/ResourceRequest(Base) to allow the 49931 data to be passed across threads. 49932 49933 No observable change in behavior, so no test. 49934 49935 * platform/network/FormData.cpp: 49936 (WebCore::FormData::deepCopy): 49937 * platform/network/FormData.h: 49938 * platform/network/HTTPHeaderMap.cpp: 49939 (WebCore::HTTPHeaderMap::copyData): 49940 (WebCore::HTTPHeaderMap::adopt): 49941 * platform/network/HTTPHeaderMap.h: 49942 * platform/network/ResourceRequestBase.cpp: 49943 (WebCore::ResourceRequestBase::adopt): 49944 (WebCore::ResourceRequestBase::copyData): 49945 * platform/network/ResourceRequestBase.h: 49946 * platform/network/ResourceResponseBase.cpp: 49947 (WebCore::ResourceResponseBase::adopt): 49948 (WebCore::ResourceResponseBase::copyData): 49949 * platform/network/ResourceResponseBase.h: 49950 49951 2009-01-23 Dmitry Titov <dimich (a] chromium.org> 49952 49953 Reviewed by Alexey Proskuryakov. 49954 49955 https://bugs.webkit.org/show_bug.cgi?id=23374 49956 Add WorkerRunLoop to encapsulate message queue and timer heap. 49957 This is first half (timer heap is added as separate patch). 49958 49959 * GNUmakefile.am: Added WorkerRunLoop.cpp to the build. 49960 * WebCore.vcproj/WebCore.vcproj: Same as above. 49961 * WebCore.xcodeproj/project.pbxproj: Same as above 49962 * dom/WorkerContext.cpp: 49963 (WebCore::WorkerContext::postTask): 49964 * dom/WorkerContext.h: 49965 * dom/WorkerMessagingProxy.cpp: 49966 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 49967 (WebCore::WorkerMessagingProxy::workerThreadCreated): 49968 * dom/WorkerRunLoop.cpp: Added. 49969 (WebCore::WorkerRunLoop::run): Runs the loop until terminate() is called. 49970 (WebCore::WorkerRunLoop::terminate): Causes the loop to exit. 49971 (WebCore::WorkerRunLoop::postTask): Adds a task to the internal queue. 49972 * dom/WorkerRunLoop.h: Added. 49973 (WebCore::WorkerRunLoop::WorkerRunLoop): 49974 * dom/WorkerThread.cpp: 49975 (WebCore::WorkerThread::workerThread): 49976 (WebCore::WorkerThread::stop): 49977 * dom/WorkerThread.h: 49978 (WebCore::WorkerThread::runLoop): 49979 49980 2009-01-23 Adam Treat <adam.treat (a] torchmobile.com> 49981 49982 Reviewed by Holger Hans Peter Freyther. 49983 49984 Redo previous patch http://trac.webkit.org/changeset/34260 which fixes a 49985 huge memory leak by ensuring that the timer is fired one last time on 49986 application tear down thus triggering the GCController thereby freeing 49987 JavaScript objects as well as triggering other timer based tear down methods. 49988 49989 * platform/qt/SharedTimerQt.cpp: 49990 (WebCore::SharedTimerQt::~SharedTimerQt): 49991 49992 2009-01-23 Alexey Proskuryakov <ap (a] webkit.org> 49993 49994 Reviewed by Oliver Hunt. 49995 49996 https://bugs.webkit.org/show_bug.cgi?id=23459 49997 Workers are not properly terminated if execution hasn't begun yet 49998 49999 Doesn't affect observable behavior, so test case is not possible. 50000 50001 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): Call forbidExecution() if 50002 it couldn't be called earlier. 50003 50004 2009-01-23 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 50005 50006 [Qt] Fix the build after RenderBox refactoring in r40153. 50007 50008 * platform/qt/RenderThemeQt.cpp: 50009 (WebCore::RenderThemeQt::baselinePosition): 50010 50011 2009-01-23 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 50012 50013 Rubber-stamped by Alexey Proskuryakov. 50014 50015 Fix the build after RenderBox refactoring in r40153. 50016 50017 * plugins/PluginView.cpp: 50018 (WebCore::PluginView::invalidateWindowlessPluginRect): 50019 50020 2009-01-23 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 50021 50022 Reviewed by Simon Hausmann. 50023 50024 [Qt] Simplify the assertion. 50025 50026 * platform/graphics/qt/GraphicsContextQt.cpp: 50027 (WebCore::GraphicsContext::getWindowsContext): 50028 (WebCore::GraphicsContext::releaseWindowsContext): 50029 50030 2009-01-22 David Hyatt <hyatt (a] apple.com> 50031 50032 Move the border and padding methods from RenderObject to RenderBox. 50033 50034 Reviewed by Oliver Hunt 50035 50036 * css/CSSComputedStyleDeclaration.cpp: 50037 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 50038 * editing/DeleteButtonController.cpp: 50039 (WebCore::DeleteButtonController::createDeletionUI): 50040 * page/EventHandler.cpp: 50041 (WebCore::EventHandler::hitTestResultAtPoint): 50042 * rendering/InlineFlowBox.cpp: 50043 (WebCore::InlineFlowBox::placeBoxesVertically): 50044 * rendering/InlineFlowBox.h: 50045 (WebCore::InlineFlowBox::borderLeft): 50046 (WebCore::InlineFlowBox::borderRight): 50047 (WebCore::InlineFlowBox::paddingLeft): 50048 (WebCore::InlineFlowBox::paddingRight): 50049 * rendering/RenderBlock.cpp: 50050 (WebCore::RenderBlock::clearFloats): 50051 * rendering/RenderBox.cpp: 50052 (WebCore::RenderBox::paddingTop): 50053 (WebCore::RenderBox::paddingBottom): 50054 (WebCore::RenderBox::paddingLeft): 50055 (WebCore::RenderBox::paddingRight): 50056 (WebCore::RenderBox::calcHeight): 50057 (WebCore::RenderBox::containingBlockWidthForPositioned): 50058 (WebCore::RenderBox::containingBlockHeightForPositioned): 50059 (WebCore::RenderBox::calcAbsoluteHorizontal): 50060 (WebCore::RenderBox::calcAbsoluteHorizontalValues): 50061 (WebCore::RenderBox::calcAbsoluteVertical): 50062 (WebCore::RenderBox::calcAbsoluteVerticalValues): 50063 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 50064 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 50065 * rendering/RenderBox.h: 50066 (WebCore::RenderBox::borderTop): 50067 (WebCore::RenderBox::borderBottom): 50068 (WebCore::RenderBox::borderLeft): 50069 (WebCore::RenderBox::borderRight): 50070 * rendering/RenderObject.cpp: 50071 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 50072 * rendering/RenderObject.h: 50073 * rendering/RenderTextControl.cpp: 50074 (WebCore::RenderTextControl::textBlockWidth): 50075 (WebCore::RenderTextControl::calcHeight): 50076 (WebCore::RenderTextControl::calcPrefWidths): 50077 * rendering/RenderTextControlSingleLine.cpp: 50078 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 50079 * rendering/RenderTreeAsText.cpp: 50080 (WebCore::operator<<): 50081 * rendering/RenderView.cpp: 50082 (WebCore::RenderView::repaintViewRectangle): 50083 50084 2009-01-22 David Hyatt <hyatt (a] apple.com> 50085 50086 Devirtualize the marginTop/Right/Left/Bottom functions and move them to RenderBox (along with some of the 50087 other margin functions that have to come along for the ride). 50088 50089 Reviewed by Oliver Hunt 50090 50091 * css/CSSComputedStyleDeclaration.cpp: 50092 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 50093 * editing/TextIterator.cpp: 50094 (WebCore::shouldEmitExtraNewlineForNode): 50095 * rendering/InlineBox.cpp: 50096 * rendering/InlineBox.h: 50097 (WebCore::InlineBox::renderBox): 50098 * rendering/InlineFlowBox.cpp: 50099 (WebCore::InlineFlowBox::marginLeft): 50100 (WebCore::InlineFlowBox::marginRight): 50101 (WebCore::InlineFlowBox::placeBoxesHorizontally): 50102 (WebCore::InlineFlowBox::computeLogicalBoxHeights): 50103 (WebCore::InlineFlowBox::placeBoxesVertically): 50104 (WebCore::InlineFlowBox::shrinkBoxesWithNoTextChildren): 50105 * rendering/RenderBlock.cpp: 50106 (WebCore::RenderBlock::isSelfCollapsingBlock): 50107 (WebCore::RenderBlock::adjustPositionedBlock): 50108 (WebCore::RenderBlock::handleCompactChild): 50109 (WebCore::RenderBlock::estimateVerticalPosition): 50110 (WebCore::getBorderPaddingMargin): 50111 (WebCore::RenderBlock::calcInlinePrefWidths): 50112 * rendering/RenderBlock.h: 50113 * rendering/RenderBox.cpp: 50114 (WebCore::RenderBox::calcHeight): 50115 * rendering/RenderBox.h: 50116 (WebCore::RenderBox::hasHorizontalBordersPaddingOrMargin): 50117 (WebCore::RenderBox::hasHorizontalBordersOrPadding): 50118 (WebCore::RenderBox::marginTop): 50119 (WebCore::RenderBox::marginBottom): 50120 (WebCore::RenderBox::marginLeft): 50121 (WebCore::RenderBox::marginRight): 50122 (WebCore::RenderBox::isSelfCollapsingBlock): 50123 (WebCore::RenderBox::collapsedMarginTop): 50124 (WebCore::RenderBox::collapsedMarginBottom): 50125 (WebCore::RenderBox::isTopMarginQuirk): 50126 (WebCore::RenderBox::isBottomMarginQuirk): 50127 (WebCore::RenderBox::maxTopMargin): 50128 (WebCore::RenderBox::maxBottomMargin): 50129 * rendering/RenderObject.cpp: 50130 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): 50131 * rendering/RenderObject.h: 50132 * rendering/RenderSVGContainer.cpp: 50133 (WebCore::RenderSVGContainer::lineHeight): 50134 (WebCore::RenderSVGContainer::baselinePosition): 50135 * rendering/RenderTextControl.cpp: 50136 (WebCore::RenderTextControl::calcHeight): 50137 * rendering/RenderTheme.cpp: 50138 (WebCore::RenderTheme::baselinePosition): 50139 * rendering/bidi.cpp: 50140 (WebCore::getBorderPaddingMargin): 50141 (WebCore::inlineWidth): 50142 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 50143 (WebCore::inlineFlowRequiresLineBox): 50144 (WebCore::requiresLineBox): 50145 (WebCore::RenderBlock::findNextLineBreak): 50146 50147 2009-01-22 Mark Rowe <mrowe (a] apple.com> 50148 50149 Rubber-stamped by Anders Carlsson. 50150 50151 Disable GCC_WARN_ABOUT_MISSING_PROTOTYPES temporarily. 50152 50153 Current versions of Xcode only respect it for C and Objective-C files, 50154 and our code doesn't currently compile if it is applied to C++ and 50155 Objective-C++ files. 50156 50157 * Configurations/Base.xcconfig: 50158 50159 2009-01-22 David Hyatt <hyatt (a] apple.com> 50160 50161 Move the m_widthChanged bit on RenderTableCell into RenderFlow's set of bits. Let intrinsicPaddingTop and 50162 intrinsicPaddingBottom just be normal non-bitfield values. 50163 50164 Reviewed by Oliver Hunt 50165 50166 * rendering/RenderFlow.h: 50167 (WebCore::RenderFlow::RenderFlow): 50168 * rendering/RenderTableCell.cpp: 50169 (WebCore::RenderTableCell::RenderTableCell): 50170 (WebCore::RenderTableCell::updateWidth): 50171 (WebCore::RenderTableCell::layout): 50172 * rendering/RenderTableCell.h: 50173 50174 2009-01-22 David Hyatt <hyatt (a] apple.com> 50175 50176 Properly encapsulate m_frameRect.y() behind the RenderBox::y() method now that they are the same thing. 50177 Make m_frameRect private. 50178 50179 Reviewed by Oliver Hunt 50180 50181 * rendering/RenderBlock.cpp: 50182 (WebCore::RenderBlock::paint): 50183 (WebCore::RenderBlock::clearFloats): 50184 * rendering/RenderBox.cpp: 50185 (WebCore::RenderBox::offsetTop): 50186 (WebCore::RenderBox::nodeAtPoint): 50187 (WebCore::RenderBox::paint): 50188 (WebCore::RenderBox::paintCustomHighlight): 50189 (WebCore::RenderBox::containingBlockWidth): 50190 (WebCore::RenderBox::localToAbsolute): 50191 (WebCore::RenderBox::offsetFromContainer): 50192 (WebCore::RenderBox::computeAbsoluteRepaintRect): 50193 (WebCore::RenderBox::repaintDuringLayoutIfMoved): 50194 * rendering/RenderContainer.cpp: 50195 (WebCore::RenderContainer::layout): 50196 * rendering/RenderFlexibleBox.cpp: 50197 (WebCore::RenderFlexibleBox::layoutBlock): 50198 * rendering/RenderFrameSet.cpp: 50199 (WebCore::RenderFrameSet::paint): 50200 * rendering/RenderImage.cpp: 50201 (WebCore::RenderImage::paintReplaced): 50202 (WebCore::RenderImage::nodeAtPoint): 50203 * rendering/RenderListMarker.cpp: 50204 (WebCore::RenderListMarker::paint): 50205 (WebCore::RenderListMarker::getRelativeMarkerRect): 50206 * rendering/RenderReplaced.cpp: 50207 (WebCore::RenderReplaced::paint): 50208 (WebCore::RenderReplaced::shouldPaint): 50209 * rendering/RenderReplica.cpp: 50210 (WebCore::RenderReplica::paint): 50211 * rendering/RenderSVGRoot.cpp: 50212 (WebCore::RenderSVGRoot::applyContentTransforms): 50213 (WebCore::RenderSVGRoot::paint): 50214 (WebCore::RenderSVGRoot::absoluteTransform): 50215 (WebCore::RenderSVGRoot::nodeAtPoint): 50216 * rendering/RenderTable.cpp: 50217 (WebCore::RenderTable::calcWidth): 50218 (WebCore::RenderTable::layout): 50219 * rendering/RenderTableCell.cpp: 50220 (WebCore::RenderTableCell::paint): 50221 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 50222 * rendering/RenderTableSection.cpp: 50223 (WebCore::RenderTableSection::setCellWidths): 50224 (WebCore::RenderTableSection::calcRowHeight): 50225 (WebCore::RenderTableSection::layoutRows): 50226 (WebCore::RenderTableSection::paint): 50227 (WebCore::RenderTableSection::nodeAtPoint): 50228 * rendering/RenderWidget.cpp: 50229 (WebCore::RenderWidget::paint): 50230 50231 2009-01-22 David Hyatt <hyatt (a] apple.com> 50232 50233 Fix for https://bugs.webkit.org/show_bug.cgi?id=23487. 50234 50235 This patch completely reworks vertical alignment of table cells. The current system uses methods called borderTopExtra() and borderBottomExtra() to 50236 add extra space above and below the content of a cell. This system was not confined to the table code and spilled out into all the other RenderObjects. 50237 The y-position of the table cell box was set to the outer edge of the cell, but the y() method of RenderBox lied and added in borderTopExtra(). height() 50238 also excluded the extra space, so did not accurately reflect the true size of the cell. 50239 50240 With the new system, the table cell box is completely accurate. The extra space becomes part of the padding of the cell. Padding has been reworked so that 50241 additional intrinsic padding can be added on to the specified padding from style. Only the table code has to deal with the extra cell padding. 50242 50243 localToAbsoluteForContent has now been removed, since there no longer has to be a special hacked content box. 50244 50245 A number of table layout tests progress with this change, since the new layout system actually fixes existing bugs in baseline alignment of cells. 50246 50247 Reviewed by Oliver Hunt 50248 50249 * css/CSSComputedStyleDeclaration.cpp: 50250 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 50251 Make CSSComputedStyleDeclaration ask for padding values that exclude the built-in intrinsic padding. This ensures that getComputedStyle continues 50252 to give the right answer. 50253 50254 * dom/ContainerNode.cpp: 50255 (WebCore::ContainerNode::getLowerRightCorner): 50256 * editing/visible_units.cpp: 50257 (WebCore::previousLinePosition): 50258 (WebCore::nextLinePosition): 50259 * rendering/LayoutState.cpp: 50260 (WebCore::LayoutState::LayoutState): 50261 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. 50262 50263 * rendering/RenderBlock.cpp: 50264 (WebCore::RenderBlock::overflowRect): 50265 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. 50266 50267 (WebCore::RenderBlock::layoutBlock): 50268 (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): 50269 The expandsToEncloseOverhangingFloats logic has been reworked. Table cells and fieldsets did not properly handle floats that spilled into the bottom padding. The 50270 resulting box needed to not only expand to encompass the float, but also needed to place the full bottom padding after the float. The switch to make the extra table cell 50271 space into padding exposed this issue. No extra layout test is required, since an existing table layout test exposes this issue and progresses to match Firefox with 50272 this change. 50273 50274 (WebCore::RenderBlock::selectionGapRects): 50275 (WebCore::RenderBlock::paintSelection): 50276 (WebCore::RenderBlock::fillSelectionGaps): 50277 (WebCore::RenderBlock::nodeAtPoint): 50278 (WebCore::RenderBlock::positionForCoordinates): 50279 (WebCore::RenderBlock::offsetForContents): 50280 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. 50281 50282 * rendering/RenderBlock.h: 50283 Add the new simplified method for expanding to encompass overhanging floats. The method has been devirtualized and made to include all of the cases (and not just a subset). 50284 50285 * rendering/RenderBox.cpp: 50286 (WebCore::RenderBox::absoluteRects): 50287 (WebCore::RenderBox::absoluteQuads): 50288 (WebCore::RenderBox::absoluteContentBox): 50289 (WebCore::RenderBox::paintBoxDecorations): 50290 (WebCore::RenderBox::paintMask): 50291 (WebCore::RenderBox::getOverflowClipRect): 50292 (WebCore::RenderBox::localToAbsolute): 50293 (WebCore::RenderBox::absoluteToLocal): 50294 (WebCore::RenderBox::localToAbsoluteQuad): 50295 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. 50296 50297 * rendering/RenderBox.h: 50298 (WebCore::RenderBox::y): 50299 (WebCore::RenderBox::location): 50300 (WebCore::RenderBox::borderBoxRect): 50301 (WebCore::RenderBox::offsetHeight): 50302 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. 50303 50304 * rendering/RenderContainer.cpp: 50305 (WebCore::RenderContainer::addLineBoxRects): 50306 * rendering/RenderFieldset.cpp: 50307 (WebCore::RenderFieldset::paintBoxDecorations): 50308 (WebCore::RenderFieldset::paintMask): 50309 * rendering/RenderFieldset.h: 50310 (WebCore::RenderFieldset::avoidsFloats): 50311 * rendering/RenderFlow.cpp: 50312 (WebCore::RenderFlow::localCaretRect): 50313 * rendering/RenderLayer.cpp: 50314 (WebCore::RenderLayer::updateLayerPosition): 50315 (WebCore::RenderLayer::paintLayer): 50316 (WebCore::RenderLayer::hitTestLayer): 50317 (WebCore::RenderLayer::boundingBox): 50318 * rendering/RenderListBox.cpp: 50319 (WebCore::RenderListBox::isPointInOverflowControl): 50320 * rendering/RenderObject.cpp: 50321 (WebCore::RenderObject::localToAbsolute): 50322 (WebCore::RenderObject::absoluteToLocal): 50323 (WebCore::RenderObject::localToAbsoluteQuad): 50324 (WebCore::RenderObject::offsetFromContainer): 50325 (WebCore::RenderObject::paddingTop): 50326 (WebCore::RenderObject::paddingBottom): 50327 (WebCore::RenderObject::paddingLeft): 50328 (WebCore::RenderObject::paddingRight): 50329 * rendering/RenderObject.h: 50330 (WebCore::RenderObject::hasOverhangingFloats): 50331 * rendering/RenderReplaced.cpp: 50332 (WebCore::RenderReplaced::selectionRect): 50333 (WebCore::RenderReplaced::localSelectionRect): 50334 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. Also modifed paddingLeft/Top/Right/Bottom to take an argument indicating 50335 whether or not the intrinsic padding of an object should be included (by default it is). getComputedStyle needs to exclude it, which is why this argument is 50336 necessary. 50337 50338 * rendering/RenderTableCell.cpp: 50339 (WebCore::RenderTableCell::RenderTableCell): 50340 (WebCore::RenderTableCell::paddingTop): 50341 (WebCore::RenderTableCell::paddingBottom): 50342 The new paddingTop() and paddingBottom() methods on table cells include the extra intrinsic padding. 50343 50344 (WebCore::RenderTableCell::setOverrideSize): 50345 When a table's override size gets altered, the intrinsic padding needs to be cleared. 50346 50347 (WebCore::RenderTableCell::absoluteClippedOverflowRect): 50348 (WebCore::RenderTableCell::computeAbsoluteRepaintRect): 50349 (WebCore::RenderTableCell::baselinePosition): 50350 (WebCore::RenderTableCell::paint): 50351 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 50352 (WebCore::RenderTableCell::paintBoxDecorations): 50353 (WebCore::RenderTableCell::paintMask): 50354 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. 50355 50356 * rendering/RenderTableCell.h: 50357 (WebCore::RenderTableCell::setIntrinsicPaddingTop): 50358 (WebCore::RenderTableCell::setIntrinsicPaddingBottom): 50359 (WebCore::RenderTableCell::setIntrinsicPadding): 50360 (WebCore::RenderTableCell::clearIntrinsicPadding): 50361 (WebCore::RenderTableCell::intrinsicPaddingTop): 50362 (WebCore::RenderTableCell::intrinsicPaddingBottom): 50363 Add new helper methods for getting/setting a cell's intrinsic padding. 50364 50365 * rendering/RenderTableSection.cpp: 50366 (WebCore::RenderTableSection::calcRowHeight): 50367 calcRowHeight has been modified to exclude the intrinsic padding when calculating the base height of rows prior to flexing. Because a cell now includes that 50368 extra space, it has to be subtracted out in this method. 50369 50370 (WebCore::RenderTableSection::layoutRows): 50371 Modify the code that sets up the intrinsic padding so that it does a relayout if the intrinsic padding changes. There was also an error where the baseline 50372 position mismatched leading to negative intrinsic padding being added in (this error exists in ToT). The code now properly ignores cells that don't establish 50373 a baseline. A number of tests progress with this change. 50374 50375 * rendering/RenderText.cpp: 50376 (WebCore::RenderText::addLineBoxRects): 50377 Remove borderTopExtra()/borderBottomExtra() hacks and localToAbsoluteForContent calls. 50378 50379 * rendering/RenderTreeAsText.cpp: 50380 (WebCore::operator<<): 50381 (WebCore::writeTextRun): 50382 Modify the render tree dumping code to continue to produce the same results as before. This is really a hack, since we're now capable of indicating the correct 50383 position for the descendants of cells with intrinsic padding (and also indicating what the correct cell box is). A future patch can remove these hacks so that the 50384 layout test results can all be regenerated. 50385 50386 2009-01-22 Eric Seidel <eric (a] webkit.org> 50387 50388 Reviewed by Darin Adler. 50389 50390 Remove <strong>/<em> tags when toggling bold/italic since IE inserts them instead of <b>/<i> 50391 https://bugs.webkit.org/show_bug.cgi?id=23486 50392 50393 Test: editing/execCommand/toggle-styles.html 50394 50395 * editing/ApplyStyleCommand.cpp: 50396 (WebCore::ApplyStyleCommand::isHTMLStyleNode): 50397 50398 2009-01-22 Eric Seidel <eric (a] webkit.org> 50399 50400 Reviewed by Justin Garcia. 50401 50402 Remove <span> turds left by editing commands 50403 https://bugs.webkit.org/show_bug.cgi?id=23466 50404 50405 Tests: 50406 * editing/execCommand/empty-span-removal.html 50407 * editing/execCommand/toggle-styles.html 50408 50409 * editing/ApplyStyleCommand.cpp: 50410 (WebCore::styleSpanClassString): 50411 (WebCore::isStyleSpan): 50412 (WebCore::isUnstyledStyleSpan): 50413 (WebCore::isSpanWithoutAttributesOrUnstyleStyleSpan): 50414 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 50415 (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): 50416 (WebCore::ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): 50417 (WebCore::ApplyStyleCommand::removeCSSStyle): 50418 50419 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 50420 50421 Reviewed by Eric Seidel. 50422 50423 Rename some of the casting functions in dom/*Element.cpp: 50424 formControlElementForElement -> toFormControlElement 50425 inputElementForElement -> toInputElement 50426 optionElementForElement -> toOptionElement 50427 optionGroupElementForElement -> toOptionGroupElement 50428 50429 Suggested by Alexey, while refactoring the Element*->ScriptElement* code. 50430 The Element*->ScriptElement* helper function is already named 'toScriptElement'. 50431 50432 * dom/FormControlElement.cpp: 50433 (WebCore::toFormControlElement): 50434 * dom/FormControlElement.h: 50435 * dom/InputElement.cpp: 50436 (WebCore::InputElement::setValueFromRenderer): 50437 (WebCore::toInputElement): 50438 * dom/InputElement.h: 50439 * dom/OptionElement.cpp: 50440 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel): 50441 (WebCore::toOptionElement): 50442 * dom/OptionElement.h: 50443 * dom/OptionGroupElement.cpp: 50444 (WebCore::toOptionGroupElement): 50445 * dom/OptionGroupElement.h: 50446 * rendering/RenderListBox.cpp: 50447 (WebCore::RenderListBox::updateFromElement): 50448 (WebCore::RenderListBox::paintItemForeground): 50449 (WebCore::RenderListBox::paintItemBackground): 50450 * rendering/RenderMenuList.cpp: 50451 (WebCore::RenderMenuList::updateOptionsWidth): 50452 (WebCore::RenderMenuList::setTextFromOption): 50453 (WebCore::RenderMenuList::itemText): 50454 (WebCore::RenderMenuList::itemIsSelected): 50455 * rendering/RenderTextControl.cpp: 50456 (WebCore::RenderTextControl::formControlElement): 50457 * rendering/RenderTextControlSingleLine.cpp: 50458 (WebCore::RenderTextControlSingleLine::inputElement): 50459 50460 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 50461 50462 Rubber-stamped by George Staikos. 50463 50464 Forgot to include in my last commit: Activate code depending on WMLOptionElement/WMLOptGroupElement. 50465 50466 * dom/OptionElement.cpp: 50467 (WebCore::optionElementForElement): 50468 * dom/OptionGroupElement.cpp: 50469 (WebCore::optionGroupElementForElement): 50470 50471 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 50472 50473 Reviewed by George Staikos. 50474 50475 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23454 50476 50477 Add WML <option>/<optgroup> element support. 50478 Currently the implementation is stubbed, all relevant parts can be enabled 50479 once WMLSelectElement/SelectElement has been created. 50480 50481 * GNUmakefile.am: 50482 * WebCore.pro: 50483 * WebCore.vcproj/WebCore.vcproj: 50484 * WebCore.xcodeproj/project.pbxproj: 50485 * wml/WMLOptGroupElement.cpp: Added. 50486 (WebCore::WMLOptGroupElement::WMLOptGroupElement): 50487 (WebCore::WMLOptGroupElement::~WMLOptGroupElement): 50488 (WebCore::WMLOptGroupElement::insertBefore): 50489 (WebCore::WMLOptGroupElement::replaceChild): 50490 (WebCore::WMLOptGroupElement::removeChild): 50491 (WebCore::WMLOptGroupElement::appendChild): 50492 (WebCore::WMLOptGroupElement::removeChildren): 50493 (WebCore::ownerSelectElement): 50494 (WebCore::WMLOptGroupElement::accessKeyAction): 50495 (WebCore::WMLOptGroupElement::childrenChanged): 50496 (WebCore::WMLOptGroupElement::parseMappedAttribute): 50497 (WebCore::WMLOptGroupElement::attach): 50498 (WebCore::WMLOptGroupElement::detach): 50499 (WebCore::WMLOptGroupElement::setRenderStyle): 50500 (WebCore::WMLOptGroupElement::nonRendererRenderStyle): 50501 (WebCore::WMLOptGroupElement::groupLabelText): 50502 (WebCore::WMLOptGroupElement::recalcSelectOptions): 50503 * wml/WMLOptGroupElement.h: Added. 50504 (WebCore::WMLOptGroupElement::title): 50505 (WebCore::WMLOptGroupElement::valueMatchesRenderer): 50506 (WebCore::WMLOptGroupElement::setValueMatchesRenderer): 50507 (WebCore::WMLOptGroupElement::rendererIsNeeded): 50508 * wml/WMLOptionElement.cpp: Added. 50509 (WebCore::WMLOptionElement::WMLOptionElement): 50510 (WebCore::WMLOptionElement::~WMLOptionElement): 50511 (WebCore::ownerSelectElement): 50512 (WebCore::WMLOptionElement::accessKeyAction): 50513 (WebCore::WMLOptionElement::childrenChanged): 50514 (WebCore::WMLOptionElement::parseMappedAttribute): 50515 (WebCore::WMLOptionElement::attach): 50516 (WebCore::WMLOptionElement::detach): 50517 (WebCore::WMLOptionElement::setRenderStyle): 50518 (WebCore::WMLOptionElement::insertedIntoDocument): 50519 (WebCore::WMLOptionElement::selected): 50520 (WebCore::WMLOptionElement::setSelectedState): 50521 (WebCore::WMLOptionElement::value): 50522 (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel): 50523 (WebCore::WMLOptionElement::nonRendererRenderStyle): 50524 (WebCore::WMLOptionElement::handleIntrinsicEventIfNeeded): 50525 * wml/WMLOptionElement.h: Added. 50526 (WebCore::WMLOptionElement::valueMatchesRenderer): 50527 (WebCore::WMLOptionElement::setValueMatchesRenderer): 50528 (WebCore::WMLOptionElement::rendererIsNeeded): 50529 * wml/WMLTagNames.in: 50530 50531 2009-01-22 Eric Roman <eroman (a] chromium.org> 50532 50533 Reviewed by Eric Seidel. 50534 50535 https://bugs.webkit.org/show_bug.cgi?id=20806 50536 Send referrer for history navigations. 50537 50538 Test: http/tests/navigation/back-send-referrer.html 50539 50540 Consolidates HistoryItem::rssFeedReferrer and HistoryItem::formReferrer into a single HistoryItem::referrer property. 50541 50542 * history/HistoryItem.cpp: 50543 (WebCore::HistoryItem::HistoryItem): 50544 (WebCore::HistoryItem::referrer): 50545 (WebCore::HistoryItem::setReferrer): 50546 (WebCore::HistoryItem::formReferrer): 50547 (WebCore::HistoryItem::rssFeedReferrer): 50548 (WebCore::HistoryItem::setRSSFeedReferrer): 50549 (WebCore::HistoryItem::setFormInfoFromRequest): 50550 * history/HistoryItem.h: 50551 * loader/FrameLoader.cpp: 50552 (WebCore::FrameLoader::loadItem): 50553 50554 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 50555 50556 Reviewed by Eric Seidel. 50557 50558 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23465 50559 50560 Further enhancments to share code between HTMLOptionElement and the upcoming WMLOptionElement. 50561 50562 Rename optionText() to textIndentedToRespectGroupLabel() in (HTML)OptionElement, as it fits better. 50563 optionText() returns the options text prefixed with some spaces, in case it got an optgroup parent. 50564 50565 Add two more pure-virtual functions to OptionElement: setSelectedState(bool) & value(). 50566 These aren't used outside of html/ at the moment (unlike the other pure-virtual functions 50567 used by RenderMenuList/RenderListBox) - but they will be used by SelectElement, once it exists. 50568 50569 * dom/OptionElement.cpp: 50570 (WebCore::OptionElement::setSelectedState): 50571 (WebCore::OptionElement::collectOptionText): 50572 (WebCore::OptionElement::collectOptionTextRespectingGroupLabel): 50573 (WebCore::OptionElement::collectOptionValue): 50574 (WebCore::OptionElementData::OptionElementData): 50575 (WebCore::OptionElementData::~OptionElementData): 50576 * dom/OptionElement.h: 50577 (WebCore::OptionElementData::element): 50578 (WebCore::OptionElementData::value): 50579 (WebCore::OptionElementData::setValue): 50580 (WebCore::OptionElementData::label): 50581 (WebCore::OptionElementData::setLabel): 50582 (WebCore::OptionElementData::selected): 50583 (WebCore::OptionElementData::setSelected): 50584 * html/HTMLOptionElement.cpp: 50585 (WebCore::HTMLOptionElement::HTMLOptionElement): 50586 (WebCore::HTMLOptionElement::text): 50587 (WebCore::HTMLOptionElement::parseMappedAttribute): 50588 (WebCore::HTMLOptionElement::value): 50589 (WebCore::HTMLOptionElement::selected): 50590 (WebCore::HTMLOptionElement::setSelected): 50591 (WebCore::HTMLOptionElement::setSelectedState): 50592 (WebCore::HTMLOptionElement::label): 50593 (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel): 50594 * html/HTMLOptionElement.h: 50595 * html/HTMLSelectElement.cpp: 50596 (WebCore::HTMLSelectElement::typeAheadFind): 50597 * rendering/RenderListBox.cpp: 50598 (WebCore::RenderListBox::updateFromElement): 50599 (WebCore::RenderListBox::paintItemForeground): 50600 * rendering/RenderMenuList.cpp: 50601 (WebCore::RenderMenuList::updateOptionsWidth): 50602 (WebCore::RenderMenuList::setTextFromOption): 50603 (WebCore::RenderMenuList::itemText): 50604 50605 2009-01-22 Chris Fleizach <cfleizach (a] apple.com> 50606 50607 Reviewed by Justin Garcia. 50608 50609 Bug 23464: Infinite recursion at SelectionController::setSelection 50610 https://bugs.webkit.org/show_bug.cgi?id=23464 50611 50612 Check for conditions leading to infinite recursion. 50613 50614 * editing/SelectionController.cpp: 50615 (WebCore::SelectionController::setSelection): 50616 50617 2009-01-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 50618 50619 Not reviewed. Fix WML build problem in RenderBox.cpp, WMLNames is undefined. 50620 50621 * rendering/RenderBox.cpp: 50622 50623 2009-01-22 Adam Treat <adam.treat (a] torchmobile.com> 50624 50625 Fix the Qt build after RenderBox changes. 50626 50627 * platform/qt/RenderThemeQt.cpp: 50628 (WebCore::RenderThemeQt::baselinePosition): 50629 50630 2009-01-22 David Hyatt <hyatt (a] apple.com> 50631 50632 Fix regressions in list box selection on Mac. The wrong color was being used for the list box 50633 background, and list box colors actually weren't even being properly fetched because of a bug in 50634 the RenderTheme base class. Existing pixel tests cover the bug fix. 50635 50636 Reviewed by Jon Honeycutt 50637 50638 * rendering/RenderTheme.cpp: 50639 (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor): 50640 (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor): 50641 (WebCore::RenderTheme::activeListBoxSelectionForegroundColor): 50642 (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor): 50643 * rendering/RenderThemeMac.mm: 50644 (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor): 50645 50646 2009-01-22 David Levin <levin (a] chromium.org> 50647 50648 Reviewed by Alexey Proskuryakov. 50649 50650 Bug 22720: Make XMLHttpRequest work in Workers 50651 <https://bugs.webkit.org/show_bug.cgi?id=22720> 50652 50653 Add copy/adopt for HTTPHeaderMap to allow the data to be passed across threads. 50654 50655 No observable change in behavior, so no test. 50656 50657 * GNUmakefile.am: 50658 * WebCore.pro: 50659 * WebCore.scons: 50660 * WebCore.vcproj/WebCore.vcproj: 50661 * WebCore.xcodeproj/project.pbxproj: 50662 * WebCoreSources.bkl: 50663 * platform/network/HTTPHeaderMap.cpp: Added. 50664 (WebCore::HTTPHeaderMap::copyData): 50665 (WebCore::HTTPHeaderMap::adopt): 50666 * platform/network/HTTPHeaderMap.h: 50667 50668 2009-01-21 David Hyatt <hyatt (a] apple.com> 50669 50670 Back out a portion of my patch that I did not mean to land. Revert paintOutline back to the way it 50671 was before my landing. Fixes failing SVG focus ring tests. 50672 50673 * rendering/RenderObject.cpp: 50674 (WebCore::RenderObject::paintOutline): 50675 * rendering/RenderObject.h: 50676 * rendering/RenderPath.cpp: 50677 (WebCore::RenderPath::paint): 50678 * rendering/RenderSVGContainer.cpp: 50679 (WebCore::RenderSVGContainer::paint): 50680 50681 2009-01-21 David Hyatt <hyatt (a] apple.com> 50682 50683 Fix Node's renderBox() method on Windows. 50684 50685 * dom/Node.cpp: 50686 (WebCore::Node::renderBox): 50687 50688 2009-01-21 David Hyatt <hyatt (a] apple.com> 50689 50690 Fix RenderThemeSafari bustage on Win32. 50691 50692 * rendering/RenderThemeSafari.cpp: 50693 (WebCore::RenderThemeSafari::baselinePosition): 50694 50695 2009-01-21 David Hyatt <hyatt (a] apple.com> 50696 50697 Fix bustage in RenderThemeWin. It's actually terrible that RenderThemeWin is using absoluteContentBox, 50698 but that's a problem for another day. 50699 50700 * rendering/RenderThemeWin.cpp: 50701 (WebCore::RenderThemeWin::paintSearchFieldCancelButton): 50702 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): 50703 (WebCore::RenderThemeWin::paintSearchFieldResultsButton): 50704 50705 2009-01-21 Oliver Hunt <oliver (a] apple.com> 50706 50707 Reviewed by Dave Hyatt. 50708 50709 Bug 23470: Crash when page load occurs while processing scroll event with MallocScribble enabled 50710 <https://bugs.webkit.org/show_bug.cgi?id=23470> 50711 50712 Add a RefPtr protector to handleWheelEvent to guard against destruction 50713 while processing the scroll event. Alas the absurd set of circumstances 50714 required to trigger this do not appear to be reproducible in DRT. 50715 50716 * page/EventHandler.cpp: 50717 (WebCore::EventHandler::handleWheelEvent): 50718 50719 2009-01-21 David Hyatt <hyatt (a] apple.com> 50720 50721 Fix for https://bugs.webkit.org/show_bug.cgi?id=23453 50722 50723 Devirtualize the width/height/x/y methods of the render tree. The methods are now non-virtual on RenderBox. 50724 Many functions that were previously in RenderObject.cpp are now in RenderBox.cpp. 50725 50726 Reviewed by Eric Seidel and Darin Adler 50727 50728 * WebCore.base.exp: 50729 * css/CSSComputedStyleDeclaration.cpp: 50730 (WebCore::sizingBox): 50731 * dom/ContainerNode.cpp: 50732 (WebCore::ContainerNode::getUpperLeftCorner): 50733 (WebCore::ContainerNode::getLowerRightCorner): 50734 * dom/Element.cpp: 50735 (WebCore::Element::offsetLeft): 50736 (WebCore::Element::offsetTop): 50737 (WebCore::Element::offsetWidth): 50738 (WebCore::Element::offsetHeight): 50739 (WebCore::Element::offsetParent): 50740 (WebCore::Element::clientLeft): 50741 (WebCore::Element::clientTop): 50742 (WebCore::Element::clientWidth): 50743 (WebCore::Element::clientHeight): 50744 (WebCore::Element::scrollLeft): 50745 (WebCore::Element::scrollTop): 50746 (WebCore::Element::setScrollLeft): 50747 (WebCore::Element::setScrollTop): 50748 (WebCore::Element::scrollWidth): 50749 (WebCore::Element::scrollHeight): 50750 * dom/Node.cpp: 50751 (WebCore::Node::renderBox): 50752 (WebCore::Node::getRect): 50753 * dom/Node.h: 50754 * dom/Position.cpp: 50755 (WebCore::endsOfNodeAreVisuallyDistinctPositions): 50756 (WebCore::Position::hasRenderedNonAnonymousDescendantsWithHeight): 50757 (WebCore::Position::isCandidate): 50758 * dom/PositionIterator.cpp: 50759 (WebCore::PositionIterator::isCandidate): 50760 * editing/CompositeEditCommand.cpp: 50761 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): 50762 * editing/DeleteButtonController.cpp: 50763 (WebCore::isDeletableElement): 50764 * editing/DeleteSelectionCommand.cpp: 50765 (WebCore::DeleteSelectionCommand::removeNode): 50766 * editing/Editor.cpp: 50767 (WebCore::Editor::insideVisibleArea): 50768 * editing/EditorCommand.cpp: 50769 (WebCore::verticalScrollDistance): 50770 * html/HTMLAnchorElement.cpp: 50771 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 50772 * html/HTMLCanvasElement.cpp: 50773 (WebCore::HTMLCanvasElement::willDraw): 50774 * html/HTMLFormControlElement.cpp: 50775 (WebCore::HTMLFormControlElement::isFocusable): 50776 * html/HTMLFrameElementBase.cpp: 50777 (WebCore::HTMLFrameElementBase::width): 50778 (WebCore::HTMLFrameElementBase::height): 50779 * html/HTMLImageElement.cpp: 50780 (WebCore::HTMLImageElement::width): 50781 (WebCore::HTMLImageElement::height): 50782 * inspector/InspectorController.cpp: 50783 (WebCore::InspectorController::drawNodeHighlight): 50784 * page/AccessibilityRenderObject.cpp: 50785 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 50786 * page/FrameView.cpp: 50787 (WebCore::FrameView::createScrollbar): 50788 (WebCore::FrameView::updateDashboardRegions): 50789 * page/animation/AnimationBase.cpp: 50790 (WebCore::blendFunc): 50791 * rendering/HitTestResult.cpp: 50792 (WebCore::HitTestResult::imageRect): 50793 * rendering/InlineBox.cpp: 50794 (WebCore::InlineBox::renderBox): 50795 (WebCore::InlineBox::adjustPosition): 50796 * rendering/InlineBox.h: 50797 * rendering/InlineFlowBox.cpp: 50798 (WebCore::InlineFlowBox::placeBoxesHorizontally): 50799 (WebCore::InlineFlowBox::verticallyAlignBoxes): 50800 (WebCore::InlineFlowBox::placeBoxesVertically): 50801 * rendering/InlineFlowBox.h: 50802 * rendering/RenderApplet.cpp: 50803 (WebCore::RenderApplet::createWidgetIfNecessary): 50804 * rendering/RenderBlock.cpp: 50805 (WebCore::RenderBlock::overflowHeight): 50806 (WebCore::RenderBlock::overflowWidth): 50807 (WebCore::RenderBlock::overflowRect): 50808 (WebCore::RenderBlock::isSelfCollapsingBlock): 50809 (WebCore::RenderBlock::layout): 50810 (WebCore::RenderBlock::layoutBlock): 50811 (WebCore::RenderBlock::adjustPositionedBlock): 50812 (WebCore::RenderBlock::adjustFloatingBlock): 50813 (WebCore::RenderBlock::handleSpecialChild): 50814 (WebCore::RenderBlock::handlePositionedChild): 50815 (WebCore::RenderBlock::handleFloatingChild): 50816 (WebCore::RenderBlock::handleCompactChild): 50817 (WebCore::RenderBlock::insertCompactIfNeeded): 50818 (WebCore::RenderBlock::handleRunInChild): 50819 (WebCore::RenderBlock::collapseMargins): 50820 (WebCore::RenderBlock::clearFloatsIfNeeded): 50821 (WebCore::RenderBlock::estimateVerticalPosition): 50822 (WebCore::RenderBlock::determineHorizontalPosition): 50823 (WebCore::RenderBlock::handleBottomOfBlock): 50824 (WebCore::RenderBlock::layoutBlockChildren): 50825 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 50826 (WebCore::RenderBlock::layoutPositionedObjects): 50827 (WebCore::RenderBlock::markPositionedObjectsForLayout): 50828 (WebCore::RenderBlock::repaintOverhangingFloats): 50829 (WebCore::RenderBlock::paint): 50830 (WebCore::RenderBlock::paintChildren): 50831 (WebCore::RenderBlock::paintObject): 50832 (WebCore::RenderBlock::paintFloats): 50833 (WebCore::RenderBlock::paintContinuationOutlines): 50834 (WebCore::clipOutPositionedObjects): 50835 (WebCore::RenderBlock::fillSelectionGaps): 50836 (WebCore::RenderBlock::fillBlockSelectionGaps): 50837 (WebCore::RenderBlock::leftSelectionOffset): 50838 (WebCore::RenderBlock::rightSelectionOffset): 50839 (WebCore::RenderBlock::insertPositionedObject): 50840 (WebCore::RenderBlock::removePositionedObject): 50841 (WebCore::RenderBlock::removePositionedObjects): 50842 (WebCore::RenderBlock::insertFloatingObject): 50843 (WebCore::RenderBlock::removeFloatingObject): 50844 (WebCore::RenderBlock::positionNewFloats): 50845 (WebCore::RenderBlock::newLine): 50846 (WebCore::RenderBlock::lowestPosition): 50847 (WebCore::RenderBlock::rightmostPosition): 50848 (WebCore::RenderBlock::leftmostPosition): 50849 (WebCore::RenderBlock::clearFloats): 50850 (WebCore::RenderBlock::addOverhangingFloats): 50851 (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout): 50852 (WebCore::RenderBlock::getClearDelta): 50853 (WebCore::RenderBlock::nodeAtPoint): 50854 (WebCore::RenderBlock::positionForCoordinates): 50855 (WebCore::RenderBlock::layoutColumns): 50856 (WebCore::RenderBlock::getBaselineOfFirstLineBox): 50857 (WebCore::RenderBlock::getBaselineOfLastLineBox): 50858 (WebCore::getHeightForLineCount): 50859 (WebCore::RenderBlock::adjustForBorderFit): 50860 * rendering/RenderBlock.h: 50861 (WebCore::RenderBlock::FloatWithRect::FloatWithRect): 50862 (WebCore::RenderBlock::hasOverhangingFloats): 50863 (WebCore::RenderBlock::CompactInfo::compact): 50864 (WebCore::RenderBlock::CompactInfo::set): 50865 * rendering/RenderBox.cpp: 50866 (WebCore::RenderBox::RenderBox): 50867 (WebCore::RenderBox::offsetLeft): 50868 (WebCore::RenderBox::offsetTop): 50869 (WebCore::RenderBox::offsetParent): 50870 (WebCore::RenderBox::clientWidth): 50871 (WebCore::RenderBox::clientHeight): 50872 (WebCore::RenderBox::scrollWidth): 50873 (WebCore::RenderBox::scrollHeight): 50874 (WebCore::RenderBox::scrollLeft): 50875 (WebCore::RenderBox::scrollTop): 50876 (WebCore::RenderBox::setScrollLeft): 50877 (WebCore::RenderBox::setScrollTop): 50878 (WebCore::RenderBox::absoluteRects): 50879 (WebCore::RenderBox::absoluteQuads): 50880 (WebCore::RenderBox::absoluteContentBox): 50881 (WebCore::RenderBox::absoluteContentQuad): 50882 (WebCore::RenderBox::absoluteOutlineBounds): 50883 (WebCore::RenderBox::addFocusRingRects): 50884 (WebCore::RenderBox::reflectionBox): 50885 (WebCore::RenderBox::reflectionOffset): 50886 (WebCore::RenderBox::reflectedRect): 50887 (WebCore::RenderBox::overrideWidth): 50888 (WebCore::RenderBox::overrideHeight): 50889 (WebCore::RenderBox::nodeAtPoint): 50890 (WebCore::RenderBox::paint): 50891 (WebCore::RenderBox::maskClipRect): 50892 (WebCore::RenderBox::repaintLayerRectsForImage): 50893 (WebCore::RenderBox::paintCustomHighlight): 50894 (WebCore::RenderBox::getOverflowClipRect): 50895 (WebCore::RenderBox::getClipRect): 50896 (WebCore::RenderBox::containingBlockWidth): 50897 (WebCore::RenderBox::localToAbsolute): 50898 (WebCore::RenderBox::offsetFromContainer): 50899 (WebCore::RenderBox::position): 50900 (WebCore::RenderBox::computeAbsoluteRepaintRect): 50901 (WebCore::RenderBox::repaintDuringLayoutIfMoved): 50902 (WebCore::RenderBox::calcWidth): 50903 (WebCore::RenderBox::calcWidthUsing): 50904 (WebCore::RenderBox::calcHorizontalMargins): 50905 (WebCore::RenderBox::calcHeight): 50906 (WebCore::RenderBox::calcPercentageHeight): 50907 (WebCore::RenderBox::calcReplacedHeightUsing): 50908 (WebCore::RenderBox::containingBlockWidthForPositioned): 50909 (WebCore::RenderBox::containingBlockHeightForPositioned): 50910 (WebCore::RenderBox::calcAbsoluteHorizontal): 50911 (WebCore::RenderBox::calcAbsoluteVertical): 50912 (WebCore::RenderBox::calcAbsoluteVerticalValues): 50913 (WebCore::RenderBox::calcAbsoluteHorizontalReplaced): 50914 (WebCore::RenderBox::calcAbsoluteVerticalReplaced): 50915 (WebCore::RenderBox::localCaretRect): 50916 (WebCore::RenderBox::lowestPosition): 50917 (WebCore::RenderBox::rightmostPosition): 50918 (WebCore::RenderBox::leftmostPosition): 50919 (WebCore::RenderBox::localTransform): 50920 * rendering/RenderBox.h: 50921 (WebCore::): 50922 (WebCore::RenderBox::x): 50923 (WebCore::RenderBox::y): 50924 (WebCore::RenderBox::width): 50925 (WebCore::RenderBox::height): 50926 (WebCore::RenderBox::setX): 50927 (WebCore::RenderBox::setY): 50928 (WebCore::RenderBox::setWidth): 50929 (WebCore::RenderBox::setHeight): 50930 (WebCore::RenderBox::location): 50931 (WebCore::RenderBox::size): 50932 (WebCore::RenderBox::setLocation): 50933 (WebCore::RenderBox::setSize): 50934 (WebCore::RenderBox::move): 50935 (WebCore::RenderBox::frameRect): 50936 (WebCore::RenderBox::setFrameRect): 50937 (WebCore::RenderBox::borderBoxRect): 50938 (WebCore::RenderBox::contentBoxRect): 50939 (WebCore::RenderBox::previousSiblingBox): 50940 (WebCore::RenderBox::nextSiblingBox): 50941 (WebCore::RenderBox::parentBox): 50942 (WebCore::RenderBox::overflowHeight): 50943 (WebCore::RenderBox::overflowWidth): 50944 (WebCore::RenderBox::setOverflowHeight): 50945 (WebCore::RenderBox::setOverflowWidth): 50946 (WebCore::RenderBox::overflowLeft): 50947 (WebCore::RenderBox::overflowTop): 50948 (WebCore::RenderBox::overflowRect): 50949 (WebCore::RenderBox::contentWidth): 50950 (WebCore::RenderBox::contentHeight): 50951 (WebCore::RenderBox::offsetWidth): 50952 (WebCore::RenderBox::offsetHeight): 50953 (WebCore::RenderBox::clientLeft): 50954 (WebCore::RenderBox::clientTop): 50955 (WebCore::RenderBox::availableWidth): 50956 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): 50957 * rendering/RenderButton.cpp: 50958 (WebCore::RenderButton::controlClipRect): 50959 * rendering/RenderContainer.cpp: 50960 (WebCore::RenderContainer::layout): 50961 (WebCore::RenderContainer::positionForCoordinates): 50962 * rendering/RenderContainer.h: 50963 (WebCore::RenderContainer::firstChildBox): 50964 (WebCore::RenderContainer::lastChildBox): 50965 * rendering/RenderFieldset.cpp: 50966 (WebCore::RenderFieldset::calcPrefWidths): 50967 (WebCore::RenderFieldset::layoutLegend): 50968 (WebCore::RenderFieldset::findLegend): 50969 (WebCore::RenderFieldset::paintBoxDecorations): 50970 (WebCore::RenderFieldset::paintMask): 50971 * rendering/RenderFieldset.h: 50972 * rendering/RenderFileUploadControl.cpp: 50973 (WebCore::RenderFileUploadControl::maxFilenameWidth): 50974 (WebCore::RenderFileUploadControl::paintObject): 50975 * rendering/RenderFlexibleBox.cpp: 50976 (WebCore::FlexBoxIterator::FlexBoxIterator): 50977 (WebCore::FlexBoxIterator::first): 50978 (WebCore::FlexBoxIterator::next): 50979 (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths): 50980 (WebCore::RenderFlexibleBox::calcVerticalPrefWidths): 50981 (WebCore::RenderFlexibleBox::layoutBlock): 50982 (WebCore::RenderFlexibleBox::layoutHorizontalBox): 50983 (WebCore::RenderFlexibleBox::layoutVerticalBox): 50984 (WebCore::RenderFlexibleBox::placeChild): 50985 (WebCore::RenderFlexibleBox::allowedChildFlex): 50986 * rendering/RenderFlexibleBox.h: 50987 * rendering/RenderFlow.cpp: 50988 (WebCore::RenderFlow::absoluteClippedOverflowRect): 50989 (WebCore::RenderFlow::lowestPosition): 50990 (WebCore::RenderFlow::rightmostPosition): 50991 (WebCore::RenderFlow::leftmostPosition): 50992 (WebCore::RenderFlow::localCaretRect): 50993 (WebCore::RenderFlow::addFocusRingRects): 50994 * rendering/RenderFrameSet.cpp: 50995 (WebCore::RenderFrameSet::paint): 50996 (WebCore::RenderFrameSet::layout): 50997 (WebCore::RenderFrameSet::positionFrames): 50998 * rendering/RenderHTMLCanvas.cpp: 50999 (WebCore::RenderHTMLCanvas::paintReplaced): 51000 (WebCore::RenderHTMLCanvas::canvasSizeChanged): 51001 * rendering/RenderImage.cpp: 51002 (WebCore::RenderImage::imageChanged): 51003 (WebCore::RenderImage::paintReplaced): 51004 (WebCore::RenderImage::nodeAtPoint): 51005 (WebCore::RenderImage::calcReplacedWidth): 51006 * rendering/RenderInline.cpp: 51007 (WebCore::RenderInline::absoluteRects): 51008 (WebCore::RenderInline::boundingBoxWidth): 51009 (WebCore::RenderInline::boundingBoxHeight): 51010 (WebCore::RenderInline::positionForCoordinates): 51011 * rendering/RenderInline.h: 51012 (WebCore::RenderInline::offsetWidth): 51013 (WebCore::RenderInline::offsetHeight): 51014 * rendering/RenderLayer.cpp: 51015 (WebCore::RenderLayer::updateTransform): 51016 (WebCore::RenderLayer::updateLayerPosition): 51017 (WebCore::RenderLayer::scrollbarCornerPresent): 51018 (WebCore::RenderLayer::createScrollbar): 51019 (WebCore::RenderLayer::positionOverflowControls): 51020 (WebCore::RenderLayer::paintScrollCorner): 51021 (WebCore::RenderLayer::paintResizer): 51022 (WebCore::RenderLayer::paintLayer): 51023 (WebCore::RenderLayer::hitTestLayer): 51024 (WebCore::RenderLayer::calculateRects): 51025 (WebCore::RenderLayer::boundingBox): 51026 * rendering/RenderListBox.cpp: 51027 (WebCore::RenderListBox::calcHeight): 51028 (WebCore::RenderListBox::controlClipRect): 51029 * rendering/RenderListItem.cpp: 51030 (WebCore::RenderListItem::positionListMarker): 51031 (WebCore::RenderListItem::paint): 51032 * rendering/RenderListMarker.cpp: 51033 (WebCore::RenderListMarker::paint): 51034 (WebCore::RenderListMarker::layout): 51035 (WebCore::RenderListMarker::imageChanged): 51036 (WebCore::RenderListMarker::getRelativeMarkerRect): 51037 (WebCore::RenderListMarker::selectionRect): 51038 * rendering/RenderMarquee.cpp: 51039 (WebCore::RenderMarquee::computePosition): 51040 * rendering/RenderMedia.cpp: 51041 (WebCore::RenderMedia::layout): 51042 (WebCore::RenderMedia::lowestPosition): 51043 (WebCore::RenderMedia::rightmostPosition): 51044 (WebCore::RenderMedia::leftmostPosition): 51045 * rendering/RenderMenuList.cpp: 51046 (WebCore::RenderMenuList::controlClipRect): 51047 * rendering/RenderObject.cpp: 51048 (WebCore::RenderObject::RenderObject): 51049 (WebCore::RenderObject::markAllDescendantsWithFloatsForLayout): 51050 (WebCore::RenderObject::paintOutline): 51051 (WebCore::RenderObject::addLineBoxRects): 51052 (WebCore::RenderObject::absoluteBoundingBoxRect): 51053 (WebCore::RenderObject::addAbsoluteRectForLayer): 51054 (WebCore::RenderObject::paintingRootRect): 51055 (WebCore::RenderObject::container): 51056 (WebCore::RenderObject::removeFromObjectLists): 51057 (WebCore::RenderObject::updateHitTestResult): 51058 (WebCore::RenderObject::addDashboardRegions): 51059 (WebCore::RenderObject::localTransform): 51060 * rendering/RenderObject.h: 51061 (WebCore::RenderObject::isBox): 51062 (WebCore::RenderObject::hasMask): 51063 (WebCore::RenderObject::setIsText): 51064 (WebCore::RenderObject::setIsBox): 51065 (WebCore::RenderObject::borderTop): 51066 (WebCore::RenderObject::borderBottom): 51067 (WebCore::RenderObject::absoluteRects): 51068 (WebCore::RenderObject::collectAbsoluteLineBoxQuads): 51069 (WebCore::RenderObject::absoluteQuads): 51070 (WebCore::RenderObject::hasReflection): 51071 (WebCore::RenderObject::addFocusRingRects): 51072 (WebCore::RenderObject::absoluteOutlineBounds): 51073 * rendering/RenderPart.cpp: 51074 (WebCore::RenderPart::updateWidgetPosition): 51075 * rendering/RenderPath.cpp: 51076 (WebCore::RenderPath::layout): 51077 (WebCore::RenderPath::paint): 51078 (WebCore::RenderPath::absoluteOutlineBounds): 51079 * rendering/RenderPath.h: 51080 * rendering/RenderReplaced.cpp: 51081 (WebCore::RenderReplaced::layout): 51082 (WebCore::RenderReplaced::paint): 51083 (WebCore::RenderReplaced::shouldPaint): 51084 (WebCore::RenderReplaced::positionForCoordinates): 51085 (WebCore::RenderReplaced::localSelectionRect): 51086 (WebCore::RenderReplaced::adjustOverflowForBoxShadow): 51087 (WebCore::RenderReplaced::overflowRect): 51088 * rendering/RenderReplica.cpp: 51089 (WebCore::RenderReplica::layout): 51090 (WebCore::RenderReplica::calcPrefWidths): 51091 (WebCore::RenderReplica::paint): 51092 * rendering/RenderSVGContainer.cpp: 51093 (WebCore::RenderSVGContainer::paint): 51094 (WebCore::RenderSVGContainer::absoluteOutlineBounds): 51095 * rendering/RenderSVGContainer.h: 51096 (WebCore::RenderSVGContainer::width): 51097 (WebCore::RenderSVGContainer::height): 51098 * rendering/RenderSVGImage.cpp: 51099 (WebCore::RenderSVGImage::layout): 51100 * rendering/RenderSVGInlineText.cpp: 51101 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): 51102 (WebCore::RenderSVGInlineText::positionForCoordinates): 51103 * rendering/RenderSVGRoot.cpp: 51104 (WebCore::RenderSVGRoot::layout): 51105 (WebCore::RenderSVGRoot::applyContentTransforms): 51106 (WebCore::RenderSVGRoot::paint): 51107 (WebCore::RenderSVGRoot::absoluteTransform): 51108 (WebCore::RenderSVGRoot::nodeAtPoint): 51109 * rendering/RenderSVGTSpan.cpp: 51110 (WebCore::RenderSVGTSpan::absoluteRects): 51111 (WebCore::RenderSVGTSpan::absoluteQuads): 51112 * rendering/RenderSVGText.cpp: 51113 (WebCore::RenderSVGText::layout): 51114 (WebCore::RenderSVGText::relativeBBox): 51115 * rendering/RenderSVGTextPath.cpp: 51116 (WebCore::RenderSVGTextPath::absoluteRects): 51117 (WebCore::RenderSVGTextPath::absoluteQuads): 51118 * rendering/RenderSVGViewportContainer.cpp: 51119 (WebCore::RenderSVGViewportContainer::nodeAtPoint): 51120 * rendering/RenderScrollbar.cpp: 51121 (WebCore::RenderScrollbar::createCustomScrollbar): 51122 (WebCore::RenderScrollbar::RenderScrollbar): 51123 (WebCore::RenderScrollbar::setParent): 51124 * rendering/RenderScrollbar.h: 51125 (WebCore::RenderScrollbar::owningRenderer): 51126 * rendering/RenderScrollbarPart.cpp: 51127 (WebCore::RenderScrollbarPart::layout): 51128 (WebCore::RenderScrollbarPart::layoutHorizontalPart): 51129 (WebCore::RenderScrollbarPart::layoutVerticalPart): 51130 (WebCore::RenderScrollbarPart::computeScrollbarWidth): 51131 (WebCore::RenderScrollbarPart::computeScrollbarHeight): 51132 (WebCore::RenderScrollbarPart::paintIntoRect): 51133 * rendering/RenderSlider.cpp: 51134 (WebCore::HTMLSliderThumbElement::defaultEventHandler): 51135 (WebCore::RenderSlider::layout): 51136 (WebCore::RenderSlider::mouseEventIsInThumb): 51137 (WebCore::RenderSlider::positionForOffset): 51138 (WebCore::RenderSlider::trackSize): 51139 * rendering/RenderTable.cpp: 51140 (WebCore::RenderTable::calcWidth): 51141 (WebCore::RenderTable::layout): 51142 (WebCore::RenderTable::paint): 51143 (WebCore::RenderTable::getBaselineOfFirstLineBox): 51144 * rendering/RenderTableCell.cpp: 51145 (WebCore::RenderTableCell::updateWidth): 51146 (WebCore::RenderTableCell::computeAbsoluteRepaintRect): 51147 (WebCore::RenderTableCell::localToAbsolute): 51148 (WebCore::RenderTableCell::absoluteToLocal): 51149 (WebCore::RenderTableCell::localToAbsoluteQuad): 51150 (WebCore::RenderTableCell::paint): 51151 (WebCore::RenderTableCell::paintBackgroundsBehindCell): 51152 * rendering/RenderTableCell.h: 51153 * rendering/RenderTableSection.cpp: 51154 (WebCore::RenderTableSection::addChild): 51155 (WebCore::RenderTableSection::addCell): 51156 (WebCore::RenderTableSection::setCellWidths): 51157 (WebCore::RenderTableSection::calcRowHeight): 51158 (WebCore::RenderTableSection::layoutRows): 51159 (WebCore::RenderTableSection::lowestPosition): 51160 (WebCore::RenderTableSection::rightmostPosition): 51161 (WebCore::RenderTableSection::leftmostPosition): 51162 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): 51163 (WebCore::RenderTableSection::paint): 51164 (WebCore::RenderTableSection::recalcCells): 51165 (WebCore::RenderTableSection::nodeAtPoint): 51166 * rendering/RenderTableSection.h: 51167 (WebCore::RenderTableSection::overflowWidth): 51168 (WebCore::RenderTableSection::overflowHeight): 51169 * rendering/RenderText.cpp: 51170 (WebCore::RenderText::RenderText): 51171 (WebCore::RenderText::boundingBoxX): 51172 (WebCore::RenderText::boundingBoxY): 51173 (WebCore::RenderText::firstRunX): 51174 (WebCore::RenderText::firstRunY): 51175 (WebCore::RenderText::boundingBoxHeight): 51176 (WebCore::RenderText::boundingBoxWidth): 51177 * rendering/RenderText.h: 51178 * rendering/RenderTextControl.cpp: 51179 (WebCore::RenderTextControl::textBlockHeight): 51180 (WebCore::RenderTextControl::textBlockWidth): 51181 (WebCore::RenderTextControl::setSelectionRange): 51182 (WebCore::RenderTextControl::calcHeight): 51183 (WebCore::RenderTextControl::hitInnerTextBlock): 51184 (WebCore::RenderTextControl::controlClipRect): 51185 * rendering/RenderTextControlMultiLine.cpp: 51186 (WebCore::RenderTextControlMultiLine::layout): 51187 (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight): 51188 * rendering/RenderTextControlSingleLine.cpp: 51189 (WebCore::RenderTextControlSingleLine::paint): 51190 (WebCore::RenderTextControlSingleLine::layout): 51191 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 51192 (WebCore::RenderTextControlSingleLine::forwardEvent): 51193 (WebCore::RenderTextControlSingleLine::textBlockWidth): 51194 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): 51195 (WebCore::RenderTextControlSingleLine::clientPaddingLeft): 51196 (WebCore::RenderTextControlSingleLine::clientPaddingRight): 51197 * rendering/RenderTheme.cpp: 51198 (WebCore::RenderTheme::hitTestMediaControlPart): 51199 (WebCore::RenderTheme::baselinePosition): 51200 * rendering/RenderThemeMac.mm: 51201 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): 51202 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): 51203 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): 51204 (WebCore::RenderThemeMac::hitTestMediaControlPart): 51205 * rendering/RenderTreeAsText.cpp: 51206 (WebCore::operator<<): 51207 * rendering/RenderVideo.cpp: 51208 (WebCore::RenderVideo::videoBox): 51209 * rendering/RenderView.cpp: 51210 (WebCore::RenderView::RenderView): 51211 (WebCore::RenderView::calcHeight): 51212 (WebCore::RenderView::calcWidth): 51213 (WebCore::RenderView::layout): 51214 (WebCore::RenderView::viewRect): 51215 (WebCore::RenderView::docHeight): 51216 (WebCore::RenderView::docWidth): 51217 (WebCore::RenderView::setBestTruncatedAt): 51218 * rendering/RenderView.h: 51219 * rendering/RenderWidget.cpp: 51220 (WebCore::RenderWidget::paint): 51221 (WebCore::RenderWidget::updateWidgetPosition): 51222 (WebCore::RenderWidget::nodeAtPoint): 51223 * rendering/RootInlineBox.h: 51224 (WebCore::RootInlineBox::floats): 51225 (WebCore::RootInlineBox::floatsPtr): 51226 * rendering/SVGInlineFlowBox.cpp: 51227 (WebCore::SVGInlineFlowBox::verticallyAlignBoxes): 51228 * rendering/SVGInlineFlowBox.h: 51229 * rendering/SVGRenderTreeAsText.cpp: 51230 (WebCore::operator<<): 51231 (WebCore::write): 51232 * rendering/SVGRootInlineBox.cpp: 51233 (WebCore::SVGRootInlineBox::verticallyAlignBoxes): 51234 (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation): 51235 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 51236 * rendering/SVGRootInlineBox.h: 51237 * rendering/bidi.cpp: 51238 (WebCore::RenderBlock::computeHorizontalPositionsForLine): 51239 (WebCore::RenderBlock::computeVerticalPositionsForLine): 51240 (WebCore::RenderBlock::layoutInlineChildren): 51241 (WebCore::RenderBlock::determineStartPosition): 51242 (WebCore::RenderBlock::matchedEndLine): 51243 (WebCore::RenderBlock::skipTrailingWhitespace): 51244 (WebCore::RenderBlock::skipLeadingWhitespace): 51245 (WebCore::RenderBlock::fitBelowFloats): 51246 (WebCore::RenderBlock::findNextLineBreak): 51247 (WebCore::RenderBlock::checkLinesForOverflow): 51248 * svg/SVGLength.cpp: 51249 (WebCore::SVGLength::PercentageOfViewport): 51250 51251 2009-01-21 Anders Carlsson <andersca (a] apple.com> 51252 51253 Reviewed by Sam Weinig. 51254 51255 * WebCore.LP64.exp: 51256 Add some bridge related symbols. 51257 51258 * WebCore.xcodeproj/project.pbxproj: 51259 Make runtime_object.h a private header. 51260 51261 2009-01-20 David Levin <levin (a] chromium.org> 51262 51263 Reviewed by Alexey Proskuryakov. 51264 51265 Bug 22720: Make XMLHttpRequest work in Workers 51266 <https://bugs.webkit.org/show_bug.cgi?id=22720> 51267 51268 More removal of document usage from XMLHttpRequest. 51269 * Abstracted away the sync and async requests behind the ThreadableLoader class, which 51270 will get an implementation for Workers. ThreadableLoader follows the same model as 51271 SubresourceLoader because DocumentThreadableLoader is a thin wrapper around SubresourceLoader. 51272 Also, WorkerThreadableLoader (coming soon) will use DocumentThreadableLoader to get things done. 51273 * Consolidated dashboard compatibility checks into usesDashboardBackwardCompatibilityMode 51274 which handles workers. 51275 51276 No observable change in behavior, so no test. 51277 51278 * GNUmakefile.am: 51279 * WebCore.pro: 51280 * WebCore.scons: 51281 * WebCore.vcproj/WebCore.vcproj: 51282 * WebCore.xcodeproj/project.pbxproj: 51283 * WebCoreSources.bkl: 51284 * loader/DocumentThreadableLoader.cpp: Added. 51285 (WebCore::DocumentThreadableLoader::create): 51286 (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): 51287 (WebCore::DocumentThreadableLoader::~DocumentThreadableLoader): 51288 (WebCore::DocumentThreadableLoader::cancel): 51289 (WebCore::DocumentThreadableLoader::willSendRequest): 51290 (WebCore::DocumentThreadableLoader::didSendData): 51291 (WebCore::DocumentThreadableLoader::didReceiveResponse): 51292 (WebCore::DocumentThreadableLoader::didReceiveData): 51293 (WebCore::DocumentThreadableLoader::didFinishLoading): 51294 (WebCore::DocumentThreadableLoader::didFail): 51295 (WebCore::DocumentThreadableLoader::receivedCancellation): 51296 * loader/DocumentThreadableLoader.h: Added. 51297 (WebCore::DocumentThreadableLoader::refThreadableLoader): 51298 (WebCore::DocumentThreadableLoader::derefThreadableLoader): 51299 * loader/SubresourceLoaderClient.h: 51300 (WebCore::SubresourceLoaderClient::didReceiveData): 51301 * loader/ThreadableLoader.cpp: Added. 51302 (WebCore::ThreadableLoader::create): 51303 (WebCore::ThreadableLoader::loadResourceSynchronously): 51304 * loader/ThreadableLoader.h: Added. 51305 (WebCore::): 51306 (WebCore::ThreadableLoader::ref): 51307 (WebCore::ThreadableLoader::deref): 51308 (WebCore::ThreadableLoader::~ThreadableLoader): 51309 * loader/ThreadableLoaderClient.h: Added. 51310 (WebCore::ThreadableLoaderClient::didSendData): 51311 (WebCore::ThreadableLoaderClient::didReceiveResponse): 51312 (WebCore::ThreadableLoaderClient::didReceiveData): 51313 (WebCore::ThreadableLoaderClient::didFinishLoading): 51314 (WebCore::ThreadableLoaderClient::didFail): 51315 (WebCore::ThreadableLoaderClient::didGetCancelled): 51316 (WebCore::ThreadableLoaderClient::didReceiveAuthenticationCancellation): 51317 (WebCore::ThreadableLoaderClient::~ThreadableLoaderClient): 51318 * xml/XMLHttpRequest.cpp: 51319 (WebCore::XMLHttpRequest::XMLHttpRequest): 51320 (WebCore::XMLHttpRequest::usesDashboardBackwardCompatibilityMode): 51321 (WebCore::XMLHttpRequest::send): 51322 (WebCore::XMLHttpRequest::loadRequestSynchronously): 51323 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 51324 (WebCore::XMLHttpRequest::setRequestHeader): 51325 (WebCore::XMLHttpRequest::processSyncLoadResults): 51326 (WebCore::XMLHttpRequest::didFail): 51327 (WebCore::XMLHttpRequest::didGetCancelled): 51328 (WebCore::XMLHttpRequest::didFinishLoading): 51329 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): 51330 (WebCore::XMLHttpRequest::didSendData): 51331 (WebCore::XMLHttpRequest::didReceiveResponse): 51332 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 51333 (WebCore::XMLHttpRequest::didReceiveAuthenticationCancellation): 51334 (WebCore::XMLHttpRequest::didReceiveData): 51335 * xml/XMLHttpRequest.h: 51336 51337 2009-01-19 Chris Marrin <cmarrin (a] apple.com> 51338 51339 Reviewed by David Hyatt. 51340 51341 Fix for https://bugs.webkit.org/show_bug.cgi?id=23317 51342 51343 The high CPU usage was really from repeatedly firing transitions caused 51344 by a bug in the way we handle background-color animations. If animating 51345 from a valid background color to no background color, we sometimes left 51346 (based on timing) the background color as transparent black, but valid 51347 rather than invalid, which it should be. Fixing that got rid of the 51348 repeated firing. 51349 51350 But we really were doing more expensive iteration of all objects with 51351 animations or transitions on them (running or not). So I added two 51352 optimizations to quickly short circuit when an object had no running 51353 animations or transitions. Things are now as zippy as ever. 51354 51355 Test: transitions/repeated-firing-background-color.html 51356 51357 * page/animation/AnimationBase.cpp: 51358 (WebCore::blendFunc): 51359 * page/animation/AnimationController.cpp: 51360 (WebCore::AnimationControllerPrivate::updateAnimationTimer): 51361 * page/animation/CompositeAnimation.cpp: 51362 (WebCore::CompositeAnimationPrivate::hasAnimations): 51363 (WebCore::CompositeAnimationPrivate::clearRenderer): 51364 (WebCore::CompositeAnimationPrivate::animate): 51365 (WebCore::CompositeAnimationPrivate::setAnimating): 51366 (WebCore::CompositeAnimationPrivate::willNeedService): 51367 (WebCore::CompositeAnimationPrivate::getAnimationForProperty): 51368 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations): 51369 (WebCore::CompositeAnimationPrivate::setAnimationStartTime): 51370 (WebCore::CompositeAnimationPrivate::setTransitionStartTime): 51371 (WebCore::CompositeAnimationPrivate::suspendAnimations): 51372 (WebCore::CompositeAnimationPrivate::resumeAnimations): 51373 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations): 51374 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations): 51375 (WebCore::CompositeAnimationPrivate::styleAvailable): 51376 (WebCore::CompositeAnimationPrivate::isAnimatingProperty): 51377 (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations): 51378 (WebCore::CompositeAnimation::hasAnimations): 51379 * page/animation/CompositeAnimation.h: 51380 51381 2009-01-21 Eric Seidel <eric (a] webkit.org> 51382 51383 Reviewed by Justin Garcia. 51384 51385 Remove the style='' turds left by some editing commands 51386 https://bugs.webkit.org/show_bug.cgi?id=23463 51387 51388 Test: editing/execCommand/toggle-styles.html 51389 51390 * editing/ApplyStyleCommand.cpp: 51391 (WebCore::ApplyStyleCommand::removeCSSStyle): check if we just removed the last CSS property and remove the style attribute as well 51392 * editing/CompositeEditCommand.cpp: 51393 (WebCore::CompositeEditCommand::removeNodeAttribute): remove extra ; 51394 51395 2009-01-21 Eric Seidel <eric (a] webkit.org> 51396 51397 No review, build fix. 51398 51399 Fix release-only build failure (and do a tiny code-cleanup). 51400 51401 * editing/ApplyStyleCommand.cpp: 51402 (WebCore::createFontElement): 51403 (WebCore::createStyleSpanElement): 51404 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 51405 51406 2009-01-21 Chris Fleizach <cfleizach (a] apple.com> 51407 51408 Reviewed by Beth Dakin. 51409 51410 Bug 23443: Table accessibility should be re-enabled after fixing crash that occurs at WebCore::AccessibilityTable::isTableExposableThroughAccessibility() 51411 https://bugs.webkit.org/show_bug.cgi?id=23443 51412 51413 Test: accessibility/table-modification-crash.html 51414 51415 * page/AccessibilityObject.cpp: 51416 (WebCore::AccessibilityObject::updateBackingStore): 51417 * page/AccessibilityObject.h: 51418 * page/AccessibilityRenderObject.cpp: 51419 (WebCore::AccessibilityRenderObject::childrenChanged): 51420 (WebCore::AccessibilityRenderObject::children): 51421 (WebCore::AccessibilityRenderObject::updateBackingStore): 51422 * page/AccessibilityRenderObject.h: 51423 (WebCore::AccessibilityRenderObject::markChildrenDirty): 51424 * page/AccessibilityTable.cpp: 51425 (WebCore::AccessibilityTable::AccessibilityTable): 51426 * page/mac/AccessibilityObjectWrapper.mm: 51427 (-[AccessibilityObjectWrapper accessibilityActionNames]): 51428 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 51429 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 51430 (-[AccessibilityObjectWrapper accessibilityFocusedUIElement]): 51431 (-[AccessibilityObjectWrapper accessibilityHitTest:]): 51432 (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]): 51433 (-[AccessibilityObjectWrapper accessibilityIsIgnored]): 51434 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 51435 (-[AccessibilityObjectWrapper accessibilityPerformPressAction]): 51436 (-[AccessibilityObjectWrapper accessibilityPerformAction:]): 51437 (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]): 51438 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 51439 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): 51440 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]): 51441 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): 51442 * rendering/RenderObject.cpp: 51443 (WebCore::RenderObject::destroy): 51444 * rendering/RenderWidget.cpp: 51445 (WebCore::RenderWidget::destroy): 51446 51447 2009-01-16 Eric Seidel <eric (a] webkit.org> 51448 51449 Reviewed by Justin Garcia. 51450 51451 Fix execCommand() 'super' and 'sub' commands to add <sup> and <sub> in quirks mode, and to toggle when called twice 51452 https://bugs.webkit.org/show_bug.cgi?id=17733 51453 51454 Test changed: editing/execCommand/toggle-styles-expected.txt 51455 51456 * editing/ApplyStyleCommand.cpp: 51457 (WebCore::StyleChange::applySubscript): 51458 (WebCore::StyleChange::applySuperscript): 51459 (WebCore::StyleChange::StyleChange): 51460 (WebCore::StyleChange::init): 51461 (WebCore::StyleChange::checkForLegacyHTMLStyleChange): 51462 (WebCore::ApplyStyleCommand::isHTMLStyleNode): 51463 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 51464 * editing/EditorCommand.cpp: 51465 (WebCore::executeSubscript): 51466 (WebCore::executeSuperscript): 51467 * editing/htmlediting.cpp: 51468 (WebCore::createHTMLElement): 51469 * editing/htmlediting.h: 51470 51471 2009-01-21 Anders Carlsson <andersca (a] apple.com> 51472 51473 Fix 64-bit build. 51474 51475 * WebCore.LP64.exp: 51476 51477 2009-01-21 Oliver Hunt <oliver (a] apple.com> 51478 51479 Reviewed by Alexey Proskuryakov. 51480 51481 Bug 23458: Reintroduce CanvasPixelArray in ImageData.idl 51482 <https://bugs.webkit.org/show_bug.cgi?id=23458> 51483 51484 Return CanvasPixelArray, et al -- the only difference between this 51485 and the original CPA implementation is that it now uses a ByteArray 51486 rather than a vector. JSC still uses a custom wrapper, but this allows 51487 ObjC, COM, and V8 bindings to be autogenerated again. 51488 51489 * GNUmakefile.am: 51490 * WebCore.pro: 51491 * WebCore.vcproj/WebCore.vcproj: 51492 * WebCore.xcodeproj/project.pbxproj: 51493 * WebCoreSources.bkl: 51494 * bindings/js/JSImageDataCustom.cpp: 51495 (WebCore::toJS): 51496 * html/CanvasPixelArray.cpp: Added. 51497 (WebCore::CanvasPixelArray::create): 51498 (WebCore::CanvasPixelArray::CanvasPixelArray): 51499 * html/CanvasPixelArray.h: Added. 51500 (WebCore::CanvasPixelArray::data): 51501 (WebCore::CanvasPixelArray::length): 51502 (WebCore::CanvasPixelArray::set): 51503 (WebCore::CanvasPixelArray::get): 51504 * html/CanvasPixelArray.idl: Added. 51505 * html/CanvasRenderingContext2D.cpp: 51506 (WebCore::createEmptyImageData): 51507 * html/ImageData.cpp: 51508 (WebCore::ImageData::ImageData): 51509 * html/ImageData.h: 51510 (WebCore::ImageData::data): 51511 * html/ImageData.idl: 51512 * platform/graphics/cairo/ImageBufferCairo.cpp: 51513 (WebCore::ImageBuffer::getImageData): 51514 (WebCore::ImageBuffer::putImageData): 51515 * platform/graphics/cg/ImageBufferCG.cpp: 51516 (WebCore::ImageBuffer::getImageData): 51517 (WebCore::ImageBuffer::putImageData): 51518 51519 2009-01-21 Dirk Schulze <krit (a] webkit.org> 51520 51521 Reviewed by Nikolas Zimmermann. 51522 51523 Remove last relics of platform dependent PaintServer in SVG. 51524 We draw everything with the help of GraphicsContext. 51525 51526 Remove SVGPaintServerPlatform's 51527 [https://bugs.webkit.org/show_bug.cgi?id=23439] 51528 51529 * GNUmakefile.am: 51530 * WebCore.pro: 51531 * WebCore.vcproj/WebCore.vcproj: 51532 * WebCore.xcodeproj/project.pbxproj: 51533 * svg/graphics/SVGPaintServer.cpp: 51534 (WebCore::SVGPaintServer::draw): 51535 (WebCore::SVGPaintServer::renderPath): 51536 (WebCore::SVGPaintServer::teardown): 51537 * svg/graphics/SVGPaintServer.h: 51538 * svg/graphics/SVGPaintServerGradient.cpp: 51539 * svg/graphics/SVGPaintServerGradient.h: 51540 * svg/graphics/SVGPaintServerPattern.cpp: 51541 * svg/graphics/SVGPaintServerPattern.h: 51542 * svg/graphics/SVGPaintServerSolid.cpp: 51543 * svg/graphics/SVGPaintServerSolid.h: 51544 * svg/graphics/cairo/SVGPaintServerCairo.cpp: Removed. 51545 * svg/graphics/cg/SVGPaintServerCg.cpp: Removed. 51546 * svg/graphics/qt/SVGPaintServerQt.cpp: Removed. 51547 * svg/graphics/skia/SVGPaintServerSkia.cpp: Removed. 51548 51549 2009-01-21 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 51550 51551 Reviewed by Alexey Proskuryakov. 51552 51553 Move "Element -> ScriptElement" casting functionality into ScriptElement.h 51554 to be consistent with FormControlElement/InputElement/OptionElement/OptionGroupElement. 51555 51556 It was living in XMLTokenizer before, which is not an obvious place for this. 51557 TODO: Rename 'formControlElementForElement' to 'toFormControlElement' (analogous changes for InputElement etc.) 51558 as suggested by Alexey, it really reads better this way. 51559 51560 * dom/ScriptElement.cpp: 51561 (WebCore::toScriptElement): 51562 * dom/ScriptElement.h: 51563 * dom/XMLTokenizer.cpp: 51564 (WebCore::XMLTokenizer::notifyFinished): 51565 * dom/XMLTokenizer.h: 51566 * dom/XMLTokenizerLibxml2.cpp: 51567 (WebCore::XMLTokenizer::startElementNs): 51568 (WebCore::XMLTokenizer::endElementNs): 51569 * dom/XMLTokenizerQt.cpp: 51570 (WebCore::XMLTokenizer::parseStartElement): 51571 (WebCore::XMLTokenizer::parseEndElement): 51572 51573 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 51574 51575 Reviewed by George Staikos. 51576 51577 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23444 51578 51579 Refactor some functionality from HTMLOption/OptGroupElement needed by RenderListBox/RenderMenuList 51580 in two abstract base classes: OptionElement & OptionGroupElement living in dom/ - just like it 51581 has been done before for FormControlElement and RenderTextControl. 51582 51583 This is needed to prepare the addtion of WMLOption/OptGroupElement. 51584 51585 * GNUmakefile.am: 51586 * WebCore.pro: 51587 * WebCore.scons: 51588 * WebCore.vcproj/WebCore.vcproj: 51589 * WebCore.xcodeproj/project.pbxproj: 51590 * WebCoreSources.bkl: 51591 * dom/OptionElement.cpp: Added. 51592 (WebCore::optionElementForElement): 51593 * dom/OptionElement.h: Added. 51594 (WebCore::OptionElement::~OptionElement): 51595 (WebCore::OptionElement::OptionElement): 51596 * dom/OptionGroupElement.cpp: Added. 51597 (WebCore::optionGroupElementForElement): 51598 * dom/OptionGroupElement.h: Added. 51599 (WebCore::OptionGroupElement::~OptionGroupElement): 51600 (WebCore::OptionGroupElement::OptionGroupElement): 51601 * html/HTMLOptGroupElement.h: 51602 * html/HTMLOptionElement.cpp: 51603 (WebCore::HTMLOptionElement::optionText): 51604 * html/HTMLOptionElement.h: 51605 (WebCore::HTMLOptionElement::selected): 51606 * rendering/RenderListBox.cpp: 51607 (WebCore::RenderListBox::updateFromElement): 51608 (WebCore::RenderListBox::paintItemForeground): 51609 (WebCore::RenderListBox::paintItemBackground): 51610 * rendering/RenderMenuList.cpp: 51611 (WebCore::RenderMenuList::updateOptionsWidth): 51612 (WebCore::RenderMenuList::setTextFromOption): 51613 (WebCore::RenderMenuList::itemText): 51614 (WebCore::RenderMenuList::itemIsSelected): 51615 51616 2009-01-20 Darin Adler <darin (a] apple.com> 51617 51618 Reviewed by Alexey Proskuryakov. 51619 51620 Bug 23448: memory leak in Mac version of preferredExtensionForImageSourceType 51621 https://bugs.webkit.org/show_bug.cgi?id=23448 51622 51623 * platform/graphics/cg/ImageSourceCGMac.mm: 51624 (WebCore::preferredExtensionForImageSourceType): Use RetainPtr to avoid the leak. 51625 51626 2009-01-20 Darin Adler <darin (a] apple.com> 51627 51628 Try to fix Wx build. 51629 51630 * platform/wx/PasteboardWx.cpp: 51631 (WebCore::Pasteboard::writeSelection): Removed code that replaces backslash 51632 with backslashAsCurrencySymbol. I'm pretty sure this is not needed when writing 51633 to the clipboard. Other platforms don't do it. If it was needed, the new function 51634 to use would be displayStringModifiedByEncoding. 51635 51636 2009-01-19 Brent Fulgham <bfulgham (a] gmail.com> 51637 51638 Reviewed by Mitz Pettel. 51639 51640 Fixes https://bugs.webkit.org/show_bug.cgi?id=23423. 51641 51642 The Windows Cairo post-build targets (Release/Debug) do not 51643 copy all of the headers that the CG-based build does. 51644 51645 * WebCore.vcproj/WebCore.vcproj: Extend WebCore Cairo build targets 51646 to copy the page/animation/*.h files into WebKitBuild so that 51647 WebKit can find them. 51648 51649 2009-01-20 Dmitry Titov <dimich (a] chromium.org> 51650 51651 Reviewed by Alexey Proskuryakov. 51652 51653 https://bugs.webkit.org/show_bug.cgi?id=23413 51654 Remove unused WebCore::setDeferringTimers() 51655 51656 * platform/Timer.cpp: 51657 (WebCore::updateSharedTimer): 51658 * platform/Timer.h: 51659 51660 2009-01-20 David Hyatt <hyatt (a] apple.com> 51661 51662 Tighten up the type of RenderObject owned by RenderLayer to be a RenderBox. Rename m_object to 51663 m_renderer to be consistent with the corresponding member function. 51664 51665 Reviewed by Jon Honeycutt 51666 51667 * rendering/RenderLayer.cpp: 51668 (WebCore::RenderLayer::RenderLayer): 51669 (WebCore::RenderLayer::updateLayerPositions): 51670 (WebCore::RenderLayer::updateVisibilityStatus): 51671 (WebCore::RenderLayer::updateLayerPosition): 51672 (WebCore::RenderLayer::stackingContext): 51673 (WebCore::RenderLayer::enclosingPositionedAncestor): 51674 (WebCore::RenderLayer::enclosingTransformedAncestor): 51675 (WebCore::RenderLayer::isTransparent): 51676 (WebCore::RenderLayer::convertToLayerCoords): 51677 (WebCore::RenderLayer::scrollByRecursively): 51678 (WebCore::RenderLayer::scrollToOffset): 51679 (WebCore::RenderLayer::scrollRectToVisible): 51680 (WebCore::RenderLayer::resize): 51681 (WebCore::RenderLayer::scrollbarCornerPresent): 51682 (WebCore::RenderLayer::createScrollbar): 51683 (WebCore::RenderLayer::setHasHorizontalScrollbar): 51684 (WebCore::RenderLayer::setHasVerticalScrollbar): 51685 (WebCore::RenderLayer::positionOverflowControls): 51686 (WebCore::RenderLayer::computeScrollDimensions): 51687 (WebCore::RenderLayer::updateOverflowStatus): 51688 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 51689 (WebCore::RenderLayer::paintOverflowControls): 51690 (WebCore::RenderLayer::paintScrollCorner): 51691 (WebCore::RenderLayer::paintResizer): 51692 (WebCore::RenderLayer::isPointInResizeControl): 51693 (WebCore::RenderLayer::paintLayer): 51694 (WebCore::RenderLayer::hitTestLayer): 51695 (WebCore::RenderLayer::updateClipRects): 51696 (WebCore::RenderLayer::calculateClipRects): 51697 (WebCore::RenderLayer::calculateRects): 51698 (WebCore::RenderLayer::clearClipRects): 51699 (WebCore::RenderLayer::repaintIncludingDescendants): 51700 (WebCore::RenderLayer::styleChanged): 51701 (WebCore::RenderLayer::updateScrollCornerStyle): 51702 (WebCore::RenderLayer::updateResizerStyle): 51703 * rendering/RenderLayer.h: 51704 (WebCore::RenderLayer::renderer): 51705 (WebCore::RenderLayer::hasReflection): 51706 (WebCore::RenderLayer::hasTransform): 51707 51708 2009-01-20 David Hyatt <hyatt (a] apple.com> 51709 51710 Fix Mac build bustage from my selection changes. I forgot to implement the functions on RenderThemeMac 51711 for returning the appropriate listbox selection colors. 51712 51713 Reviewed by Adele 51714 51715 * rendering/RenderThemeMac.mm: 51716 (WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor): 51717 (WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor): 51718 (WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor): 51719 51720 2009-01-20 Dave Hyatt <hyatt (a] apple.com> 51721 51722 Fix for focus rings on Windows. Make sure that focus rings draw for all controls but buttons. 51723 51724 Fix list box selection colors on Windows. Also add a cache for all of the selection colors (and not just the two 51725 background selection colors). 51726 51727 Reviewed by Adam Roben 51728 51729 * rendering/RenderObject.cpp: 51730 (WebCore::RenderObject::selectionForegroundColor): 51731 * rendering/RenderTheme.cpp: 51732 (WebCore::RenderTheme::activeSelectionBackgroundColor): 51733 (WebCore::RenderTheme::inactiveSelectionBackgroundColor): 51734 (WebCore::RenderTheme::activeSelectionForegroundColor): 51735 (WebCore::RenderTheme::inactiveSelectionForegroundColor): 51736 (WebCore::RenderTheme::activeListBoxSelectionBackgroundColor): 51737 (WebCore::RenderTheme::inactiveListBoxSelectionBackgroundColor): 51738 (WebCore::RenderTheme::activeListBoxSelectionForegroundColor): 51739 (WebCore::RenderTheme::inactiveListBoxSelectionForegroundColor): 51740 (WebCore::RenderTheme::platformActiveSelectionForegroundColor): 51741 (WebCore::RenderTheme::platformInactiveSelectionBackgroundColor): 51742 (WebCore::RenderTheme::platformInactiveSelectionForegroundColor): 51743 (WebCore::RenderTheme::platformActiveListBoxSelectionBackgroundColor): 51744 (WebCore::RenderTheme::platformActiveListBoxSelectionForegroundColor): 51745 (WebCore::RenderTheme::platformInactiveListBoxSelectionBackgroundColor): 51746 (WebCore::RenderTheme::platformInactiveListBoxSelectionForegroundColor): 51747 (WebCore::RenderTheme::platformColorsDidChange): 51748 * rendering/RenderTheme.h: 51749 (WebCore::RenderTheme::supportsForegroundSelectionColors): 51750 (WebCore::RenderTheme::supportsForegroundListBoxSelectionColors): 51751 * rendering/RenderThemeMac.h: 51752 (WebCore::RenderThemeMac::supportsForegroundSelectionColors): 51753 * rendering/RenderThemeMac.mm: 51754 (WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor): 51755 * rendering/RenderThemeWin.cpp: 51756 (WebCore::RenderThemeWin::platformInactiveSelectionBackgroundColor): 51757 (WebCore::RenderThemeWin::platformInactiveSelectionForegroundColor): 51758 (WebCore::RenderThemeWin::supportsFocus): 51759 (WebCore::RenderThemeWin::supportsFocusRing): 51760 * rendering/RenderThemeWin.h: 51761 51762 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 51763 51764 Reviewed by George Staikos. 51765 51766 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23434 51767 51768 Add WML <input> element support - it required a lot of changes to the RenderText*/HTMLInput* code. 51769 Now any language can provide <input>-style elements, without having to inherit from HTML* classes. 51770 51771 No WML specific features/attributes are handled so far. A follow-up patch will provide those bits. 51772 Added very simple fast/wml/input.wml, just checking that input elements can be rendered properly now. 51773 Detailed testcases will follow in conjunction with the WML specific attribute support. 51774 51775 * GNUmakefile.am: 51776 * WebCore.pro: 51777 * WebCore.vcproj/WebCore.vcproj: 51778 * WebCore.xcodeproj/project.pbxproj: 51779 * css/CSSStyleSelector.cpp: 51780 (WebCore::CSSStyleSelector::adjustRenderStyle): 51781 * dom/FormControlElement.cpp: Activate disabled code from previous checking. 51782 (WebCore::formControlElementForElement): 51783 * dom/InputElement.cpp: Ditto. 51784 (WebCore::inputElementForElement): 51785 * wml/WMLInputElement.cpp: Added. 51786 (WebCore::WMLInputElement::WMLInputElement): 51787 (WebCore::WMLInputElement::~WMLInputElement): 51788 (WebCore::isInputFocusable): 51789 (WebCore::WMLInputElement::isKeyboardFocusable): 51790 (WebCore::WMLInputElement::isMouseFocusable): 51791 (WebCore::WMLInputElement::dispatchFocusEvent): 51792 (WebCore::WMLInputElement::dispatchBlurEvent): 51793 (WebCore::WMLInputElement::updateFocusAppearance): 51794 (WebCore::WMLInputElement::aboutToUnload): 51795 (WebCore::WMLInputElement::size): 51796 (WebCore::WMLInputElement::name): 51797 (WebCore::WMLInputElement::value): 51798 (WebCore::WMLInputElement::setValue): 51799 (WebCore::WMLInputElement::setValueFromRenderer): 51800 (WebCore::WMLInputElement::saveState): 51801 (WebCore::WMLInputElement::restoreState): 51802 (WebCore::WMLInputElement::select): 51803 (WebCore::WMLInputElement::accessKeyAction): 51804 (WebCore::WMLInputElement::parseMappedAttribute): 51805 (WebCore::WMLInputElement::copyNonAttributeProperties): 51806 (WebCore::WMLInputElement::createRenderer): 51807 (WebCore::WMLInputElement::attach): 51808 (WebCore::WMLInputElement::detach): 51809 (WebCore::WMLInputElement::appendFormData): 51810 (WebCore::WMLInputElement::reset): 51811 (WebCore::WMLInputElement::defaultEventHandler): 51812 (WebCore::WMLInputElement::cacheSelection): 51813 (WebCore::WMLInputElement::constrainValue): 51814 (WebCore::WMLInputElement::documentDidBecomeActive): 51815 (WebCore::WMLInputElement::placeholderShouldBeVisible): 51816 (WebCore::WMLInputElement::willMoveToNewOwnerDocument): 51817 (WebCore::WMLInputElement::didMoveToNewOwnerDocument): 51818 * wml/WMLInputElement.h: Added. 51819 (WebCore::WMLInputElement::valueMatchesRenderer): 51820 (WebCore::WMLInputElement::setValueMatchesRenderer): 51821 (WebCore::WMLInputElement::shouldUseInputMethod): 51822 (WebCore::WMLInputElement::isChecked): 51823 (WebCore::WMLInputElement::isIndeterminate): 51824 (WebCore::WMLInputElement::isTextControl): 51825 (WebCore::WMLInputElement::isRadioButton): 51826 (WebCore::WMLInputElement::isTextField): 51827 (WebCore::WMLInputElement::isSearchField): 51828 (WebCore::WMLInputElement::isInputTypeHidden): 51829 (WebCore::WMLInputElement::isPasswordField): 51830 (WebCore::WMLInputElement::searchEventsShouldBeDispatched): 51831 (WebCore::WMLInputElement::placeholderValue): 51832 * wml/WMLTagNames.in: 51833 51834 2009-01-20 Darin Adler <darin (a] apple.com> 51835 51836 Reviewed by John Sullivan. 51837 51838 Remove a little dead code left over after the fix for 51839 https://bugs.webkit.org/show_bug.cgi?id=11395, which 51840 moved pointer-events from SVG to be shared with HTML. 51841 51842 * css/SVGCSSParser.cpp: 51843 (WebCore::CSSParser::parseSVGValue): Remove SVG's parsing of this 51844 property since it's handled in the non-SVG function now so we'll 51845 never get here. 51846 51847 2009-01-20 Julien Chaffraix <jchaffraix (a] webkit.org> 51848 51849 Reviewed by Darin Adler. 51850 51851 Bug 23438: Provide a default value to the .in file parser 51852 51853 Added the default value 1 as it simplifies some of 51854 the format by removing some "=1" that were awkward. 51855 51856 This was suggested by Darin Adler as par of a previous 51857 review. 51858 51859 * bindings/scripts/InFilesParser.pm: When no value 51860 was entered (the second part of the split is undef), 51861 provide the default value. 51862 51863 * html/HTMLAttributeNames.in: Removed unnecessary "=1". 51864 * html/HTMLTagNames.in: Ditto. 51865 * svg/svgattrs.in: Ditto. 51866 * svg/svgtags.in: Ditto. 51867 * svg/xlinkattrs.in: Ditto. 51868 * wml/WMLAttributeNames.in: Ditto. 51869 51870 2009-01-20 Anders Carlsson <andersca (a] apple.com> 51871 51872 Reviewed by Darin Adler. 51873 51874 * bridge/c/c_class.cpp: 51875 * bridge/c/c_class.h: 51876 Get rid of CClass::name(). 51877 51878 * bridge/jni/jni_class.h: 51879 Get rid of JavaClass::name(). 51880 51881 * bridge/objc/objc_class.h: 51882 * bridge/objc/objc_class.mm: 51883 Get rid of ObjcClass::name(). 51884 51885 * bridge/objc/objc_instance.h: 51886 Get rid of supportsSetValueOfUndefinedField. 51887 51888 * bridge/objc/objc_instance.mm: 51889 (ObjcInstance::setValueOfUndefinedField): 51890 Fold supportsSetValueOfUndefinedField into setValueOfUndefinedField. 51891 51892 * bridge/runtime.cpp: 51893 Get rid of getValueOfField and setValueOfField. 51894 51895 * bridge/runtime.h: 51896 (JSC::Bindings::Instance::setValueOfUndefinedField): 51897 Have this return a bool and get rid of supportsSetValueOfUndefinedField 51898 51899 * bridge/runtime_object.cpp: 51900 (JSC::RuntimeObjectImp::fieldGetter): 51901 Call Field::valueFromInstance on the field. 51902 51903 (JSC::RuntimeObjectImp::put): 51904 Call Field::setValueToInstance on the field. 51905 51906 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 51907 51908 Not reviewed. Forgot to land build changes for non-mac platforms. 51909 51910 * GNUmakefile.am: 51911 * WebCore.pro: 51912 * WebCore.scons: 51913 * WebCore.vcproj/WebCore.vcproj: 51914 * WebCoreSources.bkl: 51915 51916 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 51917 51918 Reviewed by Adam Roben. 51919 51920 Fix last-minute regression, introduced by simplifying max length determination - by 51921 clamping using min/max, negative maxLength values got broken. 51922 51923 * dom/InputElement.cpp: 51924 (WebCore::InputElement::parseMaxLengthAttribute): 51925 51926 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 51927 51928 Reviewed by Adam Roben. 51929 51930 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23433 51931 51932 Add InputElement abstraction, similar to the FormControlElement refactorization 51933 done a month ago. The goal is to share as much code as possible between HTML/WMLInputElement. 51934 In a previous patch the RenderTextControl class has been split-up in RenderTextControlSingle/MultiLine, 51935 RenderTextControl itself only depends on FormControlElement, RenderTextControlSingleLine still 51936 depends on HTMLInputElement directly -> change that and make it use the new InputElement abstraction. 51937 51938 A lot of code from HTMLInputElement now lives in InputElement, as static member functions - the 51939 InputElement class itself is an abstract virtual class, just like ScriptElement. HTML/WMLInputElement 51940 derive from InputElement, and hold a InputElementData member variable, that they pass to the 51941 static functions in InputElement. The abstraction is equal to the one chosen for HTML/SVGScriptElement. 51942 51943 * WebCore.xcodeproj/project.pbxproj: 51944 * dom/FormControlElement.cpp: Added. 51945 (WebCore::formControlElementForElement): 51946 * dom/FormControlElement.h: 51947 * dom/InputElement.cpp: Added. 51948 (WebCore::InputElement::dispatchFocusEvent): 51949 (WebCore::InputElement::dispatchBlurEvent): 51950 (WebCore::InputElement::updatePlaceholderVisibility): 51951 (WebCore::InputElement::updateFocusAppearance): 51952 (WebCore::InputElement::updateSelectionRange): 51953 (WebCore::InputElement::aboutToUnload): 51954 (WebCore::InputElement::setValueFromRenderer): 51955 (WebCore::numCharactersInGraphemeClusters): 51956 (WebCore::InputElement::constrainValue): 51957 (WebCore::numGraphemeClusters): 51958 (WebCore::InputElement::handleBeforeTextInsertedEvent): 51959 (WebCore::InputElement::parseSizeAttribute): 51960 (WebCore::InputElement::parseMaxLengthAttribute): 51961 (WebCore::InputElement::updateValueIfNeeded): 51962 (WebCore::InputElement::notifyFormStateChanged): 51963 (WebCore::InputElementData::InputElementData): 51964 (WebCore::InputElementData::~InputElementData): 51965 (WebCore::InputElementData::name): 51966 (WebCore::inputElementForElement): 51967 * dom/InputElement.h: Added. 51968 (WebCore::InputElement::~InputElement): 51969 (WebCore::InputElement::InputElement): 51970 (WebCore::InputElementData::inputElement): 51971 (WebCore::InputElementData::element): 51972 (WebCore::InputElementData::placeholderShouldBeVisible): 51973 (WebCore::InputElementData::setPlaceholderShouldBeVisible): 51974 (WebCore::InputElementData::setName): 51975 (WebCore::InputElementData::value): 51976 (WebCore::InputElementData::setValue): 51977 (WebCore::InputElementData::size): 51978 (WebCore::InputElementData::setSize): 51979 (WebCore::InputElementData::maxLength): 51980 (WebCore::InputElementData::setMaxLength): 51981 (WebCore::InputElementData::cachedSelectionStart): 51982 (WebCore::InputElementData::setCachedSelectionStart): 51983 (WebCore::InputElementData::cachedSelectionEnd): 51984 (WebCore::InputElementData::setCachedSelectionEnd): 51985 * html/HTMLInputElement.cpp: 51986 (WebCore::HTMLInputElement::HTMLInputElement): 51987 (WebCore::HTMLInputElement::name): 51988 (WebCore::HTMLInputElement::updateFocusAppearance): Moved to InputElement. 51989 (WebCore::HTMLInputElement::aboutToUnload): Ditto. 51990 (WebCore::HTMLInputElement::dispatchFocusEvent): Ditto. 51991 (WebCore::HTMLInputElement::dispatchBlurEvent): Ditto. 51992 (WebCore::HTMLInputElement::setSelectionRange): Moved to InputElement::updateSelectionRange, call it from here. 51993 (WebCore::HTMLInputElement::parseMappedAttribute): 51994 (WebCore::HTMLInputElement::size): Make virtual and override InputElements abstract version. 51995 (WebCore::HTMLInputElement::copyNonAttributeProperties): 51996 (WebCore::HTMLInputElement::value): Make virtual and override InputElements abstract version. 51997 (WebCore::HTMLInputElement::setValue): Ditto. 51998 (WebCore::HTMLInputElement::placeholderValue): Ditto. 51999 (WebCore::HTMLInputElement::searchEventsShouldBeDispatched): Ditto. 52000 (WebCore::HTMLInputElement::setValueFromRenderer): Ditto. 52001 (WebCore::HTMLInputElement::setFileListFromRenderer): Use new code in InputElement::setValueFromRenderer 52002 (WebCore::HTMLInputElement::defaultEventHandler): 52003 (WebCore::HTMLInputElement::setDefaultName): Added as helper function for HTMLIsIndexElement. 52004 (WebCore::HTMLInputElement::maxLength): Added accesor. 52005 (WebCore::HTMLInputElement::constrainValue): Move functionality to InputElement::constrainValue. 52006 (WebCore::HTMLInputElement::cacheSelection): Move functionality to InputElement::cacheSelection. 52007 (WebCore::HTMLInputElement::selection): 52008 (WebCore::HTMLInputElement::placeholderShouldBeVisible): Make virtual and override InputElements abstract version. 52009 * html/HTMLInputElement.h: 52010 (WebCore::HTMLInputElement::isTextField): 52011 (WebCore::HTMLInputElement::isSearchField): 52012 (WebCore::HTMLInputElement::isAutofilled): 52013 * html/HTMLIsIndexElement.cpp: 52014 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): 52015 * rendering/RenderTextControl.cpp: 52016 (WebCore::RenderTextControl::formControlElement): 52017 * rendering/RenderTextControlSingleLine.cpp: 52018 (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible): 52019 (WebCore::RenderTextControlSingleLine::addSearchResult): 52020 (WebCore::RenderTextControlSingleLine::stopSearchEventTimer): 52021 (WebCore::RenderTextControlSingleLine::showPopup): 52022 (WebCore::RenderTextControlSingleLine::hidePopup): 52023 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 52024 (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): 52025 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 52026 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): 52027 (WebCore::RenderTextControlSingleLine::updateFromElement): 52028 (WebCore::RenderTextControlSingleLine::cacheSelection): 52029 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): 52030 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle): 52031 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle): 52032 (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): 52033 (WebCore::RenderTextControlSingleLine::startSearchEventTimer): 52034 (WebCore::RenderTextControlSingleLine::searchEventTimerFired): 52035 (WebCore::RenderTextControlSingleLine::valueChanged): 52036 (WebCore::RenderTextControlSingleLine::setTextFromItem): 52037 (WebCore::RenderTextControlSingleLine::inputElement): 52038 * rendering/RenderTextControlSingleLine.h: 52039 52040 2009-01-20 Dirk Schulze <krit (a] webkit.org> 52041 52042 Reviewed by Nikolas Zimmermann. 52043 52044 Make SVG pattern platform independent and remove platform code. 52045 52046 Make SVGPattern platform independent 52047 https://bugs.webkit.org/show_bug.cgi?id=21205 52048 52049 * GNUmakefile.am: 52050 * WebCore.pro: 52051 * WebCore.vcproj/WebCore.vcproj: 52052 * WebCore.xcodeproj/project.pbxproj: 52053 * platform/graphics/GraphicsContext.h: 52054 * platform/graphics/cg/GraphicsContextCG.cpp: 52055 (WebCore::GraphicsContext::applyStrokePattern): 52056 (WebCore::GraphicsContext::applyFillPattern): 52057 (WebCore::GraphicsContext::drawPath): 52058 (WebCore::GraphicsContext::fillPath): 52059 (WebCore::GraphicsContext::strokePath): 52060 (WebCore::GraphicsContext::fillRect): 52061 (WebCore::GraphicsContext::strokeRect): 52062 * svg/graphics/SVGPaintServerPattern.cpp: 52063 (WebCore::SVGPaintServerPattern::SVGPaintServerPattern): 52064 (WebCore::SVGPaintServerPattern::~SVGPaintServerPattern): 52065 (WebCore::SVGPaintServerPattern::setup): 52066 (WebCore::SVGPaintServerPattern::renderPath): 52067 (WebCore::SVGPaintServerPattern::teardown): 52068 * svg/graphics/SVGPaintServerPattern.h: 52069 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: Removed. 52070 * svg/graphics/cg/SVGPaintServerPatternCg.cpp: Removed. 52071 * svg/graphics/qt/SVGPaintServerPatternQt.cpp: Removed. 52072 * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Removed. 52073 52074 2009-01-20 Darin Fisher <darin (a] chromium.org> 52075 52076 Reviewed by Eric Seidel. 52077 52078 https://bugs.webkit.org/show_bug.cgi?id=23436 52079 Upstream rendering/RenderThemeChromium* 52080 52081 * rendering/RenderThemeChromiumGtk.cpp: Added. 52082 * rendering/RenderThemeChromiumGtk.h: Added. 52083 * rendering/RenderThemeChromiumMac.h: Added. 52084 * rendering/RenderThemeChromiumMac.mm: Added. 52085 * rendering/RenderThemeChromiumWin.cpp: Added. 52086 * rendering/RenderThemeChromiumWin.h: Added. 52087 52088 2009-01-20 Darin Adler <darin (a] apple.com> 52089 52090 Reviewed by Mark Rowe. 52091 52092 Bug 23352: Turn on more compiler warnings in the Mac build 52093 https://bugs.webkit.org/show_bug.cgi?id=23352 52094 52095 First patch: Fix some simple cases of various warnings. 52096 52097 * platform/DeprecatedPtrListImpl.cpp: 52098 (WebCore::DeprecatedPtrListImpl::insert): Use const_cast to change const-ness. 52099 * platform/graphics/mac/SimpleFontDataMac.mm: 52100 (WebCore::SimpleFontData::containsCharacters): Ditto. 52101 52102 * platform/text/PlatformString.h: Overload for short and unsigned short to avoid 52103 ambiguity leading to warnings. 52104 * platform/text/String.cpp: 52105 (WebCore::String::number): Implemented overloads. 52106 52107 * platform/text/TextStream.cpp: 52108 (WebCore::TextStream::operator<<): Overload for bool to avoid ambiguity leading 52109 to warnings. 52110 * platform/text/TextStream.h: Ditto. 52111 52112 * rendering/InlineFlowBox.h: Fix declaration that was specifying the wrong type. 52113 52114 * svg/graphics/filters/cg/WKLinearTransferFilter.m: Fix stray characters after 52115 #endif that should be a comment instead. 52116 * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Ditto. 52117 52118 * xml/XPathPath.h: Remove unneeded redundant declaration. 52119 52120 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 52121 52122 Build fix for WML enabled builds, not reviewed. 52123 52124 Fix unused variable warning. 52125 52126 * wml/WMLGoElement.cpp: 52127 (WebCore::WMLGoElement::executeTask): 52128 52129 2009-01-20 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 52130 52131 Build fix for WML enabled builds, not reviewed. 52132 52133 Rename 'continuation' to 'virtualContinuation'. 52134 52135 * wml/WMLAElement.cpp: 52136 (WebCore::WMLAElement::isKeyboardFocusable): 52137 52138 2009-01-20 Oliver Hunt <oliver (a] apple.com> 52139 52140 RS=Dan Bernstein 52141 52142 Move runtime/ByteArray to wtf/ByteArray 52143 52144 * ForwardingHeaders/wtf/ByteArray.h: Renamed from WebCore/ForwardingHeaders/runtime/ByteArray.h. 52145 * html/CanvasRenderingContext2D.cpp: 52146 * html/ImageData.cpp: 52147 (WebCore::ImageData::ImageData): 52148 * html/ImageData.h: 52149 (WebCore::ImageData::data): 52150 52151 2009-01-20 Darin Fisher <darin (a] chromium.org> 52152 52153 Reviewed by Sam Weinig. 52154 52155 https://bugs.webkit.org/show_bug.cgi?id=23391 52156 Upstream plugins/chromium/ 52157 52158 * plugins/chromium: Added. 52159 * plugins/chromium/PluginDataChromium.cpp: Added. 52160 52161 2009-01-19 Steve Falkenburg <sfalken (a] apple.com> 52162 52163 Fix Windows release build. 52164 Move SVG files into all-in-one file for Windows build. 52165 52166 * WebCore.vcproj/WebCore.vcproj: 52167 * svg/SVGAllInOne.cpp: Added. 52168 52169 2009-01-19 Steve Falkenburg <sfalken (a] apple.com> 52170 52171 Partial build fix. 52172 Move new derived sources into all-in-one DerivedSources.cpp 52173 52174 * DerivedSources.cpp: 52175 * WebCore.vcproj/WebCore.vcproj: 52176 52177 2009-01-19 Sam Weinig <sam (a] webkit.org> 52178 52179 Fix Qt build. 52180 52181 * bridge/qt/qt_instance.cpp: 52182 (JSC::Bindings::QtInstance::mark): 52183 * bridge/qt/qt_runtime.cpp: 52184 (JSC::Bindings::valueRealType): 52185 (JSC::Bindings::convertValueToQVariant): 52186 (JSC::Bindings::QtRuntimeConnectionMethod::call): 52187 (JSC::Bindings::QtConnectionObject::execute): 52188 52189 2009-01-19 Sam Weinig <sam (a] webkit.org> 52190 52191 Fix wx build. 52192 52193 * plugins/PluginView.cpp: 52194 (WebCore::getString): 52195 52196 2009-01-19 Sam Weinig <sam (a] webkit.org> 52197 52198 Rubber-stamped by Gavin Barraclough. 52199 52200 Remove temporary operator-> from JSValuePtr. 52201 52202 * WebCore.xcodeproj/project.pbxproj: 52203 * bindings/js/JSAudioConstructor.cpp: 52204 (WebCore::constructAudio): 52205 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 52206 (WebCore::toHTMLCanvasStyle): 52207 (WebCore::JSCanvasRenderingContext2D::setFillColor): 52208 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 52209 (WebCore::JSCanvasRenderingContext2D::strokeRect): 52210 (WebCore::JSCanvasRenderingContext2D::drawImage): 52211 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 52212 (WebCore::JSCanvasRenderingContext2D::setShadow): 52213 (WebCore::JSCanvasRenderingContext2D::createPattern): 52214 (WebCore::JSCanvasRenderingContext2D::putImageData): 52215 (WebCore::JSCanvasRenderingContext2D::fillText): 52216 (WebCore::JSCanvasRenderingContext2D::strokeText): 52217 * bindings/js/JSClipboardCustom.cpp: 52218 (WebCore::JSClipboard::clearData): 52219 (WebCore::JSClipboard::getData): 52220 (WebCore::JSClipboard::setData): 52221 (WebCore::JSClipboard::setDragImage): 52222 * bindings/js/JSCustomPositionCallback.cpp: 52223 (WebCore::JSCustomPositionCallback::handleEvent): 52224 * bindings/js/JSCustomPositionErrorCallback.cpp: 52225 (WebCore::JSCustomPositionErrorCallback::handleEvent): 52226 * bindings/js/JSCustomSQLStatementCallback.cpp: 52227 (WebCore::JSCustomSQLStatementCallback::handleEvent): 52228 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 52229 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 52230 * bindings/js/JSCustomSQLTransactionCallback.cpp: 52231 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 52232 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 52233 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 52234 * bindings/js/JSCustomVoidCallback.cpp: 52235 (WebCore::JSCustomVoidCallback::handleEvent): 52236 (WebCore::toVoidCallback): 52237 * bindings/js/JSCustomXPathNSResolver.cpp: 52238 (WebCore::JSCustomXPathNSResolver::create): 52239 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 52240 * bindings/js/JSDOMApplicationCacheCustom.cpp: 52241 (WebCore::JSDOMApplicationCache::hasItem): 52242 (WebCore::JSDOMApplicationCache::add): 52243 (WebCore::JSDOMApplicationCache::remove): 52244 (WebCore::JSDOMApplicationCache::addEventListener): 52245 (WebCore::JSDOMApplicationCache::removeEventListener): 52246 * bindings/js/JSDOMBinding.cpp: 52247 (WebCore::valueToStringWithNullCheck): 52248 (WebCore::valueToStringWithUndefinedOrNullCheck): 52249 (WebCore::reportException): 52250 * bindings/js/JSDOMGlobalObject.cpp: 52251 (WebCore::JSDOMGlobalObject::findJSEventListener): 52252 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 52253 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener): 52254 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener): 52255 * bindings/js/JSDOMStringListCustom.cpp: 52256 (WebCore::JSDOMStringList::item): 52257 * bindings/js/JSDOMWindowBase.cpp: 52258 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 52259 (windowProtoFuncOpen): 52260 (WebCore::toJSDOMWindow): 52261 * bindings/js/JSDOMWindowCustom.cpp: 52262 (WebCore::JSDOMWindow::setLocation): 52263 (WebCore::JSDOMWindow::postMessage): 52264 (WebCore::setTimeoutOrInterval): 52265 (WebCore::JSDOMWindow::clearTimeout): 52266 (WebCore::JSDOMWindow::clearInterval): 52267 (WebCore::JSDOMWindow::atob): 52268 (WebCore::JSDOMWindow::btoa): 52269 (WebCore::JSDOMWindow::addEventListener): 52270 (WebCore::JSDOMWindow::removeEventListener): 52271 (WebCore::toDOMWindow): 52272 * bindings/js/JSDatabaseCustom.cpp: 52273 (WebCore::JSDatabase::changeVersion): 52274 (WebCore::JSDatabase::transaction): 52275 * bindings/js/JSDocumentCustom.cpp: 52276 (WebCore::JSDocument::setLocation): 52277 * bindings/js/JSElementCustom.cpp: 52278 (WebCore::JSElement::setAttribute): 52279 (WebCore::JSElement::setAttributeNS): 52280 * bindings/js/JSEventListener.cpp: 52281 (WebCore::JSAbstractEventListener::handleEvent): 52282 (WebCore::JSLazyEventListener::parseCode): 52283 * bindings/js/JSEventTargetNodeCustom.cpp: 52284 (WebCore::JSEventTargetNode::addEventListener): 52285 (WebCore::JSEventTargetNode::removeEventListener): 52286 * bindings/js/JSGeolocationCustom.cpp: 52287 (WebCore::createPositionOptions): 52288 (WebCore::JSGeolocation::getCurrentPosition): 52289 (WebCore::JSGeolocation::watchPosition): 52290 * bindings/js/JSHTMLCollectionCustom.cpp: 52291 (WebCore::callHTMLCollection): 52292 (WebCore::JSHTMLCollection::canGetItemsForName): 52293 (WebCore::JSHTMLCollection::item): 52294 (WebCore::JSHTMLCollection::namedItem): 52295 * bindings/js/JSHTMLDocumentCustom.cpp: 52296 (WebCore::JSHTMLDocument::open): 52297 (WebCore::writeHelper): 52298 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 52299 (WebCore::JSHTMLOptionsCollection::setLength): 52300 (WebCore::JSHTMLOptionsCollection::add): 52301 * bindings/js/JSHTMLSelectElementCustom.cpp: 52302 (WebCore::JSHTMLSelectElement::remove): 52303 (WebCore::selectIndexSetter): 52304 * bindings/js/JSImageConstructor.cpp: 52305 (WebCore::constructImage): 52306 * bindings/js/JSInspectedObjectWrapper.cpp: 52307 (WebCore::JSInspectedObjectWrapper::wrap): 52308 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): 52309 * bindings/js/JSInspectorCallbackWrapper.cpp: 52310 (WebCore::JSInspectorCallbackWrapper::wrap): 52311 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 52312 (WebCore::JSJavaScriptCallFrame::evaluate): 52313 * bindings/js/JSLocationCustom.cpp: 52314 (WebCore::JSLocation::setHref): 52315 (WebCore::JSLocation::setProtocol): 52316 (WebCore::JSLocation::setHost): 52317 (WebCore::JSLocation::setHostname): 52318 (WebCore::JSLocation::setPort): 52319 (WebCore::JSLocation::setPathname): 52320 (WebCore::JSLocation::setSearch): 52321 (WebCore::JSLocation::setHash): 52322 (WebCore::JSLocation::replace): 52323 (WebCore::JSLocation::assign): 52324 * bindings/js/JSMessageChannelConstructor.cpp: 52325 (WebCore::JSMessageChannelConstructor::mark): 52326 * bindings/js/JSMessagePortCustom.cpp: 52327 (WebCore::JSMessagePort::startConversation): 52328 (WebCore::JSMessagePort::addEventListener): 52329 (WebCore::JSMessagePort::removeEventListener): 52330 * bindings/js/JSNodeFilterCondition.cpp: 52331 (WebCore::JSNodeFilterCondition::mark): 52332 (WebCore::JSNodeFilterCondition::acceptNode): 52333 * bindings/js/JSNodeFilterCondition.h: 52334 * bindings/js/JSNodeFilterCustom.cpp: 52335 (WebCore::toNodeFilter): 52336 * bindings/js/JSNodeListCustom.cpp: 52337 (WebCore::callNodeList): 52338 * bindings/js/JSOptionConstructor.cpp: 52339 (WebCore::constructHTMLOptionElement): 52340 * bindings/js/JSQuarantinedObjectWrapper.cpp: 52341 (WebCore::JSQuarantinedObjectWrapper::asWrapper): 52342 (WebCore::JSQuarantinedObjectWrapper::construct): 52343 * bindings/js/JSSQLResultSetRowListCustom.cpp: 52344 (WebCore::JSSQLResultSetRowList::item): 52345 * bindings/js/JSSQLTransactionCustom.cpp: 52346 (WebCore::JSSQLTransaction::executeSql): 52347 * bindings/js/JSSVGElementInstanceCustom.cpp: 52348 (WebCore::JSSVGElementInstance::addEventListener): 52349 (WebCore::JSSVGElementInstance::removeEventListener): 52350 * bindings/js/JSSVGLengthCustom.cpp: 52351 (WebCore::JSSVGLength::convertToSpecifiedUnits): 52352 * bindings/js/JSSVGMatrixCustom.cpp: 52353 (WebCore::JSSVGMatrix::translate): 52354 (WebCore::JSSVGMatrix::scale): 52355 (WebCore::JSSVGMatrix::scaleNonUniform): 52356 (WebCore::JSSVGMatrix::rotate): 52357 (WebCore::JSSVGMatrix::rotateFromVector): 52358 (WebCore::JSSVGMatrix::skewX): 52359 (WebCore::JSSVGMatrix::skewY): 52360 * bindings/js/JSSVGPathSegListCustom.cpp: 52361 (WebCore::JSSVGPathSegList::getItem): 52362 (WebCore::JSSVGPathSegList::insertItemBefore): 52363 (WebCore::JSSVGPathSegList::replaceItem): 52364 (WebCore::JSSVGPathSegList::removeItem): 52365 * bindings/js/JSSVGPointListCustom.cpp: 52366 (WebCore::JSSVGPointList::getItem): 52367 (WebCore::JSSVGPointList::insertItemBefore): 52368 (WebCore::JSSVGPointList::replaceItem): 52369 (WebCore::JSSVGPointList::removeItem): 52370 * bindings/js/JSSVGTransformListCustom.cpp: 52371 (WebCore::JSSVGTransformList::getItem): 52372 (WebCore::JSSVGTransformList::insertItemBefore): 52373 (WebCore::JSSVGTransformList::replaceItem): 52374 (WebCore::JSSVGTransformList::removeItem): 52375 * bindings/js/JSStorageCustom.cpp: 52376 (WebCore::JSStorage::deleteProperty): 52377 (WebCore::JSStorage::customPut): 52378 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 52379 (WebCore::constructWebKitCSSMatrix): 52380 * bindings/js/JSWorkerConstructor.cpp: 52381 (WebCore::constructWorker): 52382 * bindings/js/JSWorkerContextCustom.cpp: 52383 (WebCore::JSWorkerContext::addEventListener): 52384 (WebCore::JSWorkerContext::removeEventListener): 52385 * bindings/js/JSWorkerCustom.cpp: 52386 (WebCore::JSWorker::addEventListener): 52387 (WebCore::JSWorker::removeEventListener): 52388 * bindings/js/JSXMLHttpRequestCustom.cpp: 52389 (WebCore::JSXMLHttpRequest::open): 52390 (WebCore::JSXMLHttpRequest::setRequestHeader): 52391 (WebCore::JSXMLHttpRequest::send): 52392 (WebCore::JSXMLHttpRequest::getResponseHeader): 52393 (WebCore::JSXMLHttpRequest::overrideMimeType): 52394 (WebCore::JSXMLHttpRequest::addEventListener): 52395 (WebCore::JSXMLHttpRequest::removeEventListener): 52396 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 52397 (WebCore::JSXMLHttpRequestUpload::addEventListener): 52398 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 52399 * bindings/js/JSXSLTProcessorCustom.cpp: 52400 (WebCore::JSXSLTProcessor::importStylesheet): 52401 (WebCore::JSXSLTProcessor::transformToFragment): 52402 (WebCore::JSXSLTProcessor::transformToDocument): 52403 (WebCore::JSXSLTProcessor::setParameter): 52404 (WebCore::JSXSLTProcessor::getParameter): 52405 (WebCore::JSXSLTProcessor::removeParameter): 52406 * bindings/js/ScheduledAction.cpp: 52407 (WebCore::ScheduledAction::executeFunctionInContext): 52408 * bindings/js/ScriptCallStack.cpp: 52409 (WebCore::ScriptCallStack::initialize): 52410 * bindings/js/ScriptController.cpp: 52411 (WebCore::ScriptController::createScriptObjectForPluginElement): 52412 * bindings/js/ScriptValue.cpp: 52413 (WebCore::ScriptValue::getString): 52414 (WebCore::ScriptValue::isNull): 52415 (WebCore::ScriptValue::isUndefined): 52416 * bindings/objc/WebScriptObject.mm: 52417 (-[WebScriptObject callWebScriptMethod:withArguments:]): 52418 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 52419 * bindings/scripts/CodeGeneratorJS.pm: 52420 * bridge/NP_jsobject.cpp: 52421 (_NPN_InvokeDefault): 52422 (_NPN_Invoke): 52423 (_NPN_HasMethod): 52424 (_NPN_Construct): 52425 * bridge/c/c_utility.cpp: 52426 (JSC::Bindings::convertValueToNPVariant): 52427 * bridge/jni/jni_instance.cpp: 52428 (JavaInstance::invokeMethod): 52429 * bridge/jni/jni_jsobject.mm: 52430 (JavaJSObject::call): 52431 (JavaJSObject::convertValueToJObject): 52432 * bridge/jni/jni_runtime.cpp: 52433 (JavaField::dispatchValueFromInstance): 52434 (JavaField::valueFromInstance): 52435 (JavaField::dispatchSetValueToInstance): 52436 (JavaField::setValueToInstance): 52437 * bridge/jni/jni_utility.cpp: 52438 (JSC::Bindings::convertArrayInstanceToJavaArray): 52439 (JSC::Bindings::convertValueToJValue): 52440 * bridge/objc/objc_runtime.mm: 52441 (JSC::Bindings::callObjCFallbackObject): 52442 * bridge/objc/objc_utility.mm: 52443 (JSC::Bindings::convertValueToObjcValue): 52444 * bridge/runtime_method.cpp: 52445 (JSC::callRuntimeMethod): 52446 * bridge/runtime_object.cpp: 52447 (JSC::RuntimeObjectImp::getOwnPropertySlot): 52448 (JSC::callRuntimeConstructor): 52449 52450 2009-01-20 Gustavo Noronha Silva <gns (a] gnome.org> 52451 52452 Reviewed by Mark Rowe. 52453 52454 https://bugs.webkit.org/show_bug.cgi?id=23419 52455 removal of FramePrivate.h breaks GTK+'s make dist 52456 52457 * GNUmakefile.am: No longer mention FramePrivate.h in our build, 52458 since it was removed. 52459 52460 2009-01-20 Alexander V. Butenko <alex (a] digiqube.com> 52461 52462 Reviewed by Holger Freyther. 52463 52464 http://bugs.webkit.org/show_bug.cgi?id=23116 52465 [GTK] Fix crash due a callback called from GIO after the 52466 destruction of the ResourceHandle 52467 52468 * platform/network/soup/ResourceHandleSoup.cpp: 52469 (WebCore::ResourceHandle::cancel): Only call didFinishLoading if 52470 'client' is set, otherwise cancelling a load could lead to a crash. 52471 52472 2009-01-19 Simon Fraser <simon.fraser (a] apple.com> 52473 52474 Build fix: remove duplicate entries in the Xcode project, and 52475 sort the project with sort-Xcode-project-file . 52476 52477 * WebCore.xcodeproj/project.pbxproj: 52478 52479 2009-01-19 Simon Fraser <simon.fraser (a] apple.com> 52480 52481 Reviewed by Dave Hyatt 52482 52483 https://bugs.webkit.org/show_bug.cgi?id=18078 52484 52485 Support animations and transitions of shorthand properties by creating 52486 PropertyWrappers that simply wrap a vector of atomic wrappers, and implement 52487 equal() and blend(). Build that collection of shorthand wrappers using the 52488 shorthand map that CSSMutableStyleDeclaration already has. Skip comparing these 52489 shorthand wrappers during 'all' transitions. 52490 52491 * GNUmakefile.am: 52492 * WebCore.pro: 52493 * WebCore.scons: 52494 * WebCore.vcproj/WebCore.vcproj: 52495 * WebCore.xcodeproj/project.pbxproj: 52496 * WebCoreSources.bkl: 52497 Add CSSPropertyLonghand.h/cpp. 52498 52499 * css/CSSMutableStyleDeclaration.cpp: 52500 (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty): 52501 Move CSSPropertyLonghand to its own file. 52502 52503 * css/CSSPropertyLonghand.cpp: Added. 52504 (WebCore::initShorthandMap): 52505 (WebCore::longhandForProperty): 52506 * css/CSSPropertyLonghand.h: Added. 52507 (WebCore::CSSPropertyLonghand::CSSPropertyLonghand): 52508 (WebCore::CSSPropertyLonghand::properties): 52509 (WebCore::CSSPropertyLonghand::length): 52510 Code moved from CSSMutableStyleDeclaration.h/cpp 52511 52512 * page/animation/AnimationBase.cpp: 52513 (WebCore::PropertyWrapperBase::isShorthandWrapper): 52514 (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper): 52515 (WebCore::ShorthandPropertyWrapper::isShorthandWrapper): 52516 (WebCore::ShorthandPropertyWrapper::equals): 52517 (WebCore::ShorthandPropertyWrapper::blend): 52518 Add a wrapper class for shorthand properties that simply wraps an 52519 array of atomic property wrappers. 52520 52521 (WebCore::ensurePropertyMap): 52522 (WebCore::addPropertyWrapper): 52523 (WebCore::addShorthandProperties): 52524 (WebCore::wrapperForProperty): 52525 (WebCore::AnimationBase::propertiesEqual): 52526 (WebCore::AnimationBase::getPropertyAtIndex): 52527 Some minor refactoring to re-use wrapperForProperty(), and ensure that gPropertyWrapperMap 52528 is filled with an invalid index (-1), not 0. 52529 52530 (WebCore::AnimationBase::blendProperties): 52531 * page/animation/AnimationBase.h: 52532 * page/animation/CompositeAnimation.cpp: 52533 (WebCore::CompositeAnimationPrivate::updateTransitions): 52534 When doing 'all' transitions, skip shorthand wrappers, since 'all' transitions 52535 just need to compare all the atomic property wrappers. 52536 52537 2009-01-19 Oliver Hunt <oliver (a] apple.com> 52538 52539 Reviewed by NOBODY (Build fix). 52540 52541 Actually add the new header. 52542 52543 * dom/GenericWorkerTask.h: Added. 52544 52545 2009-01-19 David Levin <levin (a] chromium.org> 52546 52547 Reviewed by Alexey Proskuryakov. 52548 52549 https://bugs.webkit.org/show_bug.cgi?id=22720 52550 52551 Provide a generic class to handle the pattern of task callbacks across worker/parent threads. It 52552 only works for methods that need 6 parameters but similar classes could be added as needed for 52553 other numbers of parameters. 52554 52555 Add addMessage and resourceRetrievedByXMLHttpRequest to ScriptExecutionContext. 52556 52557 Use these methods and others to remove document() from XMLHttpRequest in a few more places. 52558 52559 No observable change in behavior, so no test. 52560 52561 * GNUmakefile.am: 52562 * WebCore.vcproj/WebCore.vcproj: 52563 * WebCore.xcodeproj/project.pbxproj: 52564 Sorted project file while adding GenericWorkerTask.h 52565 52566 * bindings/js/ScriptString.h: 52567 (WebCore::ScriptString::operator=): 52568 (WebCore::ScriptString::operator+=): 52569 (WebCore::ScriptString::operator==): 52570 (WebCore::ScriptString::operator!=): 52571 Removed unnecessary JSLock. 52572 52573 * dom/Document.cpp: 52574 (WebCore::Document::addMessage): 52575 (WebCore::Document::resourceRetrievedByXMLHttpRequest): 52576 * dom/Document.h: 52577 * dom/GenericWorkerTask.h: Added. 52578 (WebCore::GenericWorkerTaskBase::GenericWorkerTaskBase): 52579 (WebCore::GenericWorkerTaskBase::canPerformTask): 52580 (WebCore::GenericWorkerTask6::create): 52581 (WebCore::GenericWorkerTask6::GenericWorkerTask6): 52582 (WebCore::GenericWorkerTask6::performTask): 52583 (WebCore::createCallbackTask): 52584 * dom/ScriptExecutionContext.h: 52585 * dom/WorkerContext.cpp: 52586 (WebCore::addMessageTask): 52587 (WebCore::WorkerContext::addMessage): 52588 (WebCore::WorkerContext::resourceRetrievedByXMLHttpRequest): 52589 (WebCore::WorkerContext::postTaskToParentContext): 52590 * dom/WorkerContext.h: 52591 * dom/WorkerMessagingProxy.cpp: 52592 (WebCore::WorkerMessagingProxy::postTaskToParentContext): 52593 * dom/WorkerMessagingProxy.h: 52594 * dom/WorkerThread.h: 52595 * xml/XMLHttpRequest.cpp: 52596 (WebCore::XMLHttpRequest::XMLHttpRequest): 52597 (WebCore::XMLHttpRequest::dropProtection): 52598 (WebCore::reportUnsafeUsage): 52599 (WebCore::XMLHttpRequest::setRequestHeader): 52600 (WebCore::XMLHttpRequest::getResponseHeader): 52601 (WebCore::XMLHttpRequest::didFinishLoading): 52602 * xml/XMLHttpRequest.h: 52603 (WebCore::XMLHttpRequest::create): 52604 52605 52606 2009-01-19 Chris Fleizach <cfleizach (a] apple.com> 52607 52608 Reviewed by Beth Dakin. 52609 52610 Bug 23422: AX: AXLinks should expose access key information 52611 https://bugs.webkit.org/show_bug.cgi?id=23422 52612 52613 Test: accessibility/accesskey.html 52614 52615 * page/mac/AccessibilityObjectWrapper.mm: 52616 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 52617 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 52618 52619 2009-01-19 Alexey Proskuryakov <ap (a] webkit.org> 52620 52621 Reviewed by Anders Carlsson. 52622 52623 https://bugs.webkit.org/show_bug.cgi?id=23417 52624 Implement application cache obsolete state 52625 52626 Test: http/tests/appcache/remove-cache.html 52627 52628 * bindings/js/JSDOMApplicationCacheCustom.cpp: 52629 (WebCore::JSDOMApplicationCache::mark): 52630 * dom/EventNames.h: 52631 * loader/appcache/DOMApplicationCache.h: 52632 (WebCore::DOMApplicationCache::Status): 52633 (WebCore::DOMApplicationCache::setOnobsolete): 52634 (WebCore::DOMApplicationCache::onobsolete): 52635 * loader/appcache/DOMApplicationCache.idl: 52636 Added "obsolete" event and status. 52637 52638 * loader/appcache/ApplicationCacheGroup.h: 52639 (WebCore::ApplicationCacheGroup::savedNewestCachePointer): Removed, there is no longer 52640 any need to track what the newest cache was during teardown. 52641 (WebCore::ApplicationCacheGroup::updateStatus): Renamed Status to UpdateStatus, reducing 52642 confusion with cache group lifecycle status. 52643 (WebCore::ApplicationCacheGroup::m_isObsolete): Added an obsolete state flag. 52644 52645 * loader/appcache/ApplicationCacheGroup.cpp: 52646 (WebCore::ApplicationCacheGroup::ApplicationCacheGroup): Initialize m_isObsolete. 52647 (WebCore::ApplicationCacheGroup::cacheForMainRequest): Assert that the returned cache does 52648 not belong to an obsolete group. 52649 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): Ditto. 52650 (WebCore::ApplicationCacheGroup::disassociateDocumentLoader): Disassociation can now happen 52651 via a JS swapCache() call, not only when the loader is destroyed. 52652 (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't track m_savedNewestCachePointer. 52653 (WebCore::ApplicationCacheGroup::setNewestCache): Remove old newest cache from storage is 52654 a caller responsibility, because this method is also used when loading caches from disk. 52655 (WebCore::ApplicationCacheGroup::makeObsolete): Added. Mark the cache group as obsolete, and 52656 inform cache storage, so that it could be removed. 52657 (WebCore::ApplicationCacheGroup::didFailToLoadManifest): Removed, as all this method did 52658 was call cacheUpdateFailed(). 52659 (WebCore::ApplicationCacheGroup::didReceiveResponse): Added a FIXME about correct failure 52660 handing. 52661 (WebCore::ApplicationCacheGroup::didFail): Ditto. 52662 (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Call a new manifestNotFound() 52663 method for 404 and 410 responses. 52664 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): Call cacheUpdateFailed() 52665 directly, instead of the removed didFailToLoadManifest(). 52666 (WebCore::ApplicationCacheGroup::manifestNotFound): Implement "remove a cache" algorithm. 52667 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Remove superceded cache from storage 52668 after update successfully finishes (moved from setNewestCache()). 52669 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the group using 52670 an explicitly passed pointer, without the need to save it during teardown. 52671 52672 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::~DocumentLoader): 52673 Call the general ApplicationCacheGroup::disassociateDocumentLoader() method. 52674 52675 * loader/appcache/ApplicationCacheStorage.h: Added a cacheGroupMadeObsolete() method, updated 52676 some comments. 52677 52678 * loader/appcache/ApplicationCacheStorage.cpp: 52679 (WebCore::ApplicationCacheStorage::cacheGroupForURL): Assert that iterated caches are not 52680 obsolete. 52681 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto. 52682 (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): Don't do anything for obsolete 52683 groups, as they cannot be in storage. 52684 (WebCore::ApplicationCacheStorage::cacheGroupMadeObsolete): Remove the cache group from storage 52685 completely, so that a new one could replace it, if necessary. 52686 (WebCore::ApplicationCacheStorage::storeNewestCache): Added assertions. 52687 (WebCore::ApplicationCacheStorage::remove): Remove cache group if its newest cache is removed. 52688 52689 * loader/appcache/DOMApplicationCache.cpp: 52690 (WebCore::DOMApplicationCache::status): Added support for OBSOLETE state. 52691 (WebCore::DOMApplicationCache::swapCache): Disassociate document loader from cache if the 52692 application was removed server-side. 52693 (WebCore::DOMApplicationCache::callObsoleteListener): Added support for obsolete event. 52694 52695 * loader/appcache/DOMApplicationCache.h: 52696 (WebCore::DOMApplicationCache::Status): 52697 (WebCore::DOMApplicationCache::setOnobsolete): 52698 (WebCore::DOMApplicationCache::onobsolete): 52699 Added support for OBSOLETE state and obsolete event. 52700 52701 * loader/appcache/DOMApplicationCache.idl: Ditto. 52702 52703 2009-01-19 Anders Carlsson <andersca (a] apple.com> 52704 52705 Reviewed by Kevin Decker. 52706 52707 Allow plug-in views to return an instance directly. 52708 52709 * bindings/js/ScriptControllerMac.mm: 52710 (WebCore::ScriptController::createScriptInstanceForWidget): 52711 52712 2009-01-19 Chris Fleizach <cfleizach (a] apple.com> 52713 52714 Reviewed by David Hyatt. 52715 52716 AX: some buttons don't expose AXPress as an action 52717 https://bugs.webkit.org/show_bug.cgi?id=23399 52718 52719 Test: accessibility/button-press-action.html 52720 52721 * page/AccessibilityRenderObject.cpp: 52722 (WebCore::AccessibilityRenderObject::actionElement): 52723 52724 2009-01-19 Adam Roben <aroben (a] apple.com> 52725 52726 Windows build fix 52727 52728 * WebCore.vcproj/WebCore.vcproj: Copy headers from page/animation into 52729 $WebKitOutputDir so that WebKit can access them. 52730 52731 * html/HTMLBaseFontElement.cpp: Touched this file to cause a rebuild 52732 and header copy. 52733 52734 2009-01-19 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 52735 52736 Reviewed by Simon Hausmann. 52737 52738 http://qt.nokia.com/developer/task-tracker/index_html?id=211228&method=entry 52739 52740 [Qt] Show focus rect when a button gets the focus for the first time. 52741 This is important at least for Windows style. 52742 52743 * platform/qt/RenderThemeQt.cpp: 52744 (WebCore::RenderThemeQt::applyTheme): 52745 52746 2009-01-19 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 52747 52748 [Qt] Build fix after r39971. 52749 52750 * platform/qt/LoggingQt.cpp: 52751 (WebCore::InitializeLoggingChannelsIfNecessary): 52752 52753 2009-01-18 Sam Weinig <sam (a] webkit.org> 52754 52755 Reviewed by Cameron Zwarich. 52756 52757 Fix for https://bugs.webkit.org/show_bug.cgi?id=23415 52758 Remove FramePrivate 52759 52760 Minor PLT speedup. 52761 52762 * WebCore.base.exp: 52763 * WebCore.vcproj/WebCore.vcproj: 52764 * WebCore.xcodeproj/project.pbxproj: 52765 * loader/FrameLoader.cpp: 52766 * page/Frame.cpp: 52767 (WebCore::Frame::Frame): 52768 (WebCore::Frame::~Frame): 52769 (WebCore::Frame::init): 52770 (WebCore::Frame::loader): 52771 (WebCore::Frame::view): 52772 (WebCore::Frame::setView): 52773 (WebCore::Frame::script): 52774 (WebCore::Frame::document): 52775 (WebCore::Frame::setDocument): 52776 (WebCore::Frame::settings): 52777 (WebCore::Frame::selection): 52778 (WebCore::Frame::editor): 52779 (WebCore::Frame::selectionGranularity): 52780 (WebCore::Frame::setSelectionGranularity): 52781 (WebCore::Frame::dragCaretController): 52782 (WebCore::Frame::animation): 52783 (WebCore::Frame::mark): 52784 (WebCore::Frame::setMark): 52785 (WebCore::Frame::setCaretVisible): 52786 (WebCore::Frame::clearCaretRectIfNeeded): 52787 (WebCore::Frame::selectionLayoutChanged): 52788 (WebCore::Frame::caretBlinkTimerFired): 52789 (WebCore::Frame::paintCaret): 52790 (WebCore::Frame::paintDragCaret): 52791 (WebCore::Frame::zoomFactor): 52792 (WebCore::Frame::isZoomFactorTextOnly): 52793 (WebCore::Frame::shouldApplyTextZoom): 52794 (WebCore::Frame::shouldApplyPageZoom): 52795 (WebCore::Frame::setZoomFactor): 52796 (WebCore::Frame::setPrinting): 52797 (WebCore::Frame::setJSStatusBarText): 52798 (WebCore::Frame::setJSDefaultStatusBarText): 52799 (WebCore::Frame::jsStatusBarText): 52800 (WebCore::Frame::jsDefaultStatusBarText): 52801 (WebCore::Frame::setNeedsReapplyStyles): 52802 (WebCore::Frame::needsReapplyStyles): 52803 (WebCore::Frame::reapplyStyles): 52804 (WebCore::Frame::isContentEditable): 52805 (WebCore::Frame::updateSecureKeyboardEntryIfActive): 52806 (WebCore::Frame::typingStyle): 52807 (WebCore::Frame::setTypingStyle): 52808 (WebCore::Frame::clearTypingStyle): 52809 (WebCore::Frame::computeAndSetTypingStyle): 52810 (WebCore::Frame::selectionComputedStyle): 52811 (WebCore::Frame::applyEditingStyleToBodyElement): 52812 (WebCore::Frame::removeEditingStyleFromBodyElement): 52813 (WebCore::Frame::keepAlive): 52814 (WebCore::Frame::cancelAllKeepAlive): 52815 (WebCore::Frame::clearDOMWindow): 52816 (WebCore::Frame::ownerElement): 52817 (WebCore::Frame::ownerRenderer): 52818 (WebCore::Frame::isDisconnected): 52819 (WebCore::Frame::setIsDisconnected): 52820 (WebCore::Frame::excludeFromTextSearch): 52821 (WebCore::Frame::setExcludeFromTextSearch): 52822 (WebCore::Frame::selectionBounds): 52823 (WebCore::Frame::selectionTextRects): 52824 (WebCore::Frame::isFrameSet): 52825 (WebCore::Frame::currentForm): 52826 (WebCore::Frame::forceLayout): 52827 (WebCore::Frame::sendScrollEvent): 52828 (WebCore::Frame::clearTimers): 52829 (WebCore::Frame::styleForSelectionStart): 52830 (WebCore::Frame::inViewSourceMode): 52831 (WebCore::Frame::setInViewSourceMode): 52832 (WebCore::Frame::markAllMatchesForText): 52833 (WebCore::Frame::markedTextMatchesAreHighlighted): 52834 (WebCore::Frame::setMarkedTextMatchesAreHighlighted): 52835 (WebCore::Frame::tree): 52836 (WebCore::Frame::setDOMWindow): 52837 (WebCore::Frame::domWindow): 52838 (WebCore::Frame::clearFormerDOMWindow): 52839 (WebCore::Frame::page): 52840 (WebCore::Frame::eventHandler): 52841 (WebCore::Frame::pageDestroyed): 52842 (WebCore::Frame::disconnectOwnerElement): 52843 (WebCore::Frame::documentAtPoint): 52844 * page/Frame.h: 52845 * page/FramePrivate.h: Removed. 52846 * page/FrameTree.h: 52847 * page/chromium/FrameChromium.cpp: 52848 * page/mac/FrameMac.mm: 52849 (WebCore::Frame::imageFromRect): 52850 (WebCore::Frame::selectionImage): 52851 (WebCore::Frame::snapshotDragImage): 52852 (WebCore::Frame::nodeImage): 52853 (WebCore::Frame::setUserStyleSheetLocation): 52854 (WebCore::Frame::setUserStyleSheet): 52855 * page/qt/FrameQt.cpp: 52856 (WebCore::Frame::setUserStyleSheetLocation): 52857 (WebCore::Frame::setUserStyleSheet): 52858 * page/win/FrameCGWin.cpp: 52859 (WebCore::Frame::nodeImage): 52860 * page/win/FrameWin.cpp: 52861 52862 2009-01-18 Eric Carlson <eric.carlson (a] apple.com> 52863 52864 Build fix for !ENABLE(VIDEO) following r40016. 52865 52866 * rendering/RenderSlider.cpp: 52867 (WebCore::RenderSlider::mouseEventIsInThumb): 52868 52869 2009-01-17 Steve Falkenburg <sfalken (a] apple.com> 52870 52871 Build fix. 52872 52873 2009-01-17 David Hyatt <hyatt (a] apple.com> 52874 52875 Optimize isTextNode() the same way isElementNode() was optimized in an earlier checkin. isTextNode() 52876 on Node is now non-virtual and just checks a bit that is set at construction time by Text. 52877 52878 Reviewed by Sam Weinig 52879 52880 * dom/CharacterData.cpp: 52881 (WebCore::CharacterData::CharacterData): 52882 * dom/CharacterData.h: 52883 * dom/EventTargetNode.cpp: 52884 (WebCore::EventTargetNode::EventTargetNode): 52885 * dom/EventTargetNode.h: 52886 * dom/Node.cpp: 52887 (WebCore::Node::Node): 52888 * dom/Node.h: 52889 (WebCore::Node::isTextNode): 52890 (WebCore::Node::isAttributeNode): 52891 * dom/Text.cpp: 52892 (WebCore::Text::Text): 52893 * dom/Text.h: 52894 52895 2009-01-17 David Hyatt <hyatt (a] apple.com> 52896 52897 Change how backslashAsCurrencySymbol() works. Instead of forcing call sites to do the direct 52898 replacement themselves, the exact transformation is instead done by the encoding (indirectly through 52899 a method on Document). 52900 52901 These changes allow the fast case (where no replacement is needed) checks to be completely inlined for 52902 a slight speedup, and also allow encodings to do future alterations to displayed string content without 52903 having to patch call sites again. 52904 52905 Reviewed by Oliver Hunt 52906 52907 * WebCore.base.exp: 52908 * dom/Document.cpp: 52909 * dom/Document.h: 52910 (WebCore::Document::displayStringModifiedByEncoding): 52911 (WebCore::Document::displayBufferModifiedByEncoding): 52912 * editing/Editor.cpp: 52913 (WebCore::Editor::addToKillRing): 52914 * editing/TextIterator.cpp: 52915 (WebCore::plainTextToMallocAllocatedBuffer): 52916 (WebCore::plainText): 52917 * editing/TextIterator.h: 52918 * html/HTMLOptGroupElement.cpp: 52919 (WebCore::HTMLOptGroupElement::groupLabelText): 52920 * html/HTMLOptionElement.cpp: 52921 (WebCore::HTMLOptionElement::text): 52922 * loader/DocumentLoader.cpp: 52923 (WebCore::canonicalizedTitle): 52924 * page/Chrome.cpp: 52925 (WebCore::displayString): 52926 (WebCore::Chrome::runJavaScriptAlert): 52927 (WebCore::Chrome::runJavaScriptConfirm): 52928 (WebCore::Chrome::runJavaScriptPrompt): 52929 (WebCore::Chrome::setStatusbarText): 52930 * page/Frame.cpp: 52931 (WebCore::Frame::shouldClose): 52932 * page/Frame.h: 52933 * platform/mac/PasteboardMac.mm: 52934 (WebCore::Pasteboard::writeSelection): 52935 * platform/text/TextCodecICU.cpp: 52936 (WebCore::TextCodecICU::encode): 52937 * platform/text/TextEncoding.cpp: 52938 (WebCore::TextEncoding::TextEncoding): 52939 * platform/text/TextEncoding.h: 52940 (WebCore::TextEncoding::displayString): 52941 (WebCore::TextEncoding::displayBuffer): 52942 * rendering/HitTestResult.cpp: 52943 (WebCore::displayString): 52944 * rendering/RenderImage.cpp: 52945 (WebCore::RenderImage::paintReplaced): 52946 * rendering/RenderObject.cpp: 52947 * rendering/RenderObject.h: 52948 * rendering/RenderText.cpp: 52949 (WebCore::RenderText::RenderText): 52950 (WebCore::RenderText::setTextInternal): 52951 * rendering/RenderTextControl.cpp: 52952 (WebCore::RenderTextControl::setInnerTextValue): 52953 (WebCore::RenderTextControl::finishText): 52954 52955 2009-01-17 Eric Carlson <eric.carlson (a] apple.com> 52956 52957 Reviewed by Adele Peterson 52958 52959 Complete <rdar://problem/6293969> 52960 52961 * DerivedSources.make: include mediaControlsQT.css for Mac build. 52962 52963 * WebCore.xcodeproj/project.pbxproj: add mediaControlsQT.css 52964 52965 * css/CSSPrimitiveValueMappings.h: 52966 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): add MediaTimelineContainerPart, 52967 CSSValueMediaCurrentTimeDisplay, and CSSValueMediaTimeRemainingDisplay 52968 52969 * css/CSSSelector.cpp: 52970 (WebCore::CSSSelector::extractPseudoType): include new media controller element styles 52971 * css/CSSSelector.h: 52972 (WebCore::CSSSelector::): Ditto. 52973 52974 * css/CSSStyleSelector.cpp: 52975 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): include new media 52976 controller element styles 52977 52978 * css/CSSValueKeywords.in: add keywords for new media time display controls 52979 52980 * css/mediaControls.css: adjust css for new control elements 52981 52982 * css/mediaControlsQT.css: Added. 52983 52984 * platform/ThemeTypes.h: 52985 (WebCore::): add media time display controls to ControlPart 52986 52987 * platform/mac/WebCoreSystemInterface.h: 52988 * platform/mac/WebCoreSystemInterface.mm: pass controller style to WKSI functions 52989 52990 * rendering/MediaControlElements.cpp: 52991 (WebCore::MediaTextDisplayElement::MediaTextDisplayElement): Added 52992 (WebCore::MediaTextDisplayElement::attachToParent): Added 52993 (WebCore::MediaTextDisplayElement::update): Added 52994 (WebCore::MediaTimeDisplayElement::MediaTimeDisplayElement): Added 52995 (WebCore::MediaControlInputElement::MediaControlInputElement): Added 52996 (WebCore::MediaControlInputElement::hitTest): Added 52997 (WebCore::MediaControlTimelineElement::defaultEventHandler): Update the time display when 52998 dragging the thumb 52999 * rendering/MediaControlElements.h: 53000 (WebCore::): Add MediaTextDisplayElement 53001 53002 * rendering/RenderMedia.cpp: 53003 (WebCore::RenderMedia::createTimelineContainer): Added 53004 (WebCore::RenderMedia::createTimeline): Parent is now the timeline container 53005 (WebCore::RenderMedia::createCurrentTimeDisplay): Added 53006 (WebCore::RenderMedia::createTimeRemainingDisplay): Added 53007 (WebCore::RenderMedia::updateControls): Create new elements. Don't ever start the time update 53008 timer when the time display elements are not visible 53009 (WebCore::RenderMedia::formatTime): Handle negative times. Don't display 0 hours or minutes 53010 (WebCore::RenderMedia::updateTimeDisplay): Do nothing when the time display elements are not 53011 visible. Display time remaining as well as current time. 53012 (WebCore::RenderMedia::updateControlVisibility): Don't assume opacity should be set to 0 when 53013 visibility changes 53014 (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function 53015 as we can't assume that all controls are rectangular 53016 * rendering/RenderMedia.h: Updated 53017 53018 * rendering/RenderSlider.cpp: 53019 (WebCore::RenderSlider::mouseEventIsInThumb): When slider is media timeline control, call 53020 element hitTest() method instead of assuming it is rectangular 53021 * rendering/RenderSlider.h: make mouseEventIsInThumb virtual 53022 53023 * rendering/RenderTheme.cpp: 53024 (WebCore::RenderTheme::paint): Deal with time display and timeline container 53025 * rendering/RenderTheme.h: 53026 (WebCore::RenderTheme::paintMediaTimelineContainer): Updated 53027 (WebCore::RenderTheme::paintMediaCurrentTime): Added 53028 (WebCore::RenderTheme::paintMediaTimeRemaining): Added 53029 53030 * rendering/RenderThemeMac.h: Updated 53031 * rendering/RenderThemeMac.mm: 53032 (WebCore::): 53033 (WebCore::mediaControllerTheme): 53034 (WebCore::RenderThemeMac::adjustSliderThumbSize): Call WebKitSystemInterface to get the thumb 53035 size when appropriate 53036 (WebCore::RenderThemeMac::paintMediaFullscreenButton): pass controller style to render function 53037 (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto 53038 (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto 53039 (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto 53040 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto 53041 (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto 53042 (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto 53043 (WebCore::RenderThemeMac::paintMediaTimelineContainer): Added 53044 (WebCore::RenderThemeMac::paintMediaCurrentTime): Added 53045 (WebCore::RenderThemeMac::paintMediaTimeRemaining): Added 53046 (WebCore::RenderThemeMac::extraMediaControlsStyleSheet): Added 53047 (WebCore::RenderThemeMac::hitTestMediaControlPart): Added 53048 * rendering/style/RenderStyle.h: Updated 53049 (WebCore::): 53050 53051 2009-01-17 David Hyatt <hyatt (a] apple.com> 53052 53053 Inline a few methods in FrameView for speed. 53054 53055 Reviewed by Oliver Hunt 53056 53057 * page/FrameView.cpp: 53058 * page/FrameView.h: 53059 (WebCore::FrameView::layoutCount): 53060 (WebCore::FrameView::needsFullRepaint): 53061 53062 2009-01-17 David Hyatt <hyatt (a] apple.com> 53063 53064 Inline Document::documentElement(), since it is used by the (very hot) RenderObject::isRoot(). Split off 53065 the code that fetches and caches the document element into a separate function and inline the part that 53066 does the null check and the return of the already-cached element. 53067 53068 Reviewed by Oliver Hunt 53069 53070 * dom/Document.cpp: 53071 (WebCore::Document::cacheDocumentElement): 53072 * dom/Document.h: 53073 (WebCore::Document::documentElement): 53074 53075 2009-01-17 David Hyatt <hyatt (a] apple.com> 53076 53077 Minor tweaks to RenderBox::styleChange to speed it up. 53078 53079 Reviewed by Oliver Hunt 53080 53081 * rendering/RenderBox.cpp: 53082 (WebCore::RenderBox::styleDidChange): 53083 53084 2009-01-17 David Hyatt <hyatt (a] apple.com> 53085 53086 Inline FrameLoader::client(). 53087 53088 Reviewed by Oliver Hunt 53089 53090 * WebCore.base.exp: 53091 * loader/FrameLoader.cpp: 53092 * loader/FrameLoader.h: 53093 (WebCore::FrameLoader::client): 53094 53095 2009-01-17 David Hyatt <hyatt (a] apple.com> 53096 53097 Inline some Image methods for speed. Fix CachedImage's addClient method to just use isNull rather 53098 than needlessly creating a rect. 53099 53100 Reviewed by Oliver Hunt 53101 53102 * loader/CachedImage.cpp: 53103 (WebCore::CachedImage::addClient): 53104 * platform/graphics/Image.cpp: 53105 * platform/graphics/Image.h: 53106 (WebCore::Image::isNull): 53107 (WebCore::Image::rect): 53108 (WebCore::Image::width): 53109 (WebCore::Image::height): 53110 53111 2009-01-17 David Hyatt <hyatt (a] apple.com> 53112 53113 Avoid using the non-inlined isVariable() when adding parsed values during CSS parsing. 53114 53115 Reviewed by Oliver Hunt 53116 53117 * css/CSSParserValues.cpp: 53118 (WebCore::CSSParserValueList::addValue): 53119 53120 2009-01-17 David Hyatt <hyatt (a] apple.com> 53121 53122 Inline Document::inPageCache(), since - because of animation code - it is now called every time 53123 styles change on any element and so is now super-hot. 53124 53125 Reviewed by Oliver Hunt 53126 53127 * dom/Document.cpp: 53128 * dom/Document.h: 53129 (WebCore::Document::inPageCache): 53130 53131 2009-01-16 David Hyatt <hyatt (a] apple.com> 53132 53133 Take Font out of the GraphicsContext. Fonts are moderately expensive to both compare and to assign to. 53134 The Font's presence in the GraphicsContext was making save/restore more expensive than it needed to be, 53135 and was also causing expensive comparison checks to be made before doing alterations of the Font in the 53136 GraphicsContext. 53137 53138 A font must now be passed as a parameter to all text drawing functions. 53139 53140 Reviewed by Oliver Hunt 53141 53142 * html/CanvasRenderingContext2D.cpp: 53143 (WebCore::CanvasRenderingContext2D::setFont): 53144 (WebCore::CanvasRenderingContext2D::drawTextInternal): 53145 * platform/graphics/GraphicsContext.cpp: 53146 (WebCore::GraphicsContext::drawText): 53147 (WebCore::GraphicsContext::drawBidiText): 53148 (WebCore::GraphicsContext::drawHighlightForText): 53149 * platform/graphics/GraphicsContext.h: 53150 * platform/graphics/GraphicsContextPrivate.h: 53151 * platform/graphics/qt/GraphicsContextQt.cpp: 53152 * rendering/EllipsisBox.cpp: 53153 (WebCore::EllipsisBox::paint): 53154 * rendering/InlineTextBox.cpp: 53155 (WebCore::paintTextWithShadows): 53156 (WebCore::InlineTextBox::paint): 53157 (WebCore::InlineTextBox::paintSelection): 53158 (WebCore::InlineTextBox::paintCompositionBackground): 53159 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 53160 (WebCore::InlineTextBox::paintTextMatchMarker): 53161 (WebCore::InlineTextBox::paintDocumentMarkers): 53162 * rendering/InlineTextBox.h: 53163 * rendering/RenderFileUploadControl.cpp: 53164 (WebCore::RenderFileUploadControl::paintObject): 53165 * rendering/RenderImage.cpp: 53166 (WebCore::RenderImage::paintReplaced): 53167 * rendering/RenderListBox.cpp: 53168 (WebCore::RenderListBox::paintItemForeground): 53169 * rendering/RenderListMarker.cpp: 53170 (WebCore::RenderListMarker::paint): 53171 * rendering/SVGInlineTextBox.cpp: 53172 (WebCore::SVGInlineTextBox::paintCharacters): 53173 (WebCore::SVGInlineTextBox::paintSelection): 53174 * rendering/SVGInlineTextBox.h: 53175 * svg/SVGFont.cpp: 53176 (WebCore::Font::drawTextUsingSVGFont): 53177 53178 2009-01-16 David Hyatt <hyatt (a] apple.com> 53179 53180 Fix a regression from the virtualContinuation()/continuation() split where I accidentally changed 53181 two if statements. 53182 53183 Reviewed by Oliver Hunt 53184 53185 * rendering/RenderObject.cpp: 53186 (WebCore::RenderObject::absoluteRects): 53187 (WebCore::RenderObject::absoluteQuads): 53188 53189 2009-01-16 David Hyatt <hyatt (a] apple.com> 53190 53191 Fix a regression from my before/after optimization. Make sure the <q> element puts the document 53192 into a mode where it will respect before/after rules, since <q> implicitly uses such rules. 53193 53194 Make sure view source mode documents also turn on before/after rules, since they are used there also. 53195 53196 Reviewed by Oliver Hunt 53197 53198 * html/HTMLElementFactory.cpp: 53199 (WebCore::quoteConstructor): 53200 * html/HTMLViewSourceDocument.cpp: 53201 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 53202 53203 2009-01-16 Chris Fleizach <cfleizach (a] apple.com> 53204 53205 Reviewed by Oliver Hunt. 53206 53207 Bug 23397: AXURL is not reported for <INPUT type="image"> elements 53208 https://bugs.webkit.org/show_bug.cgi?id=23397 53209 53210 Report an AXURL for inputs that have an image type. 53211 53212 Test: accessibility/input-image-url.html 53213 53214 * page/AccessibilityObject.h: 53215 (WebCore::AccessibilityObject::isInputImage): 53216 * page/AccessibilityRenderObject.cpp: 53217 (WebCore::AccessibilityRenderObject::isInputImage): 53218 (WebCore::AccessibilityRenderObject::url): 53219 * page/AccessibilityRenderObject.h: 53220 * page/mac/AccessibilityObjectWrapper.mm: 53221 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 53222 53223 2009-01-16 Adele Peterson <adele (a] apple.com> 53224 53225 Windows build fix. 53226 53227 * loader/FrameLoader.cpp: (WebCore::FrameLoader::logCanCachePageDecision): 53228 53229 2009-01-16 Steve Falkenburg <sfalken (a] apple.com> 53230 53231 <rdar://problem/6502511> Safari crashes if it's running while the desktop theme is changed. 53232 53233 This was caused by mismatched ENABLE definitions across WebCore and WebKit. 53234 53235 Several virtual methods were added to RenderTheme.h, conditionalized by ENABLE(VIDEO). 53236 In addition to adding ENABLE_VIDEO to WebKit, this change also adds ENABLE_DATABASE and ENABLE_ICONDATABASE 53237 to Windows WebCore/WebKit, and adds ENABLE_WORKERS, and several ENABLE_SVG_ flags to WebKit on Windows. 53238 Our Windows ENABLE flags now match Mac. 53239 53240 Reviewed by Adele Peterson. 53241 53242 * WebCore.vcproj/WebCore.vcproj: 53243 * WebCore.vcproj/build-generated-files.sh: 53244 53245 2009-01-16 Mark Rowe <mrowe (a] apple.com> 53246 53247 40,000! 53248 53249 * ChangeLog: Point out revision 40,000. 53250 53251 2009-01-16 Eric Seidel <eric (a] webkit.org> 53252 53253 Reviewed by Justin Garcia. 53254 53255 Make surroundNodeRangeWithElement call insertNodeBefore implicitly 53256 Make insertNodeBefore take PassRefPtr 53257 Clean up the use of PassRefPtr vs. raw pointers a few places in the editing code. 53258 https://bugs.webkit.org/show_bug.cgi?id=23389 53259 53260 * editing/ApplyStyleCommand.cpp: 53261 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): 53262 (WebCore::ApplyStyleCommand::applyTextDecorationStyle): 53263 (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): 53264 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 53265 * editing/ApplyStyleCommand.h: 53266 * editing/CompositeEditCommand.cpp: 53267 (WebCore::CompositeEditCommand::insertNodeAt): 53268 * editing/IndentOutdentCommand.cpp: 53269 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): 53270 * editing/InsertLineBreakCommand.cpp: 53271 (WebCore::InsertLineBreakCommand::doApply): 53272 * editing/InsertParagraphSeparatorCommand.cpp: 53273 (WebCore::InsertParagraphSeparatorCommand::doApply): 53274 * editing/InsertTextCommand.cpp: 53275 (WebCore::InsertTextCommand::insertTab): 53276 * editing/ModifySelectionListLevel.cpp: 53277 (WebCore::IncreaseSelectionListLevelCommand::doApply): 53278 * editing/ReplaceSelectionCommand.cpp: 53279 (WebCore::ReplacementFragment::removeNodePreservingChildren): 53280 (WebCore::ReplacementFragment::insertNodeBefore): 53281 (WebCore::ReplacementFragment::removeInterchangeNodes): 53282 (WebCore::ReplaceSelectionCommand::doApply): 53283 (WebCore::ReplaceSelectionCommand::insertNodeAfterAndUpdateNodesInserted): 53284 (WebCore::ReplaceSelectionCommand::insertNodeAtAndUpdateNodesInserted): 53285 (WebCore::ReplaceSelectionCommand::insertNodeBeforeAndUpdateNodesInserted): 53286 * editing/ReplaceSelectionCommand.h: 53287 53288 2009-01-16 Chris Fleizach <cfleizach (a] apple.com> 53289 53290 Reviewed by Oliver Hunt. 53291 53292 Bug 23393: TextField has AXTitle and AXTitleUIElement 53293 https://bugs.webkit.org/show_bug.cgi?id=23393 53294 53295 Test: accessibility/double-title.html 53296 53297 * page/AccessibilityRenderObject.cpp: 53298 (WebCore::AccessibilityRenderObject::title): 53299 53300 2009-01-16 Adam Treat <adam.treat (a] torchmobile.com> 53301 53302 The correct build fix for all platforms. 53303 53304 * platform/graphics/Font.h: 53305 53306 2009-01-16 Adam Treat <adam.treat (a] torchmobile.com> 53307 53308 Fix the Qt build. 53309 53310 * platform/graphics/Font.h: 53311 53312 2009-01-16 David Hyatt <hyatt (a] apple.com> 53313 53314 Add a new flag (similar to first-line and first-letter) to Document to track whether any before/after rules 53315 are being used. If not, don't waste time probing for those pseudo element styles. 53316 53317 Reviewed by Sam Weinig 53318 53319 * css/CSSGrammar.y: 53320 * dom/Document.cpp: 53321 (WebCore::Document::Document): 53322 * dom/Document.h: 53323 (WebCore::Document::usesBeforeAfterRules): 53324 (WebCore::Document::setUsesBeforeAfterRules): 53325 * rendering/RenderBlock.cpp: 53326 (WebCore::RenderBlock::styleDidChange): 53327 * rendering/RenderContainer.cpp: 53328 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 53329 * rendering/RenderInline.cpp: 53330 (WebCore::RenderInline::styleDidChange): 53331 (WebCore::RenderInline::addChildToFlow): 53332 (WebCore::RenderInline::splitInlines): 53333 53334 2009-01-16 Dmitry Titov <dimich (a] chromium.org> 53335 53336 Reviewed by Alp Toker. 53337 53338 https://bugs.webkit.org/show_bug.cgi?id=23394 53339 Remove unnecessary calls to setDeferringTimers(). 53340 53341 Use of this function was obsoleted by better handling of EINTR. 53342 53343 * platform/network/curl/ResourceHandleManager.cpp: 53344 (WebCore::ResourceHandleManager::downloadTimerCallback): removed setDeferringTimers calls. 53345 53346 2009-01-16 David Hyatt <hyatt (a] apple.com> 53347 53348 Fix badness with the cursor CSS property. For all links and form controls, resetting to a value of auto 53349 was resulting in the creation of a cursor list. clearCursorList was creating a new list rather than just 53350 nulling out the pointer. Since addCursor already lazily recreates the list, in the case of simple cursor types, 53351 the clear method was wastefully creating a completely unnecessary list for all of these elements. 53352 53353 Also optimized the setting of simple cursor values to not alter the RenderStyle's cursor setting if it is already 53354 set to the same value. Since this is the common case, it prevents a fault and copy of StyleInheritedData for 53355 all links and form controls. 53356 53357 This is a PLT speedup. 53358 53359 Reviewed by Oliver Hunt 53360 53361 * css/CSSStyleSelector.cpp: 53362 (WebCore::CSSStyleSelector::applyProperty): 53363 * rendering/style/RenderStyle.cpp: 53364 (WebCore::RenderStyle::clearCursorList): 53365 53366 2009-01-16 Darin Fisher <darin (a] chromium.org> 53367 53368 Reviewed by Darin Adler. 53369 53370 https://bugs.webkit.org/show_bug.cgi?id=23384 53371 PLATFORM(CHROMIUM) needs to delegate BackForwardList.cpp methods to the embedder 53372 53373 * history/BackForwardList.h: 53374 (WebCore::BackForwardListClient::~BackForwardListClient): 53375 (WebCore::BackForwardList::setClient): 53376 * history/BackForwardListChromium.cpp: Added. 53377 53378 2009-01-16 Dan Bernstein <mitz (a] apple.com> 53379 53380 Reviewed by Kevin Decker and Adam Roben. 53381 53382 - fix a regression that resulted in a crash when plug-ins were 53383 disabled. 53384 53385 * rendering/RenderPartObject.cpp: 53386 (WebCore::RenderPartObject::updateWidget): Added a null check. 53387 53388 2009-01-16 David Hyatt <hyatt (a] apple.com> 53389 53390 Split continuation() into virtual and non-virtual versions so that the non-virtual version can 53391 be used whereever possible. Eventually the virtual method can be eliminated completely. 53392 53393 Reviewed by Sam Weinig and Oliver Hunt 53394 53395 * html/HTMLAnchorElement.cpp: 53396 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 53397 * page/AccessibilityRenderObject.cpp: 53398 (WebCore::AccessibilityRenderObject::anchorElement): 53399 * rendering/InlineFlowBox.cpp: 53400 (WebCore::InlineFlowBox::determineSpacingForFlowBoxes): 53401 (WebCore::InlineFlowBox::paint): 53402 * rendering/RenderBlock.cpp: 53403 (WebCore::RenderBlock::removeChild): 53404 * rendering/RenderContainer.cpp: 53405 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 53406 * rendering/RenderFlow.h: 53407 (WebCore::RenderFlow::virtualContinuation): 53408 (WebCore::RenderFlow::continuation): 53409 * rendering/RenderInline.cpp: 53410 (WebCore::RenderInline::positionForCoordinates): 53411 * rendering/RenderObject.cpp: 53412 (WebCore::RenderObject::absoluteRects): 53413 (WebCore::RenderObject::absoluteQuads): 53414 (WebCore::RenderObject::addFocusRingRects): 53415 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 53416 (WebCore::RenderObject::getAbsoluteRepaintRectWithOutline): 53417 (WebCore::RenderObject::handleDynamicFloatPositionChange): 53418 (WebCore::RenderObject::hoverAncestor): 53419 (WebCore::RenderObject::updateDragState): 53420 (WebCore::RenderObject::updateHitTestResult): 53421 (WebCore::RenderObject::getTextDecorationColors): 53422 (WebCore::RenderObject::adjustRectForOutlineAndShadow): 53423 * rendering/RenderObject.h: 53424 (WebCore::RenderObject::virtualContinuation): 53425 53426 2009-01-16 David Hyatt <hyatt (a] apple.com> 53427 53428 Inline the methods of Font for obtaining metrics such as ascent, descent and line spacing. 53429 53430 Reviewed by ggaren 53431 53432 * platform/graphics/Font.cpp: 53433 * platform/graphics/Font.h: 53434 (WebCore::Font::width): 53435 (WebCore::Font::ascent): 53436 (WebCore::Font::descent): 53437 (WebCore::Font::lineSpacing): 53438 (WebCore::Font::lineGap): 53439 (WebCore::Font::xHeight): 53440 (WebCore::Font::unitsPerEm): 53441 (WebCore::Font::spaceWidth): 53442 53443 2009-01-16 Sam Weinig <sam (a] webkit.org> 53444 53445 Reviewed by David Hyatt. 53446 53447 Fix for https://bugs.webkit.org/show_bug.cgi?id=23388 53448 Remove FrameViewPrivate 53449 53450 Removes an indirection and is a small speedup on PLT. 53451 53452 * page/FrameView.cpp: 53453 (WebCore::FrameView::FrameView): 53454 (WebCore::FrameView::~FrameView): 53455 (WebCore::FrameView::reset): 53456 (WebCore::FrameView::resetScrollbars): 53457 (WebCore::FrameView::init): 53458 (WebCore::FrameView::clear): 53459 (WebCore::FrameView::didFirstLayout): 53460 (WebCore::FrameView::initScrollbars): 53461 (WebCore::FrameView::updateDefaultScrollbarState): 53462 (WebCore::FrameView::setCanHaveScrollbars): 53463 (WebCore::FrameView::applyOverflowToViewport): 53464 (WebCore::FrameView::layoutCount): 53465 (WebCore::FrameView::needsFullRepaint): 53466 (WebCore::FrameView::layoutRoot): 53467 (WebCore::FrameView::layout): 53468 (WebCore::FrameView::setMediaType): 53469 (WebCore::FrameView::mediaType): 53470 (WebCore::FrameView::useSlowRepaints): 53471 (WebCore::FrameView::setUseSlowRepaints): 53472 (WebCore::FrameView::addSlowRepaintObject): 53473 (WebCore::FrameView::removeSlowRepaintObject): 53474 (WebCore::FrameView::scrollRectIntoViewRecursively): 53475 (WebCore::FrameView::setScrollPosition): 53476 (WebCore::FrameView::repaintContentRectangle): 53477 (WebCore::FrameView::beginDeferredRepaints): 53478 (WebCore::FrameView::endDeferredRepaints): 53479 (WebCore::FrameView::scheduleRelayout): 53480 (WebCore::FrameView::scheduleRelayoutOfSubtree): 53481 (WebCore::FrameView::layoutPending): 53482 (WebCore::FrameView::needsLayout): 53483 (WebCore::FrameView::unscheduleRelayout): 53484 (WebCore::FrameView::isTransparent): 53485 (WebCore::FrameView::setTransparent): 53486 (WebCore::FrameView::baseBackgroundColor): 53487 (WebCore::FrameView::setBaseBackgroundColor): 53488 (WebCore::FrameView::shouldUpdateWhileOffscreen): 53489 (WebCore::FrameView::setShouldUpdateWhileOffscreen): 53490 (WebCore::FrameView::scheduleEvent): 53491 (WebCore::FrameView::pauseScheduledEvents): 53492 (WebCore::FrameView::resumeScheduledEvents): 53493 (WebCore::FrameView::performPostLayoutTasks): 53494 (WebCore::FrameView::updateOverflowStatus): 53495 (WebCore::FrameView::dispatchScheduledEvents): 53496 (WebCore::FrameView::wasScrolledByUser): 53497 (WebCore::FrameView::setWasScrolledByUser): 53498 (WebCore::FrameView::paintContents): 53499 (WebCore::FrameView::setPaintRestriction): 53500 (WebCore::FrameView::isPainting): 53501 (WebCore::FrameView::setNodeToDraw): 53502 * page/FrameView.h: 53503 (WebCore::FrameView::setIsVisuallyNonEmpty): Inline. 53504 53505 2009-01-14 Julien Chaffraix <jchaffraix (a] webkit.org> 53506 53507 Reviewed by Darin Adler. 53508 53509 Bug 23237: Some HTML constructors in HTMLElementFactory needs 53510 an HTMLFormElement argument 53511 53512 - Added 'constructorNeedsFormElement' parameter to make_names.pl to account 53513 for HTML form elements. 53514 53515 - Added the new information to HTMLTagNames.in. 53516 53517 * dom/make_names.pl: 53518 * html/HTMLTagNames.in: 53519 53520 2009-01-16 David Hyatt <hyatt (a] apple.com> 53521 53522 Eliminate a bunch of save/restore pairs from commonly used GraphicsContext methods. The most common reason 53523 for needing save/restore in the line-drawing methods was antialiasing, so this has now been made part of 53524 the cross-platform graphics state. By being able to query for the current antialiasing setting, antialiasing 53525 can be temporarily changed and then restored back to the real value without needing to do a save/restore. 53526 53527 The line drawing code also set the fill color to the stroke color and relied on save/restore to prevent 53528 a permanent mutation of the fill color in the CGContext. The new code just restores the fill color back 53529 to its original value without doing the much more expensive save/restore. 53530 53531 Reviewed by Oliver Hunt 53532 53533 * platform/graphics/GraphicsContext.cpp: 53534 (WebCore::GraphicsContext::setShouldAntialias): 53535 (WebCore::GraphicsContext::shouldAntialias): 53536 * platform/graphics/GraphicsContext.h: 53537 * platform/graphics/GraphicsContextPrivate.h: 53538 (WebCore::GraphicsContextState::GraphicsContextState): 53539 * platform/graphics/cairo/GraphicsContextCairo.cpp: 53540 (WebCore::GraphicsContext::setPlatformShouldAntialias): 53541 * platform/graphics/cg/GraphicsContextCG.cpp: 53542 (WebCore::GraphicsContext::drawLine): 53543 (WebCore::GraphicsContext::drawConvexPolygon): 53544 (WebCore::GraphicsContext::drawLineForText): 53545 (WebCore::GraphicsContext::setPlatformShouldAntialias): 53546 * platform/graphics/qt/GraphicsContextQt.cpp: 53547 (WebCore::GraphicsContext::setPlatformShouldAntialias): 53548 * platform/graphics/skia/GraphicsContextSkia.cpp: 53549 (WebCore::GraphicsContext::setPlatformShouldAntialias): 53550 * platform/graphics/wx/GraphicsContextWx.cpp: 53551 (WebCore::GraphicsContext::setPlatformShouldAntialias): 53552 * rendering/RenderPath.cpp: 53553 (WebCore::RenderPath::paint): 53554 53555 2009-01-16 Anders Carlsson <andersca (a] apple.com> 53556 53557 Reviewed by Sam Weinig. 53558 53559 Clean up the bridge code and get rid of Field::name() and Method::name(). 53560 53561 * bridge/c/c_instance.cpp: 53562 (JSC::Bindings::CInstance::invokeMethod): 53563 * bridge/c/c_runtime.cpp: 53564 * bridge/c/c_runtime.h: 53565 (JSC::Bindings::CField::identifier): 53566 (JSC::Bindings::CMethod::identifier): 53567 * bridge/jni/jni_class.cpp: 53568 (JavaClass::JavaClass): 53569 * bridge/jni/jni_instance.cpp: 53570 (JavaInstance::invokeMethod): 53571 * bridge/jni/jni_runtime.cpp: 53572 (JavaField::valueFromInstance): 53573 (JavaField::setValueToInstance): 53574 (JavaMethod::methodID): 53575 * bridge/jni/jni_runtime.h: 53576 (JSC::Bindings::JavaField::name): 53577 (JSC::Bindings::JavaMethod::name): 53578 * bridge/objc/objc_class.mm: 53579 (JSC::Bindings::ObjcClass::methodsNamed): 53580 * bridge/objc/objc_instance.mm: 53581 (ObjcInstance::invokeMethod): 53582 * bridge/objc/objc_runtime.h: 53583 (JSC::Bindings::ObjcMethod::isFallbackMethod): 53584 (JSC::Bindings::ObjcMethod::selector): 53585 * bridge/objc/objc_runtime.mm: 53586 (JSC::Bindings::ObjcMethod::ObjcMethod): 53587 (JSC::Bindings::ObjcMethod::getMethodSignature): 53588 (JSC::Bindings::ObjcField::ObjcField): 53589 (JSC::Bindings::ObjcField::valueFromInstance): 53590 (JSC::Bindings::ObjcField::setValueToInstance): 53591 (JSC::Bindings::callObjCFallbackObject): 53592 * bridge/runtime.h: 53593 53594 2009-01-16 David Hyatt <hyatt (a] apple.com> 53595 53596 Optimize RenderText::styleDidChange. Don't call the base class, which does extra meaningless work. 53597 Instead just do the one check we need to do (for a diff of layout) and mark dirty as appropriate. 53598 Clean up the base class method also to just bail early if no m_parent is set instead of repeatedly checking 53599 for the existence of m_parent in each if clause. 53600 53601 Reviewed by Darin Adler 53602 53603 * rendering/RenderObject.cpp: 53604 (WebCore::RenderObject::styleDidChange): 53605 * rendering/RenderText.cpp: 53606 (WebCore::RenderText::styleDidChange): 53607 53608 2009-01-16 Chris Fleizach <cfleizach (a] apple.com> 53609 53610 Reviewed by Beth Dakin. 53611 53612 Bug 23387: AX hierarchy is incorrect when iframes are present 53613 https://bugs.webkit.org/show_bug.cgi?id=23387 53614 53615 The AX hierarchy is incorrect when iframes are present. 53616 53617 Test: accessibility/iframe-bastardization.html 53618 53619 * page/mac/AccessibilityObjectWrapper.mm: 53620 (-[AccessibilityObjectWrapper renderWidgetChildren]): 53621 53622 2009-01-16 Brady Eidson <beidson (a] apple.com> 53623 53624 Reviewed by Darin Adler 53625 53626 <rdar://problem/3541409> - Split up some back/forward cache decision making and add detailed logging to 53627 better understand what the common disqualifiers are. 53628 53629 * loader/FrameLoader.cpp: 53630 (WebCore::FrameLoader::canCachePageContainingThisFrame): 53631 (WebCore::FrameLoader::canCachePage): Split off what will be per-frame decision making into canCacheSubframe. 53632 (WebCore::FrameLoader::logCanCachePageDecision): Detailed logging about why a page may not be considered for 53633 the back/forward cache. 53634 (WebCore::FrameLoader::logCanCacheFrameDecision): Same detailed logging on the per-frame basis. 53635 (WebCore::FrameLoader::commitProvisionalLoad): Move the m_client->canCachePage() call into canCachePageContainingThisFrame(). 53636 * loader/FrameLoader.h: 53637 53638 2009-01-16 Chris Marrin <cmarrin (a] apple.com> 53639 53640 Reviewed by David Hyatt. 53641 53642 Test: transitions/hang-with-bad-transition-list.html 53643 53644 Fixed https://bugs.webkit.org/show_bug.cgi?id=23088. 53645 This was happening because I was calling setChanged() from inside updateRendering() 53646 which causes an infinite loop. I fixed this by deferring the setChanged to the next 53647 run loop iteration. That made it not infinite loop, but it still retriggers the 53648 transition forever. The problem is that there is both an 'all' and specific transition 53649 on 'opacity'. This tickled a bug in AnimationController which causes the opacity 53650 transition to get constantly cancelled and then retriggered. The problem is that 53651 the specific opacity transition has a duration of 0. I got rid of the logic to 53652 flush out 0 duration transitions and it is no longer constantly triggered. The 53653 logic to flush them was just an optimization, and you really need to keep them 53654 around to make the logic to override earlier animations by later ones work. And there is 53655 very little overhead in this case anyway, so the optimization was not that useful. 53656 53657 I made a LayoutTest from the original testcase which tests both the infinite 53658 loop and constantly triggering animation cases. 53659 53660 * page/animation/AnimationBase.cpp: 53661 (WebCore::AnimationBase::updateStateMachine): 53662 * page/animation/AnimationController.cpp: 53663 (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired): 53664 (WebCore::AnimationControllerPrivate::addNodeChangeToDispatch): 53665 (WebCore::AnimationController::addNodeChangeToDispatch): 53666 * page/animation/AnimationController.h: 53667 * page/animation/CompositeAnimation.cpp: 53668 (WebCore::CompositeAnimationPrivate::updateTransitions): 53669 * rendering/style/RenderStyle.cpp: 53670 (WebCore::RenderStyle::adjustAnimations): 53671 (WebCore::RenderStyle::adjustTransitions): 53672 53673 2009-01-16 Chris Fleizach <cfleizach (a] apple.com> 53674 53675 Reviewed by Darin Adler. 53676 53677 Bug 23385: crash at com.apple.WebCore WebCore::HTMLAnchorElement::isKeyboardFocusable 53678 https://bugs.webkit.org/show_bug.cgi?id=23385 53679 53680 Option-tabbing through the page mentioned in the bug causes a crash 53681 53682 Test: fast/events/tab-crash-with-image-map.html 53683 53684 * html/HTMLAnchorElement.cpp: 53685 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 53686 53687 2009-01-16 Thiago Macieira <thiago.macieira (a] nokia.com> 53688 53689 Reviewed by Simon Hausmann. 53690 53691 [Qt] Fixes QString and 8-bit mix fixes. 53692 53693 Details: Make sure we use QLatin1String where appropriate (and don't 53694 use QString when not necessary) 53695 53696 * platform/graphics/qt/ImageDecoderQt.cpp: 53697 (WebCore::ImageDecoderQt::create): 53698 * platform/graphics/qt/SimpleFontDataQt.cpp: 53699 (WebCore::SimpleFontData::platformInit): 53700 * platform/qt/FileSystemQt.cpp: 53701 (WebCore::openTemporaryFile): 53702 * platform/qt/LoggingQt.cpp: 53703 (WebCore::InitializeLoggingChannelsIfNecessary): 53704 * platform/qt/RenderThemeQt.cpp: 53705 (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): 53706 * plugins/qt/PluginDataQt.cpp: 53707 (WebCore::PluginData::initPlugins): 53708 53709 2009-01-16 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 53710 53711 Reviewed by Adam Roben. 53712 53713 https://bugs.webkit.org/show_bug.cgi?id=22452 53714 53715 When plugins are disabled, plugin data should not be available for 53716 the page. This ensures that navigator.plugins would not see the 53717 additional MIME types supported by the plugins. 53718 53719 * page/Page.cpp: 53720 (WebCore::Page::pluginData): 53721 * loader/FrameLoader.cpp: 53722 (WebCore::FrameLoader::shouldUsePlugin): 53723 * rendering/RenderPartObject.cpp: 53724 (WebCore::RenderPartObject::updateWidget): 53725 53726 2009-01-15 Chris Marrin <cmarrin (a] apple.com> 53727 53728 Reviewed by Sam Weinig. 53729 53730 Got rid of .idl file in Resources for bug https://bugs.webkit.org/show_bug.cgi?id=21421. 53731 Also fixed the test case to work on ppc. 53732 53733 * WebCore.xcodeproj/project.pbxproj: 53734 53735 2009-01-16 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 53736 53737 Another attempt at fixing the Qt build. 53738 53739 * bridge/qt/qt_instance.cpp: 53740 (JSC::Bindings::QtInstance::getInstance): 53741 53742 2009-01-16 David Hyatt <hyatt (a] apple.com> 53743 53744 Fix for 1.85% PLT regression. Since asking if a frame is "complete" actually aggressively decodes 53745 the frame, we add an optimization when advancing animations. If we have received all of the animated 53746 image's data, then obviously we can go ahead and advance safely. This prevents the first draw of an image 53747 from decoding two frames' worth of data in the case where all of the image's data has been received. 53748 53749 While this fixes the cached case, there could in fact be a regression on the uncached PLT from this change 53750 as well. It's not immediately clear how that regression would be fixed, though, and it would likely be 53751 a much smaller percentage of that overall uncached time. 53752 53753 Reviewed by Dan Bernstein 53754 53755 * platform/graphics/BitmapImage.cpp: 53756 (WebCore::BitmapImage::startAnimation): 53757 53758 2009-01-15 Alexey Proskuryakov <ap (a] webkit.org> 53759 53760 Reviewed by Anders Carlsson. 53761 53762 https://bugs.webkit.org/show_bug.cgi?id=23349 53763 Don't store obsolete caches in disk storage 53764 53765 * loader/ResourceLoader.cpp: 53766 (WebCore::ResourceLoader::ResourceLoader): 53767 (WebCore::ResourceLoader::load): 53768 (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache): 53769 * loader/ResourceLoader.h: 53770 Don't maintain m_wasLoadedFromApplicationCache, which was never used. 53771 53772 * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::addResource): 53773 Assert that only implicit and dynamic resources can be added after the cache has been fully 53774 loaded and stored to disk database. 53775 53776 * loader/appcache/ApplicationCacheGroup.cpp: 53777 (WebCore::ApplicationCacheGroup::cacheDestroyed): Don't remove non-newest caches from disk 53778 database, as this is now done whenever the cache becomes obsolete. 53779 (WebCore::ApplicationCacheGroup::setNewestCache): Remove an obsolete cache from disk storage. 53780 53781 * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::cacheGroupDestroyed): 53782 A cache group that has never been saved should not be remembered in m_cacheHostSet. Changed 53783 the check to no longer rely on savedNewestCachePointer. 53784 53785 2009-01-15 Dimitri Dupuis-Latour <dupuislatour (a] apple.com> 53786 53787 <rdar://problem/5870656> selectorText and cssText are clipped for :nth-child() and :nth-of-type(); 53788 53789 Reviewed by Timothy Hatcher. 53790 53791 * css/CSSSelector.cpp: 53792 (WebCore::CSSSelector::selectorText): 53793 53794 2009-01-15 Justin Garcia <justin.garcia (a] apple.com> 53795 53796 Reviewed by Oliver Hunt. 53797 53798 <rdar://problem/6444148> Styling a selection that ends in a line break can sometimes style what's after the break 53799 53800 If the range to style ended at [node, 0] or inside node (and if for some reason the node didn't get split), 53801 applyInlineStyle would style node. 53802 53803 * editing/ApplyStyleCommand.cpp: 53804 (WebCore::ApplyStyleCommand::applyInlineStyle): Rename pastLast to pastEndNode, since it doesn't come from 53805 Range::pastLastNode() anymore. pastEndNode is the node after the last one that is fully selected, since 53806 the work done in the loop that follows should only be performed on fully selected nodes. 53807 * editing/InsertLineBreakCommand.cpp: 53808 (WebCore::InsertLineBreakCommand::doApply): Explicitly handle insertion into containers and after non-text nodes. 53809 Those were handled accidently before. 53810 * editing/htmlediting.cpp: 53811 (WebCore::caretMaxOffset): In various places we call this with a container and expect to be given the number 53812 of children in that container, so I changed it to match that. RenderBR and RenderObject::caretMaxOffset() should 53813 also be eliminated since maxDeepOffset handles non-text nodes. 53814 53815 2009-01-15 Anders Carlsson <andersca (a] apple.com> 53816 53817 Reviewed by Geoffrey Garen. 53818 53819 Get rid of the dreaded BindingLanguage once and for all. Also get rid of Instance::getInstance. 53820 53821 * bridge/c/c_instance.h: 53822 * bridge/jni/jni_instance.h: 53823 * bridge/objc/objc_instance.h: 53824 * bridge/qt/qt_instance.h: 53825 * bridge/runtime.cpp: 53826 * bridge/runtime.h: 53827 * bridge/runtime_object.h: 53828 53829 2009-01-15 David Hyatt <hyatt (a] apple.com> 53830 53831 Eliminate an extra virtual function call that occurs for every single RenderText by moving the SVG-specific 53832 code that was placed into RenderText::styleDidChange into RenderSVGInlineText::styleDidChange. 53833 53834 Reviewed by Oliver Hunt 53835 53836 * rendering/RenderSVGInlineText.cpp: 53837 (WebCore::RenderSVGInlineText::styleDidChange): 53838 * rendering/RenderSVGInlineText.h: 53839 * rendering/RenderText.cpp: 53840 (WebCore::RenderText::styleDidChange): 53841 53842 2009-01-15 Anders Carlsson <andersca (a] apple.com> 53843 53844 Another attempt at fixing the Qt build. 53845 53846 * bridge/qt/qt_instance.cpp: 53847 (JSC::Bindings::QtInstance::getOwnPropertySlot): 53848 (JSC::Bindings::QtInstance::put): 53849 * bridge/qt/qt_instance.h: 53850 * bridge/runtime.h: 53851 (JSC::Bindings::Instance::getOwnPropertySlot): 53852 (JSC::Bindings::Instance::put): 53853 * bridge/runtime_object.cpp: 53854 (JSC::RuntimeObjectImp::getOwnPropertySlot): 53855 (JSC::RuntimeObjectImp::put): 53856 53857 2009-01-15 Anders Carlsson <andersca (a] apple.com> 53858 53859 Reviewed by Darin Adler. 53860 53861 Add QtInstance::getInstance and start using it. 53862 53863 * bridge/qt/qt_instance.cpp: 53864 (JSC::Bindings::QtRuntimeObjectImp::mark): 53865 (JSC::Bindings::QtRuntimeObjectImp::classInfo): 53866 (JSC::Bindings::): 53867 (JSC::Bindings::QtInstance::getInstance): 53868 * bridge/qt/qt_instance.h: 53869 * bridge/qt/qt_runtime.cpp: 53870 (JSC::Bindings::convertValueToQVariant): 53871 53872 2009-01-15 Anders Carlsson <andersca (a] apple.com> 53873 53874 Reviewed by Sam Weinig. 53875 53876 Add the ability for Instance objects to override getOwnPropertySlot/put for runtime objects. 53877 53878 * bridge/qt/qt_instance.cpp: 53879 (JSC::Bindings::QtInstance::getOwnPropertySlot): 53880 (JSC::Bindings::QtInstance::put): 53881 * bridge/qt/qt_instance.h: 53882 * bridge/runtime.h: 53883 (JSC::Bindings::Instance::getOwnPropertySlot): 53884 (JSC::Bindings::Instance::put): 53885 * bridge/runtime_object.cpp: 53886 (JSC::RuntimeObjectImp::getOwnPropertySlot): 53887 (JSC::RuntimeObjectImp::put): 53888 53889 2009-01-15 Anders Carlsson <andersca (a] apple.com> 53890 53891 Fix the QT build. 53892 53893 * bridge/qt/qt_instance.cpp: 53894 (JSC::Bindings::QtInstance::createRuntimeObject): 53895 * bridge/qt/qt_instance.h: 53896 53897 2009-01-15 David Hyatt <hyatt (a] apple.com> 53898 53899 Fix for <rdar://problem/6500278> REGRESSION: 3.5% of samples on iBench in WebCore::Frame::setZoomFactor 53900 53901 setZoomFactor was supposed to bail if both the zoom factor and mode were the same. The mode check was 53902 buggy and doing the wrong thing. 53903 53904 Reviewed by Darin Adler 53905 53906 * page/Frame.cpp: 53907 (WebCore::Frame::setZoomFactor): 53908 53909 2009-01-15 Anders Carlsson <andersca (a] apple.com> 53910 53911 Reviewed by Geoffrey Garen. 53912 53913 Make Instance::createRuntimeObject a virtual function and override it for QtInstance. 53914 53915 * bindings/js/JSPluginElementFunctions.cpp: 53916 (WebCore::getRuntimeObject): 53917 * bridge/c/c_utility.cpp: 53918 (JSC::Bindings::convertNPVariantToValue): 53919 * bridge/jni/jni_instance.cpp: 53920 (JavaInstance::invokeMethod): 53921 * bridge/jni/jni_jsobject.mm: 53922 (JavaJSObject::convertJObjectToValue): 53923 * bridge/jni/jni_runtime.cpp: 53924 (JavaField::valueFromInstance): 53925 (JavaArray::valueAt): 53926 * bridge/objc/objc_utility.mm: 53927 (JSC::Bindings::convertObjcValueToValue): 53928 * bridge/qt/qt_instance.cpp: 53929 (JSC::Bindings::QtInstance::getRuntimeObject): 53930 (JSC::Bindings::QtInstance::createRuntimeObject): 53931 * bridge/qt/qt_instance.h: 53932 * bridge/qt/qt_runtime.cpp: 53933 (JSC::Bindings::convertQVariantToValue): 53934 (JSC::Bindings::QtConnectionObject::execute): 53935 * bridge/runtime.cpp: 53936 (JSC::Bindings::Instance::createRuntimeObject): 53937 * bridge/runtime.h: 53938 53939 2009-01-15 Dimitri Glazkov <dglazkov (a] chromium.org> 53940 53941 Reviewed by Darin Adler. 53942 53943 https://bugs.webkit.org/show_bug.cgi?id=23354 53944 Fix up graphics/chromium files to account for Uniscribe style scrubbing. 53945 53946 * platform/graphics/chromium/FontChromiumWin.cpp: 53947 (WebCore::windowsCanHandleTextDrawing): 53948 (WebCore::Font::selectionRectForComplexText): 53949 (WebCore::Font::drawComplexText): 53950 (WebCore::Font::floatWidthForComplexText): 53951 (WebCore::Font::offsetForPositionForComplexText): 53952 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: 53953 (WebCore::fillNonBMPGlyphs): 53954 53955 2009-01-15 David Levin <levin (a] chromium.org> 53956 53957 Reviewed by Darin Adler. 53958 53959 https://bugs.webkit.org/show_bug.cgi?id=23333 53960 Adjust due to a name change that happened in a WebKit. 53961 53962 * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: 53963 (WebCore::SVGPaintServerPattern::setup): 53964 53965 2009-01-15 Dimitri Glazkov <dglazkov (a] chromium.org> 53966 53967 Reviewed by Eric Seidel. 53968 53969 https://bugs.webkit.org/show_bug.cgi?id=23340 53970 Add remaining bits of graphics/chromium. 53971 53972 * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Added. 53973 (WebCore::scaleEmToUnits): 53974 (WebCore::SimpleFontData::platformInit): 53975 (WebCore::SimpleFontData::platformDestroy): 53976 (WebCore::SimpleFontData::smallCapsFontData): 53977 (WebCore::SimpleFontData::containsCharacters): 53978 (WebCore::SimpleFontData::determinePitch): 53979 (WebCore::SimpleFontData::platformWidthForGlyph): 53980 * platform/graphics/chromium/SimpleFontDataLinux.cpp: Added. 53981 (WebCore::SimpleFontData::platformInit): 53982 (WebCore::SimpleFontData::platformDestroy): 53983 (WebCore::SimpleFontData::smallCapsFontData): 53984 (WebCore::SimpleFontData::containsCharacters): 53985 (WebCore::SimpleFontData::determinePitch): 53986 (WebCore::SimpleFontData::platformWidthForGlyph): 53987 * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Added. 53988 (WebCore::ThemeHelperWin::ThemeHelperWin): 53989 (WebCore::ThemeHelperWin::~ThemeHelperWin): 53990 * platform/graphics/chromium/ThemeHelperChromiumWin.h: Added. 53991 (WebCore::ThemeHelperWin::): 53992 (WebCore::ThemeHelperWin::context): 53993 (WebCore::ThemeHelperWin::rect): 53994 * platform/graphics/chromium/UniscribeHelper.cpp: Added. 53995 (WebCore::treatAsSpace): 53996 (WebCore::containsMissingGlyphs): 53997 (WebCore::setLogFontAndStyle): 53998 (WebCore::UniscribeHelper::UniscribeHelper): 53999 (WebCore::UniscribeHelper::~UniscribeHelper): 54000 (WebCore::UniscribeHelper::initWithOptionalLengthProtection): 54001 (WebCore::UniscribeHelper::width): 54002 (WebCore::UniscribeHelper::justify): 54003 (WebCore::UniscribeHelper::characterToX): 54004 (WebCore::UniscribeHelper::xToCharacter): 54005 (WebCore::UniscribeHelper::draw): 54006 (WebCore::UniscribeHelper::firstGlyphForCharacter): 54007 (WebCore::UniscribeHelper::fillRuns): 54008 (WebCore::UniscribeHelper::shape): 54009 (WebCore::UniscribeHelper::fillShapes): 54010 (WebCore::UniscribeHelper::fillScreenOrder): 54011 (WebCore::UniscribeHelper::adjustSpaceAdvances): 54012 (WebCore::UniscribeHelper::applySpacing): 54013 (WebCore::UniscribeHelper::advanceForItem): 54014 * platform/graphics/chromium/UniscribeHelper.h: Added. 54015 (WebCore::UniscribeHelper::directionalOverride): 54016 (WebCore::UniscribeHelper::setDirectionalOverride): 54017 (WebCore::UniscribeHelper::inhibitLigate): 54018 (WebCore::UniscribeHelper::setInhibitLigate): 54019 (WebCore::UniscribeHelper::letterSpacing): 54020 (WebCore::UniscribeHelper::setLetterSpacing): 54021 (WebCore::UniscribeHelper::spaceWidth): 54022 (WebCore::UniscribeHelper::setSpaceWidth): 54023 (WebCore::UniscribeHelper::wordSpacing): 54024 (WebCore::UniscribeHelper::setWordSpacing): 54025 (WebCore::UniscribeHelper::setAscent): 54026 (WebCore::UniscribeHelper::init): 54027 (WebCore::UniscribeHelper::tryToPreloadFont): 54028 (WebCore::UniscribeHelper::Shaping::Shaping): 54029 (WebCore::UniscribeHelper::Shaping::glyphLength): 54030 (WebCore::UniscribeHelper::Shaping::charLength): 54031 (WebCore::UniscribeHelper::Shaping::effectiveAdvances): 54032 (WebCore::UniscribeHelper::nextWinFontData): 54033 (WebCore::UniscribeHelper::resetFontIndex): 54034 * platform/graphics/chromium/UniscribeHelperTextRun.cpp: Added. 54035 (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): 54036 (WebCore::UniscribeHelperTextRun::tryToPreloadFont): 54037 (WebCore::UniscribeHelperTextRun::nextWinFontData): 54038 (WebCore::UniscribeHelperTextRun::resetFontIndex): 54039 * platform/graphics/chromium/UniscribeHelperTextRun.h: Added. 54040 54041 2009-01-15 Chris Marrin <cmarrin (a] apple.com> 54042 54043 Reviewed by Dan Bernstein. 54044 54045 Fixed Windows project file after https://bugs.webkit.org/show_bug.cgi?id=21421 54046 54047 * WebCore.vcproj/WebCore.vcproj: 54048 54049 2009-01-15 Aaron Boodman <aa (a] chromium.org> 54050 54051 Reviewed by Adam Roben. 54052 54053 https://bugs.webkit.org/show_bug.cgi?id=15279 54054 Right clicking over text (or multiple spaces) auto selects the word 54055 (or multiple spaces) under it, which is not a desirable effect for some 54056 platforms. 54057 54058 * page/EventHandler.cpp: 54059 (WebCore::EventHandler::sendContextMenuEvent): 54060 Don't select words on right-click on Chromium. 54061 54062 2009-01-15 Darin Fisher <darin (a] chromium.org> 54063 54064 Reviewed by Eric Seidel. 54065 54066 https://bugs.webkit.org/show_bug.cgi?id=23345 54067 SharedBuffer.h should include wtf/OwnPtr.h 54068 54069 * platform/SharedBuffer.h: 54070 54071 2009-01-14 David Kilzer <ddkilzer (a] apple.com> 54072 54073 Bug 23338: Make "Streamline Inspector Source" build script check for a directory before using it 54074 54075 <https://bugs.webkit.org/show_bug.cgi?id=23338> 54076 54077 Reviewed by Timothy Hatcher. 54078 54079 * WebCore.xcodeproj/project.pbxproj: Check to see if 54080 "${TARGET_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/inspector" 54081 exists before trying to change directories into it and then 54082 deleting, modifying and adding files to it. 54083 54084 2009-01-14 miggilin <mr.diggilin (a] gmail.com> 54085 54086 Reviewed by Kevin Ollivier. 54087 54088 Fixing wx compilation for wx 2.9/trunk. 54089 54090 * platform/graphics/wx/FontPlatformData.h: 54091 (WebCore::FontPlatformData::operator==): 54092 (WebCore::FontPlatformData::computeHash): 54093 * platform/graphics/wx/GraphicsContextWx.cpp: 54094 (WebCore::GraphicsContext::clip): 54095 (WebCore::GraphicsContext::setCompositeOperation): 54096 * platform/graphics/wx/ImageSourceWx.cpp: 54097 (WebCore::ImageSource::createFrameAtIndex): 54098 * platform/graphics/wx/PathWx.cpp: 54099 (WebCore::Path::contains): 54100 * platform/wx/RenderThemeWx.cpp: 54101 (WebCore::RenderThemeWx::paintButton): 54102 (WebCore::RenderThemeWx::paintTextField): 54103 (WebCore::RenderThemeWx::paintMenuList): 54104 * platform/wx/wxcode/gtk/non-kerned-drawing.cpp: 54105 54106 2009-01-14 Kevin Ollivier <kevino (a] theolliviers.com> 54107 54108 wx build fix. Adding WebKitCSSMatrix. 54109 54110 * WebCoreSources.bkl: 54111 54112 2009-01-14 Adam Treat <adam.treat (a] torchmobile.com> 54113 54114 Prospective build fix for Qt following r39922. 54115 54116 * WebCore.pro: 54117 54118 2009-01-14 Darin Adler <darin (a] apple.com> 54119 54120 Fix debug build. 54121 54122 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: 54123 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 54124 Use ASSERT_UNUSED. 54125 54126 2009-01-14 Adele Peterson <adele (a] apple.com> 54127 54128 Reviewed by Darin Adler. 54129 54130 Fix for https://bugs.webkit.org/show_bug.cgi?id=23335 54131 <rdar://problem/6247650> Update <input type="search"> for RenderThemeWin 54132 54133 No new tests added. In the future, we need to update DumpRenderTree to be able to run with different RenderThemes and 54134 we'll need a separate set of results for different themes. 54135 54136 * css/themeWin.css: Renable search fields. Added new rules for sub-element placement. 54137 54138 * rendering/RenderTextControlSingleLine.cpp: 54139 (WebCore::RenderTextControlSingleLine::textBlockWidth): Consider margin set on the sub-elements when computing the 54140 desired width for the text block. 54141 54142 * rendering/RenderThemeWin.cpp: 54143 (WebCore::RenderThemeWin::supportsFocus): Treat SearchFieldPart the same as TextFieldPart. 54144 (WebCore::RenderThemeWin::determineState): ditto. 54145 (WebCore::RenderThemeWin::getClassicThemeData): ditto. 54146 (WebCore::RenderThemeWin::getThemeData): ditto. 54147 (WebCore::RenderThemeWin::paintSearchFieldCancelButton): Draw a scaled, vertically centered, version of the new artwork. 54148 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): ditto. 54149 (WebCore::RenderThemeWin::paintSearchFieldResultsButton): ditto. 54150 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle): Set the scaled width and height. 54151 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle): ditto. 54152 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle): ditto. 54153 54154 2009-01-14 Alp Toker <alp (a] nuanti.com> 54155 54156 GTK+ build fix following r39922. 54157 Add WebKitCSSMatrix to the build system. 54158 54159 * GNUmakefile.am: 54160 54161 2009-01-14 Chris Marrin <cmarrin (a] apple.com> 54162 54163 Reviewed by Sam Weinig. 54164 54165 Implemented 2D WebKitCSSMatrix 54166 https://bugs.webkit.org/show_bug.cgi?id=21421 54167 54168 Test: transforms/2d/cssmatrix-interface.xhtml 54169 54170 * DerivedSources.make: 54171 * WebCore.xcodeproj/project.pbxproj: 54172 * bindings/js/JSDOMWindowBase.cpp: 54173 (jsDOMWindowBaseWebKitCSSMatrix): 54174 (setJSDOMWindowBaseWebKitCSSMatrix): 54175 * bindings/js/JSWebKitCSSMatrixConstructor.cpp: Added. 54176 (WebCore::): 54177 (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): 54178 (WebCore::constructWebKitCSSMatrix): 54179 (WebCore::JSWebKitCSSMatrixConstructor::getConstructData): 54180 * bindings/js/JSWebKitCSSMatrixConstructor.h: Added. 54181 (WebCore::JSWebKitCSSMatrixConstructor::classInfo): 54182 * bindings/objc/DOMInternal.h: 54183 * css/WebKitCSSMatrix.cpp: Added. 54184 (WebCore::WebKitCSSMatrix::WebKitCSSMatrix): 54185 (WebCore::WebKitCSSMatrix::~WebKitCSSMatrix): 54186 (WebCore::WebKitCSSMatrix::setMatrixValue): 54187 (WebCore::WebKitCSSMatrix::multiply): 54188 (WebCore::WebKitCSSMatrix::inverse): 54189 (WebCore::WebKitCSSMatrix::translate): 54190 (WebCore::WebKitCSSMatrix::scale): 54191 (WebCore::WebKitCSSMatrix::rotate): 54192 (WebCore::WebKitCSSMatrix::toString): 54193 * css/WebKitCSSMatrix.h: Added. 54194 (WebCore::WebKitCSSMatrix::create): 54195 (WebCore::WebKitCSSMatrix::a): 54196 (WebCore::WebKitCSSMatrix::b): 54197 (WebCore::WebKitCSSMatrix::c): 54198 (WebCore::WebKitCSSMatrix::d): 54199 (WebCore::WebKitCSSMatrix::e): 54200 (WebCore::WebKitCSSMatrix::f): 54201 (WebCore::WebKitCSSMatrix::setA): 54202 (WebCore::WebKitCSSMatrix::setB): 54203 (WebCore::WebKitCSSMatrix::setC): 54204 (WebCore::WebKitCSSMatrix::setD): 54205 (WebCore::WebKitCSSMatrix::setE): 54206 (WebCore::WebKitCSSMatrix::setF): 54207 (WebCore::WebKitCSSMatrix::transform): 54208 * css/WebKitCSSMatrix.idl: Added. 54209 54210 2009-01-14 Michael Moss <mmoss (a] chromium.org> 54211 54212 Reviewed by Eric Seidel. 54213 54214 Workaround a skia limitation on repeated patterns, and remove extra 54215 transformations applied to pattern. 54216 https://bugs.webkit.org/show_bug.cgi?id=23332 54217 54218 Fixes: 54219 LayoutTests/fast/canvas/patternfill-repeat.html 54220 LayoutTests/svg/W3C-SVG-1.1/pservers-grad-06-b.svg 54221 54222 * platform/graphics/skia/PatternSkia.cpp: 54223 (WebCore::Pattern::createPlatformPattern): 54224 54225 2009-01-14 Mark Rowe <mrowe (a] apple.com> 54226 54227 Fix https://bugs.webkit.org/show_bug.cgi?id=23334 54228 Bug 23334: Compile failure in XMLTokenizerLibxml2.cpp 54229 54230 Include wtf/UnusedParam.h to get UNUSED_PARAM. 54231 54232 * dom/XMLTokenizerLibxml2.cpp: 54233 (WebCore::hackAroundLibXMLEntityBug): 54234 54235 2009-01-14 David Levin <levin (a] chromium.org> 54236 54237 Reviewed by Darin Adler. 54238 54239 https://bugs.webkit.org/show_bug.cgi?id=23333 54240 Platform code fixes. These compensate for changes in platform 54241 callbacks from WebKit and minor API tweaks. 54242 54243 I enumerated a few below. 54244 54245 * platform/graphics/chromium/FontCacheChromiumWin.cpp: 54246 fontExists has been gone since r34794. 54247 54248 * platform/graphics/skia/ImageSkia.cpp: 54249 (WebCore::paintSkBitmap): 54250 54251 (WebCore::FrameData::clear): 54252 r39751 changes this api to take and return a bool. 54253 54254 (WebCore::Image::drawPattern): 54255 * platform/graphics/skia/PathSkia.cpp: 54256 (WebCore::Path::apply): 54257 (WebCore::boundingBoxForCurrentStroke): 54258 (WebCore::Path::strokeContains): 54259 * svg/graphics/skia/RenderPathSkia.cpp: Removed due to r39805. 54260 54261 2009-01-14 Jeremy Moskovich <jeremy (a] chromium.org> 54262 54263 Reviewed by Eric Seidel. 54264 54265 <https://bugs.webkit.org/show_bug.cgi?id=16829> 54266 Implement NPN_SetException() 54267 54268 This mirrors the implementation in the obj-c bindings. 54269 54270 Test: plugins/netscape-throw-exception.html 54271 54272 * bridge/NP_jsobject.cpp: 54273 (_NPN_SetException): 54274 * bridge/c/c_instance.cpp: 54275 (JSC::Bindings::getExceptionString): 54276 (JSC::Bindings::CInstance::setGlobalException): 54277 (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): 54278 (JSC::Bindings::CInstance::invokeMethod): 54279 (JSC::Bindings::CInstance::invokeDefaultMethod): 54280 (JSC::Bindings::CInstance::invokeConstruct): 54281 (JSC::Bindings::CInstance::getPropertyNames): 54282 * bridge/c/c_instance.h: 54283 54284 2009-01-14 Pierre-Olivier Latour <pol (a] apple.com> 54285 54286 Fixed build warning when LIBXML_VERSION >= 20627. 54287 54288 * dom/XMLTokenizerLibxml2.cpp: 54289 (WebCore::hackAroundLibXMLEntityBug): 54290 54291 2009-01-14 Alexey Proskuryakov <ap (a] webkit.org> 54292 54293 Reviewed by Anders Carlsson. 54294 54295 https://bugs.webkit.org/show_bug.cgi?id=23326 54296 Resources are never deleted from application cache disk database 54297 54298 * loader/appcache/ApplicationCacheStorage.cpp: 54299 (WebCore::ApplicationCacheStorage::openDatabase): Create a trigger that deletes resources when 54300 a cache is deleted. Note that this change doesn't require bumping schema version. We should 54301 consider switching to foreign keys and cascade delete instead of triggers in the future. 54302 (WebCore::ApplicationCacheStorage::remove): Added a comment explaining why it's sufficient 54303 to only remove the cache itself. 54304 (WebCore::ApplicationCacheStorage::empty): Don't delete from CacheResources, now that this 54305 is done automatically when a cache is deleted. 54306 54307 2009-01-14 David Kilzer <ddkilzer (a] apple.com> 54308 54309 Bug 22795: favicons should be saved to webarchives 54310 54311 <https://bugs.webkit.org/show_bug.cgi?id=22795> 54312 54313 Reviewed by Darin Adler. 54314 54315 Test: webarchive/test-link-rel-icon.html 54316 54317 * html/HTMLLinkElement.cpp: 54318 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Do not add 54319 favicon URLs to the list since no ArchiveResource or CachedResource 54320 is ever created for them. 54321 * loader/archive/cf/LegacyWebArchive.cpp: 54322 (WebCore::LegacyWebArchive::create): Handle favicons as a special 54323 case for all main resources. 54324 * loader/icon/IconDatabase.cpp: 54325 (WebCore::IconDatabase::close): Actually close the SQLite database 54326 so that isOpen() returns false when called. Added an ASSERT() for 54327 good measure. 54328 54329 2009-01-14 Dimitri Glazkov <dglazkov (a] chromium.org> 54330 54331 Reviewed by Eric Seidel. 54332 54333 https://bugs.webkit.org/show_bug.cgi?id=23321 54334 Upstream more bits of graphics/chromium. 54335 54336 * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: Added. 54337 (WebCore::FontPlatformData::FontPlatformData): 54338 (WebCore::FontPlatformData::operator=): 54339 (WebCore::FontPlatformData::~FontPlatformData): 54340 (WebCore::FontPlatformData::RefCountedHFONT::~RefCountedHFONT): 54341 (WebCore::FontPlatformData::hashTableDeletedFontValue): 54342 (WebCore::FontPlatformData::scriptFontProperties): 54343 * platform/graphics/chromium/FontPlatformDataChromiumWin.h: Added. 54344 (WebCore::FontPlatformData::isHashTableDeletedValue): 54345 (WebCore::FontPlatformData::hfont): 54346 (WebCore::FontPlatformData::size): 54347 (WebCore::FontPlatformData::hash): 54348 (WebCore::FontPlatformData::operator==): 54349 (WebCore::FontPlatformData::scriptCache): 54350 (WebCore::FontPlatformData::RefCountedHFONT::create): 54351 (WebCore::FontPlatformData::RefCountedHFONT::hfont): 54352 (WebCore::FontPlatformData::RefCountedHFONT::hash): 54353 (WebCore::FontPlatformData::RefCountedHFONT::operator==): 54354 (WebCore::FontPlatformData::RefCountedHFONT::RefCountedHFONT): 54355 * platform/graphics/chromium/FontPlatformDataLinux.cpp: Added. 54356 (WebCore::FontPlatformData::FontPlatformData): 54357 (WebCore::FontPlatformData::~FontPlatformData): 54358 (WebCore::FontPlatformData::operator=): 54359 (WebCore::FontPlatformData::setupPaint): 54360 (WebCore::FontPlatformData::operator==): 54361 (WebCore::FontPlatformData::hash): 54362 (WebCore::FontPlatformData::isFixedPitch): 54363 * platform/graphics/chromium/FontPlatformDataLinux.h: Added. 54364 (WebCore::FontPlatformData::FontPlatformData): 54365 (WebCore::FontPlatformData::size): 54366 (WebCore::FontPlatformData::isHashTableDeletedValue): 54367 (WebCore::FontPlatformData::hashTableDeletedFontValue): 54368 * platform/graphics/chromium/FontUtilsChromiumWin.cpp: Added. 54369 (WebCore::): 54370 (WebCore::FontMap::getAscent): 54371 (WebCore::FontMap::FontData::FontData): 54372 (WebCore::getFontFamilyForScript): 54373 (WebCore::getFallbackFamily): 54374 (WebCore::getDerivedFontData): 54375 (WebCore::getStyleFromLogfont): 54376 * platform/graphics/chromium/FontUtilsChromiumWin.h: Added. 54377 (WebCore::): 54378 54379 2009-01-14 Dimitri Glazkov <dglazkov (a] chromium.org> 54380 54381 Reviewed by Eric Seidel. 54382 54383 https://bugs.webkit.org/show_bug.cgi?id=23325 54384 Upstream even more graphics/chromium bits. 54385 54386 * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp: Added. 54387 (WebCore::fillEmptyGlyphs): 54388 (WebCore::initSpaceGlyph): 54389 (WebCore::fillBMPGlyphs): 54390 (WebCore::fillNonBMPGlyphs): 54391 (WebCore::GlyphPage::fill): 54392 * platform/graphics/chromium/GlyphPageTreeNodeLinux.cpp: Added. 54393 (WebCore::GlyphPage::fill): 54394 * platform/graphics/chromium/IconChromiumLinux.cpp: Added. 54395 (WebCore::Icon::Icon): 54396 (WebCore::Icon::~Icon): 54397 (WebCore::Icon::createIconForFile): 54398 (WebCore::Icon::createIconForFiles): 54399 (WebCore::Icon::paint): 54400 * platform/graphics/chromium/IconChromiumMac.cpp: Added. 54401 (WebCore::Icon::createIconForFile): 54402 (WebCore::Icon::createIconForFiles): 54403 (WebCore::Icon::~Icon): 54404 (WebCore::Icon::paint): 54405 * platform/graphics/chromium/IconChromiumWin.cpp: Added. 54406 (WebCore::Icon::Icon): 54407 (WebCore::Icon::~Icon): 54408 (WebCore::Icon::createIconForFile): 54409 (WebCore::Icon::createIconForFiles): 54410 (WebCore::Icon::paint): 54411 * platform/graphics/chromium/ImageBufferData.h: Added. 54412 * platform/graphics/chromium/ImageChromiumMac.mm: Added. 54413 (WebCore::Image::loadPlatformResource): 54414 (WebCore::BitmapImage::initPlatformData): 54415 (WebCore::BitmapImage::invalidatePlatformData): 54416 * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Added. 54417 * platform/graphics/chromium/PlatformIcon.h: Added. 54418 54419 2009-01-14 Darin Fisher <darin (a] chromium.org> 54420 54421 Reviewed by Eric Seidel. 54422 54423 https://bugs.webkit.org/show_bug.cgi?id=23328 54424 Upstream remaining files from platform/chromium/ 54425 54426 * platform/chromium/CursorChromium.cpp: 54427 (WebCore::pointerCursor): 54428 (WebCore::crossCursor): 54429 (WebCore::handCursor): 54430 (WebCore::iBeamCursor): 54431 (WebCore::waitCursor): 54432 (WebCore::helpCursor): 54433 (WebCore::eastResizeCursor): 54434 (WebCore::northResizeCursor): 54435 (WebCore::northEastResizeCursor): 54436 (WebCore::northWestResizeCursor): 54437 (WebCore::southResizeCursor): 54438 (WebCore::southEastResizeCursor): 54439 (WebCore::southWestResizeCursor): 54440 (WebCore::westResizeCursor): 54441 (WebCore::northSouthResizeCursor): 54442 (WebCore::eastWestResizeCursor): 54443 (WebCore::northEastSouthWestResizeCursor): 54444 (WebCore::northWestSouthEastResizeCursor): 54445 (WebCore::columnResizeCursor): 54446 (WebCore::rowResizeCursor): 54447 (WebCore::middlePanningCursor): 54448 (WebCore::eastPanningCursor): 54449 (WebCore::northPanningCursor): 54450 (WebCore::northEastPanningCursor): 54451 (WebCore::northWestPanningCursor): 54452 (WebCore::southPanningCursor): 54453 (WebCore::southEastPanningCursor): 54454 (WebCore::southWestPanningCursor): 54455 (WebCore::westPanningCursor): 54456 (WebCore::moveCursor): 54457 (WebCore::verticalTextCursor): 54458 (WebCore::cellCursor): 54459 (WebCore::contextMenuCursor): 54460 (WebCore::aliasCursor): 54461 (WebCore::progressCursor): 54462 (WebCore::noDropCursor): 54463 (WebCore::copyCursor): 54464 (WebCore::noneCursor): 54465 (WebCore::notAllowedCursor): 54466 (WebCore::zoomInCursor): 54467 (WebCore::zoomOutCursor): 54468 * platform/chromium/DragDataRef.h: Added. 54469 * platform/chromium/DragImageChromium.cpp: Added. 54470 (WebCore::dragImageSize): 54471 (WebCore::deleteDragImage): 54472 (WebCore::scaleDragImage): 54473 (WebCore::dissolveDragImageToFraction): 54474 (WebCore::createDragImageFromImage): 54475 (WebCore::createDragImageIconForCachedImage): 54476 * platform/chromium/DragImageRef.h: 54477 * platform/chromium/KeyCodeConversion.h: Added. 54478 * platform/chromium/KeyCodeConversionGtk.cpp: Added. 54479 (WebCore::windowsKeyCodeForKeyEvent): 54480 * platform/chromium/KeyboardCodes.h: Added. 54481 * platform/chromium/KeyboardCodesPosix.h: Added. 54482 (WebCore::): 54483 * platform/chromium/KeyboardCodesWin.h: Added. 54484 (WebCore::): 54485 * platform/chromium/Language.cpp: Added. 54486 (WebCore::defaultLanguage): 54487 * platform/chromium/LinkHashChromium.cpp: Added. 54488 (WebCore::visitedLinkHash): 54489 * platform/chromium/MimeTypeRegistryChromium.cpp: Added. 54490 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 54491 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 54492 (WebCore::MIMETypeRegistry::getMIMETypeForPath): 54493 (WebCore::MIMETypeRegistry::isSupportedImageMIMEType): 54494 (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType): 54495 (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): 54496 (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType): 54497 (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType): 54498 (WebCore::MIMETypeRegistry::isSupportedMediaMIMEType): 54499 (WebCore::MIMETypeRegistry::isJavaAppletMIMEType): 54500 (WebCore::dummyHashSet): 54501 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypes): 54502 (WebCore::MIMETypeRegistry::getSupportedImageResourceMIMETypes): 54503 (WebCore::MIMETypeRegistry::getSupportedImageMIMETypesForEncoding): 54504 (WebCore::MIMETypeRegistry::getSupportedNonImageMIMETypes): 54505 (WebCore::MIMETypeRegistry::getSupportedMediaMIMETypes): 54506 * platform/chromium/PasteboardChromium.cpp: Added. 54507 (WebCore::Pasteboard::generalPasteboard): 54508 (WebCore::Pasteboard::Pasteboard): 54509 (WebCore::Pasteboard::clear): 54510 (WebCore::Pasteboard::writeSelection): 54511 (WebCore::Pasteboard::writeURL): 54512 (WebCore::Pasteboard::writeImage): 54513 (WebCore::Pasteboard::canSmartReplace): 54514 (WebCore::Pasteboard::plainText): 54515 (WebCore::Pasteboard::documentFragment): 54516 * platform/chromium/PasteboardPrivate.h: 54517 * platform/chromium/PlatformCursor.h: Added. 54518 (WebCore::PlatformCursor::): 54519 (WebCore::PlatformCursor::PlatformCursor): 54520 (WebCore::PlatformCursor::customImage): 54521 (WebCore::PlatformCursor::hotSpot): 54522 (WebCore::PlatformCursor::type): 54523 * platform/chromium/PlatformKeyboardEventChromium.cpp: Added. 54524 (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 54525 (WebCore::PlatformKeyboardEvent::currentCapsLockState): 54526 * platform/chromium/PlatformScreenChromium.cpp: Added. 54527 (WebCore::screenDepth): 54528 (WebCore::screenDepthPerComponent): 54529 (WebCore::screenIsMonochrome): 54530 (WebCore::screenRect): 54531 (WebCore::screenAvailableRect): 54532 * platform/chromium/PlatformWidget.h: 54533 * platform/chromium/PopupMenuChromium.cpp: Added. 54534 (WebCore::PopupListBox::selectedIndex): 54535 (WebCore::PopupListBox::numItems): 54536 (WebCore::PopupListBox::setBaseWidth): 54537 (WebCore::PopupListBox::setTextOnIndexChange): 54538 (WebCore::PopupListBox::setAcceptOnAbandon): 54539 (WebCore::PopupListBox::): 54540 (WebCore::PopupListBox::ListItem::ListItem): 54541 (WebCore::PopupListBox::PopupListBox): 54542 (WebCore::PopupListBox::~PopupListBox): 54543 (WebCore::PopupListBox::disconnectClient): 54544 (WebCore::PopupListBox::scrollToRevealSelection): 54545 (WebCore::constructRelativeMouseEvent): 54546 (WebCore::constructRelativeWheelEvent): 54547 (WebCore::PopupContainer::create): 54548 (WebCore::PopupContainer::PopupContainer): 54549 (WebCore::PopupContainer::~PopupContainer): 54550 (WebCore::PopupContainer::showPopup): 54551 (WebCore::PopupContainer::hidePopup): 54552 (WebCore::PopupContainer::layout): 54553 (WebCore::PopupContainer::handleMouseDownEvent): 54554 (WebCore::PopupContainer::handleMouseMoveEvent): 54555 (WebCore::PopupContainer::handleMouseReleaseEvent): 54556 (WebCore::PopupContainer::handleWheelEvent): 54557 (WebCore::PopupContainer::handleKeyEvent): 54558 (WebCore::PopupContainer::hide): 54559 (WebCore::PopupContainer::paint): 54560 (WebCore::PopupContainer::paintBorder): 54561 (WebCore::PopupContainer::isInterestedInEventForKey): 54562 (WebCore::PopupContainer::show): 54563 (WebCore::PopupContainer::setTextOnIndexChange): 54564 (WebCore::PopupContainer::setAcceptOnAbandon): 54565 (WebCore::PopupContainer::refresh): 54566 (WebCore::PopupListBox::handleMouseDownEvent): 54567 (WebCore::PopupListBox::handleMouseMoveEvent): 54568 (WebCore::PopupListBox::handleMouseReleaseEvent): 54569 (WebCore::PopupListBox::handleWheelEvent): 54570 (WebCore::PopupListBox::isInterestedInEventForKey): 54571 (WebCore::PopupListBox::handleKeyEvent): 54572 (WebCore::PopupListBox::hostWindow): 54573 (WebCore::PopupListBox::invalidateRect): 54574 (WebCore::stripLeadingWhiteSpace): 54575 (WebCore::PopupListBox::typeAheadFind): 54576 (WebCore::PopupListBox::paint): 54577 (WebCore::PopupListBox::paintRow): 54578 (WebCore::PopupListBox::getRowFont): 54579 (WebCore::PopupListBox::abandon): 54580 (WebCore::PopupListBox::pointToRowIndex): 54581 (WebCore::PopupListBox::acceptIndex): 54582 (WebCore::PopupListBox::selectIndex): 54583 (WebCore::PopupListBox::setOriginalIndex): 54584 (WebCore::PopupListBox::getRowHeight): 54585 (WebCore::PopupListBox::getRowBounds): 54586 (WebCore::PopupListBox::invalidateRow): 54587 (WebCore::PopupListBox::scrollToRevealRow): 54588 (WebCore::PopupListBox::isSelectableItem): 54589 (WebCore::PopupListBox::adjustSelectedIndex): 54590 (WebCore::PopupListBox::updateFromElement): 54591 (WebCore::PopupListBox::layout): 54592 (WebCore::PopupListBox::clear): 54593 (WebCore::PopupListBox::isPointInBounds): 54594 (WebCore::PopupMenu::PopupMenu): 54595 (WebCore::PopupMenu::~PopupMenu): 54596 (WebCore::PopupMenu::show): 54597 (WebCore::PopupMenu::hide): 54598 (WebCore::PopupMenu::updateFromElement): 54599 (WebCore::PopupMenu::itemWritingDirectionIsNatural): 54600 * platform/chromium/PopupMenuChromium.h: Added. 54601 (WebCore::PopupContainer::listBox): 54602 * platform/chromium/PopupMenuPrivate.h: Added. 54603 * platform/chromium/SSLKeyGeneratorChromium.cpp: Added. 54604 (WebCore::supportedKeySizes): 54605 * platform/chromium/ScrollbarThemeChromium.cpp: Added. 54606 (WebCore::ScrollbarTheme::nativeTheme): 54607 (WebCore::ScrollbarThemeChromium::ScrollbarThemeChromium): 54608 (WebCore::ScrollbarThemeChromium::~ScrollbarThemeChromium): 54609 (WebCore::ScrollbarThemeChromium::themeChanged): 54610 (WebCore::ScrollbarThemeChromium::hasThumb): 54611 (WebCore::ScrollbarThemeChromium::backButtonRect): 54612 (WebCore::ScrollbarThemeChromium::forwardButtonRect): 54613 (WebCore::ScrollbarThemeChromium::trackRect): 54614 (WebCore::ScrollbarThemeChromium::paintTrackBackground): 54615 (WebCore::ScrollbarThemeChromium::paintTickmarks): 54616 (WebCore::ScrollbarThemeChromium::paintScrollCorner): 54617 (WebCore::ScrollbarThemeChromium::shouldCenterOnThumb): 54618 (WebCore::ScrollbarThemeChromium::buttonSize): 54619 * platform/chromium/ScrollbarThemeChromium.h: Added. 54620 (WebCore::ScrollbarThemeChromium::hasButtons): 54621 * platform/chromium/ScrollbarThemeChromiumLinux.cpp: Added. 54622 (WebCore::ScrollbarThemeChromium::scrollbarThickness): 54623 (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): 54624 (WebCore::initMozState): 54625 (WebCore::paintScrollbarWidget): 54626 (WebCore::ScrollbarThemeChromium::paintTrackPiece): 54627 (WebCore::ScrollbarThemeChromium::paintButton): 54628 (WebCore::ScrollbarThemeChromium::paintThumb): 54629 * platform/chromium/ScrollbarThemeChromiumWin.cpp: 54630 * platform/chromium/SearchPopupMenuChromium.cpp: Added. 54631 (WebCore::SearchPopupMenu::SearchPopupMenu): 54632 (WebCore::SearchPopupMenu::enabled): 54633 (WebCore::SearchPopupMenu::saveRecentSearches): 54634 (WebCore::SearchPopupMenu::loadRecentSearches): 54635 * platform/chromium/SharedTimerChromium.cpp: Added. 54636 (WebCore::setSharedTimerFiredFunction): 54637 (WebCore::setSharedTimerFireTime): 54638 (WebCore::stopSharedTimer): 54639 * platform/chromium/TemporaryLinkStubs.cpp: Added. 54640 (WebCore::signedPublicKeyAndChallengeString): 54641 (WebCore::getSupportedKeySizes): 54642 (WebCore::KURL::fileSystemPath): 54643 (WebCore::SharedBuffer::createWithContentsOfFile): 54644 (WTF::scheduleDispatchFunctionsOnMainThread): 54645 54646 2009-01-14 Darin Fisher <darin (a] chromium.org> 54647 54648 Reviewed by Eric Seidel. 54649 54650 https://bugs.webkit.org/show_bug.cgi?id=23323 54651 Upstream platform/text/chromium/ 54652 54653 * platform/text/chromium: Added. 54654 * platform/text/chromium/TextBreakIteratorInternalICUChromium.cpp: Added. 54655 (WebCore::currentTextBreakLocaleID): 54656 54657 2009-01-14 Steve Falkenburg <sfalken (a] apple.com> 54658 54659 Update copyright year in version resources. 54660 54661 Reviewed by Adam Roben. 54662 54663 * WebCore.vcproj/QTMovieWin.rc: 54664 54665 2009-01-14 Darin Fisher <darin (a] chromium.org> 54666 54667 Reviewed by Darin Adler. 54668 54669 https://bugs.webkit.org/show_bug.cgi?id=23324 54670 Move platform/chromium/EditorChromium.cpp into editing/chromium/ 54671 54672 * editing/chromium: Added. 54673 * editing/chromium/EditorChromium.cpp: Copied from platform/chromium/EditorChromium.cpp. 54674 * platform/chromium/EditorChromium.cpp: Removed. 54675 54676 2009-01-14 Darin Fisher <darin (a] chromium.org> 54677 54678 Reviewed by Darin Adler. 54679 54680 https://bugs.webkit.org/show_bug.cgi?id=23320 54681 Make it possible to use notImplemented outside of the WebCore namespace 54682 54683 * platform/NotImplemented.h: 54684 54685 2009-01-14 Nigel Tao <nigel.tao.gnome (a] gmail.com> 54686 54687 Reviewed by Darin Adler. 54688 54689 - fix https://bugs.webkit.org/show_bug.cgi?id=22476 54690 Check that the document's SecurityOrigin canLoadLocalResources, 54691 when pages try to put NSFilenamesPboardtype data on the clipboard, 54692 by calling event.dataTransfer.setData('URL', 'file:///foo/bar'); 54693 54694 Tests: http/tests/security/dataTransfer-set-data-file-url.html 54695 platform/mac/editing/pasteboard/dataTransfer-set-data-file-url.html 54696 54697 * platform/mac/ClipboardMac.mm: 54698 (WebCore::ClipboardMac::setData): 54699 54700 2009-01-14 Dan Bernstein <mitz (a] apple.com> 54701 54702 Reviewed by John Sullivan. 54703 54704 - update copyright 54705 54706 * Info.plist: 54707 54708 2009-01-14 Alexey Proskuryakov <ap (a] webkit.org> 54709 54710 Reviewed by Darin Adler. 54711 54712 https://bugs.webkit.org/show_bug.cgi?id=23316 54713 Application cache updating always fails with an assertion 54714 54715 Test: http/tests/appcache/update-cache.html 54716 54717 * loader/appcache/ApplicationCacheGroup.cpp: 54718 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Correctly handle the case where 54719 multiple caches survive the last DocumentLoader destruction, preventing a crash in release 54720 builds. 54721 (WebCore::ApplicationCacheGroup::setNewestCache): Removed a bogus assertion. 54722 54723 2009-01-14 Alexey Proskuryakov <ap (a] webkit.org> 54724 54725 Release build fix. 54726 54727 * loader/appcache/ApplicationCacheStorage.cpp: 54728 (WebCore::ApplicationCacheStorage::storeUpdatedType): Use ASSERT_UNUSED. 54729 54730 2009-01-13 Alexey Proskuryakov <ap (a] webkit.org> 54731 54732 Reviewed by Anders Carlsson. 54733 54734 Test: http/tests/appcache/xhr-foreign-resource.html 54735 54736 https://bugs.webkit.org/show_bug.cgi?id=23256 54737 Implement application cache foreign entries 54738 54739 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): 54740 Removed a misplaced check for foreign resources that prevented them from being loaded altogether. 54741 54742 * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::selectCache): 54743 If a document that was loaded from appcache should be associated with a different cache, 54744 mark the resource as foreign in the original cache and start over. 54745 54746 * loader/appcache/ApplicationCacheResource.cpp: (WebCore::ApplicationCacheResource::addType): 54747 This function can now be called after a cache is stored, so it no longer asserts the opposite. 54748 54749 * loader/appcache/ApplicationCacheStorage.cpp: 54750 (WebCore::ApplicationCacheStorage::cacheGroupForURL): Fix database pass to correctly ignore 54751 in-memory caches that were already rejected. 54752 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): Ditto. 54753 (WebCore::ApplicationCacheStorage::storeUpdatedType): Added a function that updates type of 54754 an already stored cached resource. 54755 54756 * loader/appcache/ApplicationCacheStorage.h: Added storeUpdatedType(). 54757 54758 2009-01-13 Mark Rowe <mrowe (a] apple.com> 54759 54760 Fix the Tiger WebCore build after r39880. 54761 54762 * editing/Editor.cpp: 54763 (WebCore::Editor::markBadGrammar): 54764 * loader/mac/DocumentLoaderMac.cpp: 54765 (WebCore::DocumentLoader::schedule): 54766 (WebCore::DocumentLoader::unschedule): 54767 * platform/mac/PasteboardMac.mm: 54768 (WebCore::Pasteboard::writeSelection): 54769 * platform/mac/WebCoreObjCExtras.mm: 54770 (WebCoreObjCFinalizeOnMainThread): 54771 * platform/network/mac/ResourceHandleMac.mm: 54772 (WebCore::ResourceHandle::schedule): 54773 (WebCore::ResourceHandle::unschedule): 54774 54775 2009-01-13 Darin Adler <darin (a] apple.com> 54776 54777 Reviewed by Sam Weinig. 54778 54779 Bug 23102: turn on unused parameter warnings in WebCore 54780 https://bugs.webkit.org/show_bug.cgi?id=23102 54781 54782 Last step: Turn on the warning and fix the last few instances. 54783 54784 * Configurations/Base.xcconfig: Removed -Wno-unused-parameter from 54785 WARNING_CFLAGS_BASE, so the unused parameter warning will fire. 54786 54787 * bindings/js/JSDOMWindowBase.cpp: 54788 (jsDOMWindowBaseMessageChannel): Separate the version for use when 54789 CHANNEL_MESSAGING is turned off, so we can omit the argument names. 54790 It would be better to not even have this property in that case, 54791 rather than having the function return undefined, but I don't know 54792 how to do that with the bindings script. 54793 54794 * bindings/scripts/CodeGeneratorJS.pm: Leave out argument names in 54795 functions where they're not used (the SVG context, and the property 54796 name in the index getter). Use UNUSED_PARAM where arguments are 54797 sometimes not used. 54798 54799 * bridge/runtime_object.cpp: 54800 (JSC::RuntimeObjectImp::put): Use UNUSED_PARAM for non-QT. 54801 54802 * css/MediaQueryEvaluator.cpp: 54803 (WebCore::animationMediaFeatureEval): Omit argument names for style and frame. 54804 (WebCore::transitionMediaFeatureEval): Ditto. 54805 (WebCore::transform_2dMediaFeatureEval): Ditto. 54806 (WebCore::transform_3dMediaFeatureEval): Ditto. 54807 54808 * dom/make_names.pl: Leave out the createdByParser property name in 54809 cases where it's not used. 54810 54811 * inspector/JavaScriptDebugServer.cpp: 54812 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): Separate the 54813 version for the Mac platform so we can omit the argument names. 54814 54815 * loader/EmptyClients.h: 54816 (WebCore::EmptyChromeClient::contentsSizeChanged): Removed argument name. 54817 54818 * loader/FrameLoaderClient.h: 54819 (WebCore::FrameLoaderClient::shouldUsePluginDocument): Commented out 54820 argument name. 54821 54822 * loader/icon/IconFetcher.cpp: 54823 (WebCore::IconFetcher::didReceiveResponse): Use ASSERT_UNUSED. 54824 (WebCore::IconFetcher::didReceiveData): Ditto. 54825 (WebCore::IconFetcher::didFinishLoading): Ditto. 54826 (WebCore::IconFetcher::didFail): Ditto. 54827 54828 * platform/KURL.cpp: 54829 (WebCore::assertProtocolIsGood): Separate out the NDEBUG version so 54830 we can omit the argument names. 54831 54832 * platform/Timer.cpp: 54833 (WebCore::TimerHeapIterator::checkConsistency): Use ASSERT_UNUSED. 54834 54835 * platform/graphics/GlyphBuffer.h: 54836 (WebCore::GlyphBuffer::offsetAt): Use UNUSED_PARAM in the non-WIN case. 54837 (WebCore::GlyphBuffer::add): Use UNUSED_PARAM in the non-CAIRO case. 54838 54839 * platform/graphics/cg/ImageSourceCG.cpp: 54840 (WebCore::ImageSource::clear): Removed argument name. 54841 54842 * rendering/SVGRenderSupport.cpp: 54843 (WebCore::prepareToRenderSVGContent): Use UNUSED_PARAM when SVG_FILTERS 54844 is not enabled. 54845 (WebCore::finishRenderSVGContent): Ditto. 54846 54847 2009-01-13 Chris Marrin <cmarrin (a] apple.com> 54848 54849 Reviewed by Darin Adler. 54850 54851 Implemented https://bugs.webkit.org/show_bug.cgi?id=23298 54852 Simple fix to convertToLength to catch style==null cases 54853 54854 * css/CSSStyleSelector.cpp: 54855 (WebCore::convertToLength): 54856 54857 2009-01-13 Eric Seidel <eric (a] webkit.org> 54858 54859 Reviewed by Mark Rowe. 54860 54861 Speculative fix for an Uninitialized Memory Read (UMR) 54862 seen by purify in chormium's equivalent V8 file. 54863 54864 * bindings/js/JSSVGPODTypeWrapper.h: 54865 (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo): 54866 54867 2009-01-13 Dimitri Glazkov <dglazkov (a] chromium.org> 54868 54869 Reviewed by Eric Seidel. 54870 54871 Land portions of platform/graphics/chromium. 54872 https://bugs.webkit.org/show_bug.cgi?id=23297 54873 54874 * platform/graphics/chromium/FontCustomPlatformData.cpp: Added. 54875 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 54876 (WebCore::FontCustomPlatformData::fontPlatformData): 54877 (WebCore::EOTStream::EOTStream): 54878 (WebCore::EOTStream::read): 54879 (WebCore::readEmbedProc): 54880 (WebCore::createUniqueFontName): 54881 (WebCore::createFontCustomPlatformData): 54882 * platform/graphics/chromium/FontCustomPlatformData.h: Added. 54883 (WebCore::FontCustomPlatformData::FontCustomPlatformData): 54884 * platform/graphics/chromium/FontLinux.cpp: Added. 54885 (WebCore::Font::drawGlyphs): 54886 (WebCore::Font::drawComplexText): 54887 (WebCore::Font::floatWidthForComplexText): 54888 (WebCore::Font::offsetForPositionForComplexText): 54889 (WebCore::Font::selectionRectForComplexText): 54890 * platform/graphics/chromium/FontPlatformData.h: Added. 54891 54892 2009-01-13 Mark Rowe <mrowe (a] apple.com> 54893 54894 Rubber-stamped by Oliver Hunt. 54895 54896 Don't copy DOMStringList.idl into the framework bundle. 54897 54898 * WebCore.xcodeproj/project.pbxproj: 54899 54900 2009-01-13 Christian Dywan <christian (a] twotoasts.de> 54901 54902 Build fix, StorageEvent is only defined if we have DOM_STORAGE 54903 54904 * dom/Document.cpp: 54905 (WebCore::Document::createEvent): Conditionalize StorageEvent 54906 54907 2009-01-13 Darin Adler <darin (a] apple.com> 54908 54909 Reviewed by Adele Peterson. 54910 54911 Bug 23277: space bar scrolls the page when typed in any text field 54912 https://bugs.webkit.org/show_bug.cgi?id=23277 54913 rdar://problem/6490249 54914 54915 There's already a regression test for this, since bug 16421 was the same problem, but on 54916 Mac. The regression test is fast/events/space-scroll-event.html, so I won't write a new one. 54917 54918 This bug doesn't affect Mac because the canEdit check in -[WebHTMLView insertText:] prevents 54919 a text input event from being generated at all. That difference may in itself be a bug, but 54920 the only symptom is that you get text input events in more cases on platforms other than Mac. 54921 54922 * page/EventHandler.cpp: 54923 (WebCore::EventHandler::handleTextInputEvent): Return whether the event's default was 54924 handled, not the result of the dispatchEvent function, which indicates only whether the 54925 default behavior was prevented, not if the default behavior did some insertion. This fix 54926 makes it so the keyboard event handler can detect that no space was inserted and know that 54927 the space bar keypress event can be treated as a scrolling command. 54928 (WebCore::EventHandler::defaultKeyboardEventHandler): Handle the keypress event, not the 54929 keydown event. Without the change above, making this change would have restored the old 54930 behavior, reintroducing bug 22913 where the space bar doesn't scroll at all on Windows. 54931 54932 2009-01-13 Darin Fisher <darin (a] chromium.org> 54933 54934 Reviewed by Eric Seidel. 54935 54936 Landing portions of platform/chromium/, taken from here: 54937 http://src.chromium.org/viewvc/chrome/trunk/deps/third_party/WebKit/WebCore/platform/chromium/ 54938 54939 * platform/chromium/ChromiumBridge.h: Added. 54940 * platform/chromium/ChromiumDataObject.cpp: Added. 54941 (WebCore::ChromiumDataObject::clear): 54942 (WebCore::ChromiumDataObject::hasData): 54943 * platform/chromium/ChromiumDataObject.h: Added. 54944 (WebCore::ChromiumDataObject::create): 54945 (WebCore::ChromiumDataObject::ChromiumDataObject): 54946 * platform/chromium/ClipboardChromium.cpp: Added. 54947 (WebCore::): 54948 (WebCore::clipboardTypeFromMIMEType): 54949 (WebCore::ClipboardChromium::ClipboardChromium): 54950 (WebCore::ClipboardChromium::create): 54951 (WebCore::ClipboardChromium::clearData): 54952 (WebCore::ClipboardChromium::clearAllData): 54953 (WebCore::ClipboardChromium::getData): 54954 (WebCore::ClipboardChromium::setData): 54955 (WebCore::ClipboardChromium::types): 54956 (WebCore::ClipboardChromium::setDragImage): 54957 (WebCore::ClipboardChromium::setDragImageElement): 54958 (WebCore::ClipboardChromium::createDragImage): 54959 (WebCore::imageToMarkup): 54960 (WebCore::getCachedImage): 54961 (WebCore::writeImageToDataObject): 54962 (WebCore::ClipboardChromium::declareAndWriteDragImage): 54963 (WebCore::ClipboardChromium::writeURL): 54964 (WebCore::ClipboardChromium::writeRange): 54965 (WebCore::ClipboardChromium::hasData): 54966 * platform/chromium/ClipboardChromium.h: Added. 54967 (WebCore::ClipboardChromium::~ClipboardChromium): 54968 (WebCore::ClipboardChromium::dataObject): 54969 * platform/chromium/ClipboardUtilitiesChromium.cpp: Added. 54970 (WebCore::replaceNewlinesWithWindowsStyleNewlines): 54971 (WebCore::replaceNBSPWithSpace): 54972 (WebCore::urlToMarkup): 54973 * platform/chromium/ClipboardUtilitiesChromium.h: Added. 54974 * platform/chromium/ContextMenuChromium.cpp: Added. 54975 (WebCore::ContextMenu::ContextMenu): 54976 (WebCore::ContextMenu::~ContextMenu): 54977 (WebCore::ContextMenu::itemCount): 54978 (WebCore::ContextMenu::insertItem): 54979 (WebCore::ContextMenu::appendItem): 54980 (WebCore::ContextMenu::itemWithAction): 54981 (WebCore::ContextMenu::itemAtIndex): 54982 (WebCore::ContextMenu::setPlatformDescription): 54983 (WebCore::ContextMenu::platformDescription): 54984 (WebCore::ContextMenu::releasePlatformDescription): 54985 * platform/chromium/ContextMenuItemChromium.cpp: Added. 54986 (WebCore::ContextMenuItem::ContextMenuItem): 54987 (WebCore::ContextMenuItem::~ContextMenuItem): 54988 (WebCore::ContextMenuItem::releasePlatformDescription): 54989 (WebCore::ContextMenuItem::type): 54990 (WebCore::ContextMenuItem::action): 54991 (WebCore::ContextMenuItem::title): 54992 (WebCore::ContextMenuItem::platformSubMenu): 54993 (WebCore::ContextMenuItem::setType): 54994 (WebCore::ContextMenuItem::setAction): 54995 (WebCore::ContextMenuItem::setTitle): 54996 (WebCore::ContextMenuItem::setSubMenu): 54997 (WebCore::ContextMenuItem::setChecked): 54998 (WebCore::ContextMenuItem::setEnabled): 54999 (WebCore::ContextMenuItem::enabled): 55000 * platform/chromium/CursorChromium.cpp: Added. 55001 (WebCore::Cursor::Cursor): 55002 (WebCore::Cursor::~Cursor): 55003 (WebCore::Cursor::operator=): 55004 (WebCore::pointerCursor): 55005 (WebCore::crossCursor): 55006 (WebCore::handCursor): 55007 (WebCore::iBeamCursor): 55008 (WebCore::waitCursor): 55009 (WebCore::helpCursor): 55010 (WebCore::eastResizeCursor): 55011 (WebCore::northResizeCursor): 55012 (WebCore::northEastResizeCursor): 55013 (WebCore::northWestResizeCursor): 55014 (WebCore::southResizeCursor): 55015 (WebCore::southEastResizeCursor): 55016 (WebCore::southWestResizeCursor): 55017 (WebCore::westResizeCursor): 55018 (WebCore::northSouthResizeCursor): 55019 (WebCore::eastWestResizeCursor): 55020 (WebCore::northEastSouthWestResizeCursor): 55021 (WebCore::northWestSouthEastResizeCursor): 55022 (WebCore::columnResizeCursor): 55023 (WebCore::rowResizeCursor): 55024 (WebCore::middlePanningCursor): 55025 (WebCore::eastPanningCursor): 55026 (WebCore::northPanningCursor): 55027 (WebCore::northEastPanningCursor): 55028 (WebCore::northWestPanningCursor): 55029 (WebCore::southPanningCursor): 55030 (WebCore::southEastPanningCursor): 55031 (WebCore::southWestPanningCursor): 55032 (WebCore::westPanningCursor): 55033 (WebCore::moveCursor): 55034 (WebCore::verticalTextCursor): 55035 (WebCore::cellCursor): 55036 (WebCore::contextMenuCursor): 55037 (WebCore::aliasCursor): 55038 (WebCore::progressCursor): 55039 (WebCore::noDropCursor): 55040 (WebCore::copyCursor): 55041 (WebCore::noneCursor): 55042 (WebCore::notAllowedCursor): 55043 (WebCore::zoomInCursor): 55044 (WebCore::zoomOutCursor): 55045 (WebCore::grabCursor): 55046 (WebCore::grabbingCursor): 55047 * platform/chromium/DragDataChromium.cpp: Added. 55048 (WebCore::containsHTML): 55049 (WebCore::DragData::createClipboard): 55050 (WebCore::DragData::containsURL): 55051 (WebCore::DragData::asURL): 55052 (WebCore::DragData::containsFiles): 55053 (WebCore::DragData::asFilenames): 55054 (WebCore::DragData::containsPlainText): 55055 (WebCore::DragData::asPlainText): 55056 (WebCore::DragData::containsColor): 55057 (WebCore::DragData::canSmartReplace): 55058 (WebCore::DragData::containsCompatibleContent): 55059 (WebCore::DragData::asFragment): 55060 (WebCore::DragData::asColor): 55061 * platform/chromium/EditorChromium.cpp: Added. 55062 (WebCore::Editor::newGeneralClipboard): 55063 * platform/chromium/FileChooserChromium.cpp: Added. 55064 (WebCore::FileChooser::basenameForWidth): 55065 * platform/chromium/FileSystemChromium.cpp: Added. 55066 (WebCore::deleteFile): 55067 (WebCore::deleteEmptyDirectory): 55068 (WebCore::getFileSize): 55069 (WebCore::getFileModificationTime): 55070 (WebCore::directoryName): 55071 (WebCore::pathByAppendingComponent): 55072 (WebCore::makeAllDirectories): 55073 (WebCore::fileExists): 55074 * platform/chromium/FileSystemChromiumLinux.cpp: Added. 55075 (WebCore::pathGetFileName): 55076 * platform/chromium/FileSystemChromiumMac.mm: Added. 55077 (WebCore::pathGetFileName): 55078 * platform/chromium/FileSystemChromiumWin.cpp: Added. 55079 (WebCore::pathGetFileName): 55080 * platform/chromium/FramelessScrollView.cpp: Added. 55081 (WebCore::FramelessScrollView::~FramelessScrollView): 55082 (WebCore::FramelessScrollView::invalidateScrollbarRect): 55083 (WebCore::FramelessScrollView::isActive): 55084 (WebCore::FramelessScrollView::invalidateRect): 55085 (WebCore::FramelessScrollView::hostWindow): 55086 (WebCore::FramelessScrollView::windowClipRect): 55087 (WebCore::FramelessScrollView::paintContents): 55088 (WebCore::FramelessScrollView::contentsResized): 55089 (WebCore::FramelessScrollView::visibleContentsResized): 55090 * platform/chromium/FramelessScrollView.h: Added. 55091 (WebCore::FramelessScrollView::FramelessScrollView): 55092 (WebCore::FramelessScrollView::client): 55093 (WebCore::FramelessScrollView::setClient): 55094 * platform/chromium/FramelessScrollViewClient.h: Added. 55095 * platform/chromium/ScrollbarThemeChromiumWin.cpp: Added. 55096 (WebCore::): 55097 (WebCore::ScrollbarThemeChromium::scrollbarThickness): 55098 (WebCore::ScrollbarThemeChromium::invalidateOnMouseEnterExit): 55099 (WebCore::ScrollbarThemeChromium::paintTrackPiece): 55100 (WebCore::ScrollbarThemeChromium::paintButton): 55101 (WebCore::ScrollbarThemeChromium::paintThumb): 55102 (WebCore::ScrollbarThemeChromium::getThemeState): 55103 (WebCore::ScrollbarThemeChromium::getThemeArrowState): 55104 (WebCore::ScrollbarThemeChromium::getClassicThemeState): 55105 * platform/chromium/SoundChromiumPosix.cpp: Added. 55106 (WebCore::systemBeep): 55107 * platform/chromium/SoundChromiumWin.cpp: Added. 55108 (WebCore::systemBeep): 55109 * platform/chromium/SystemTimeChromium.cpp: Added. 55110 (WebCore::currentTime): 55111 (WebCore::userIdleTime): 55112 * platform/chromium/WidgetChromium.cpp: Added. 55113 (WebCore::Widget::Widget): 55114 (WebCore::Widget::~Widget): 55115 (WebCore::Widget::show): 55116 (WebCore::Widget::hide): 55117 (WebCore::Widget::setCursor): 55118 (WebCore::Widget::paint): 55119 (WebCore::Widget::setFocus): 55120 (WebCore::Widget::setIsSelected): 55121 (WebCore::Widget::frameRect): 55122 (WebCore::Widget::setFrameRect): 55123 * platform/chromium/WindowsVersion.cpp: Added. 55124 (WebCore::isVistaOrNewer): 55125 * platform/chromium/WindowsVersion.h: Added. 55126 55127 2009-01-13 Tor Arne Vestb <tavestbo (a] trolltech.com> 55128 55129 Reviewed by Simon Hausmann. 55130 55131 [Qt] Make sure media elements dispatch the 'loaded' event 55132 55133 We assume that when Phonon goes into paused state that we have the 55134 complete media file. Once we do media loading ourselves we can 55135 distinguish between loading the first frame and the complete media. 55136 55137 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 55138 (WebCore::MediaPlayerPrivate::updateStates): 55139 55140 2009-01-13 Tor Arne Vestb <tavestbo (a] trolltech.com> 55141 55142 Reviewed by Simon Hausmann. 55143 55144 [Qt] Add more verbose error output when loading NPAPI plugins 55145 55146 * plugins/qt/PluginPackageQt.cpp: 55147 (WebCore::PluginPackage::load): 55148 55149 2009-01-13 Simon Hausmann <simon.hausmann (a] nokia.com> 55150 55151 Reviewed by Tor Arne Vestb. 55152 55153 Fix crash in the Qt port when deleting a popup from within a 55154 JavaScript onchange handler. 55155 55156 * platform/qt/QWebPopup.cpp: 55157 (WebCore::QWebPopup::QWebPopup): Perform the activation of the 55158 combobox item (i.e. the call to the JS handler) from a different 55159 call stack by using a queued connection. 55160 55161 2009-01-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 55162 55163 Reviewed by Tor Arne Vestb. 55164 55165 [GIO] Make sure to untef the GFile and the GInputStream on destruction 55166 55167 Make sure to call cleanupGioOperation from the ResourceHandleInternal 55168 d'tor. Change the signature of cleanupGioOperation so we can do the 55169 cleanup of GIO next to the cleanup of SOUP. 55170 55171 This is happening with many tests from dom/html/level2/html e.g. 55172 LayoutTests/dom/html/level2/html/HTMLBodyElement07.html. 55173 55174 * platform/network/soup/ResourceHandleSoup.cpp: 55175 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 55176 (WebCore::cleanupGioOperation): 55177 (WebCore::closeCallback): 55178 (WebCore::readCallback): 55179 (WebCore::openCallback): 55180 (WebCore::queryInfoCallback): 55181 55182 2009-01-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 55183 55184 Reviewed by Tor Arne Vestb. 55185 55186 [GIO] Attach the ResourceHandle to the GObject and get it from the GObject 55187 55188 https://bugs.webkit.org/show_bug.cgi?id=23116 discussed with Benjamin Otte 55189 55190 Sometimes it is not possible to cancel a pending GIO operation and the 55191 callback might be invoked with a pointer to an already destructed 55192 ResourceHandle. To avoid this issue we will attach the ResourceHandle 55193 to the GObject* and in the callback attempt to get the ResourceHandle 55194 from the GObject*. If no ResourceHandle is attached we silently fail 55195 as the cleanup has been already done. 55196 55197 This is happening with many tests from dom/html/level2/html e.g. 55198 LayoutTests/dom/html/level2/html/HTMLBodyElement07.html. 55199 55200 * platform/network/soup/ResourceHandleSoup.cpp: 55201 (WebCore::cleanupGioOperation): 55202 (WebCore::closeCallback): 55203 (WebCore::readCallback): 55204 (WebCore::openCallback): 55205 (WebCore::queryInfoCallback): 55206 (WebCore::ResourceHandle::startGio): 55207 55208 2009-01-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 55209 55210 Reviewed by Tor Arne Vestb. 55211 55212 [GIO] Invoke cleanupGioOperation before calling didFail to avoid crashes 55213 55214 https://bugs.webkit.org/show_bug.cgi?id=23116 55215 55216 The ResourceHandle becomes invalid (e.g. got destructed) from within 55217 the invocation of didFail. Avoid this by cleaning up everything before 55218 calling didFail and simply return afterwards. 55219 55220 This is happening with many tests from dom/html/level2/html e.g. 55221 LayoutTests/dom/html/level2/html/HTMLBodyElement07.html. 55222 55223 * platform/network/soup/ResourceHandleSoup.cpp: 55224 (WebCore::readCallback): 55225 (WebCore::openCallback): 55226 (WebCore::queryInfoCallback): 55227 55228 2009-01-13 Tor Arne Vestb <tavestbo (a] trolltech.com> 55229 55230 Reviewed by Simon Hausmann. 55231 55232 Change how themes adjust mediaControls.css to match html4/quicks.css 55233 55234 Instead of providing the full style sheet, the themes provide extra 55235 overrides to the default style defined in UserAgentStyleSheetsData. 55236 55237 https://bugs.webkit.org/show_bug.cgi?id=23210 55238 55239 Also, merge WebKitResources.qrc and WebCoreResources.qrc to speed up 55240 build time for the Qt port. 55241 55242 * Resources/WebKitResources.qrc: Removed. Merged into WebCore.qrc 55243 * WebCore.pro: 55244 * WebCore.qrc: Added. 55245 * css/CSSStyleSelector.cpp: 55246 (WebCore::CSSStyleSelector::styleForElement): 55247 * css/qt/mediaControls-extras.css: Rename from html4-adjustments-qt.css 55248 * platform/qt/RenderThemeQt.cpp: 55249 (WebCore::RenderThemeQt::extraMediaControlsStyleSheet): 55250 * platform/qt/RenderThemeQt.h: 55251 * platform/qt/WebCoreResources.qrc: Removed. 55252 * platform/qt/html4-adjustments-qt.css: Rename to mediaControls-extras.css 55253 * rendering/RenderTheme.cpp: 55254 * rendering/RenderTheme.h: 55255 (WebCore::RenderTheme::extraMediaControlsStyleSheet): 55256 55257 2009-01-12 Gavin Barraclough <barraclough (a] apple.com> 55258 55259 Reviewed by Oliver Hunt. 55260 55261 Deprecate JSValuePtr::getNumber() - two ways to get a number should be enough. 55262 55263 * bindings/js/JSSQLTransactionCustom.cpp: 55264 (WebCore::JSSQLTransaction::executeSql): 55265 * bindings/objc/WebScriptObject.mm: 55266 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 55267 55268 2009-01-12 Chris Marrin <cmarrin (a] apple.com> 55269 55270 Reviewed by Dan Bernstein. 55271 55272 Fixed https://bugs.webkit.org/show_bug.cgi?id=22919 55273 55274 I added a common getElapsedTime() function to AnimationBase which uses a combination of 55275 the techniques from KeyframeAnimation and AnimationBase to compute elapsedTime in all 55276 states. 55277 55278 * page/animation/AnimationBase.cpp: 55279 (WebCore::AnimationBase::progress): 55280 (WebCore::AnimationBase::getElapsedTime): 55281 * page/animation/AnimationBase.h: 55282 * page/animation/KeyframeAnimation.cpp: 55283 (WebCore::KeyframeAnimation::animate): 55284 55285 2009-01-12 Robert Blaut <webkit (a] blaut.biz> 55286 55287 Reviewed by Darin Adler 55288 55289 Fix for <https://bugs.webkit.org/show_bug.cgi?id=22096> 55290 Bug 22096: REGRESSION (r35879) scrolldelay is counted in seconds 55291 instead of miliseconds 55292 55293 Test: fast/css/webkit-marquee-speed-unit-in-quirksmode.html 55294 55295 * css/CSSParser.cpp: 55296 (WebCore::CSSParser::validUnit): treat unitless values in quirks mode 55297 as miliseconds instead of seconds. 55298 55299 2009-01-12 David Hyatt <hyatt (a] apple.com> 55300 55301 Apply the same idea as the previous fix but for matched declarations. 55302 55303 Reviewed by Dan Bernstein 55304 55305 * css/CSSStyleSelector.h: 55306 55307 2009-01-12 Brady Eidson <beidson (a] apple.com> 55308 55309 Reviewed by Darin Adler 55310 55311 <rdar://problem/6468274> - Track Non-get requests in global history 55312 55313 * WebCore.base.exp: 55314 55315 * history/HistoryItem.cpp: 55316 (WebCore::HistoryItem::HistoryItem): 55317 * history/HistoryItem.h: 55318 (WebCore::HistoryItem::lastVisitWasHTTPNonGet): 55319 (WebCore::HistoryItem::setLastVisitWasHTTPNonGet): 55320 55321 2009-01-12 Kevin Ollivier <kevino (a] theolliviers.com> 55322 55323 !ENABLE(SVG_FONTS) build fix. Move defaultUnitsPerEm into a non-SVG header 55324 so it can be used by all builds. 55325 55326 * platform/graphics/Font.h: 55327 * platform/graphics/SimpleFontData.cpp: 55328 * svg/SVGFontFaceElement.cpp: 55329 * svg/SVGFontFaceElement.h: 55330 55331 2009-01-12 Kevin Ollivier <kevino (a] theolliviers.com> 55332 55333 wx build typo fix. 55334 55335 * platform/graphics/wx/TransformationMatrixWx.cpp: 55336 (WebCore::TransformationMatrix::TransformationMatrix): 55337 55338 2009-01-12 David Hyatt <hyatt (a] apple.com> 55339 55340 Make sure the set of matched rules has a reserved capacity of 32. This prevents remalloc thrash as 55341 elements are matched, since the Vector is shrinking and growing over and over. 1% PLT speedup. 55342 55343 Reviewed by Oliver Hunt 55344 55345 * css/CSSStyleSelector.h: 55346 55347 2009-01-12 David Hyatt <hyatt (a] apple.com> 55348 55349 Optimize Element::attributeChanged to just check if accessibility is enabled up front before looking at the 55350 two accessibility-related attributes. This avoids the rest of the code for all attributes on the PLT. 55351 Tiny speedup. 55352 55353 Reviewed by Oliver Hunt 55354 55355 * dom/Element.cpp: 55356 (WebCore::Element::attributeChanged): 55357 55358 2009-01-12 David Hyatt <hyatt (a] apple.com> 55359 55360 Optimize the retrieval of line height. If the document is not using any first-line rules, just immediately 55361 default to the normal case. Tiny speedup on PLT. 55362 55363 Reviewed by Oliver Hunt 55364 55365 * rendering/RenderFlow.cpp: 55366 (WebCore::RenderFlow::lineHeight): 55367 55368 2009-01-12 David Hyatt <hyatt (a] apple.com> 55369 55370 Fix 0.6% regression in PLT. Make sure not to waste time updating NSScrollView's can blit on scroll state 55371 in the ScrollView constructor, since this is always going to be properly updated by FrameView anyway. 55372 55373 Reviewed by Oliver Hunt 55374 55375 * platform/ScrollView.cpp: 55376 (WebCore::ScrollView::ScrollView): 55377 55378 2009-01-12 Simon Fraser <simon.fraser (a] apple.com> 55379 55380 Reviewed by Dan Bernstein 55381 55382 https://bugs.webkit.org/show_bug.cgi?id=23273 55383 55384 In RenderBox::repaintLayerRectsForImage(), the repaint rect does not have 55385 to be computed in absolute coordintes. Instead, we compute a repaintRect 55386 relative to the RenderObject, which can repaint itself. 55387 55388 * rendering/RenderBox.cpp: 55389 (WebCore::RenderBox::repaintLayerRectsForImage): 55390 55391 2009-01-12 Simon Fraser <simon.fraser (a] apple.com> 55392 55393 Reviewed by Dan Bernstein 55394 55395 https://bugs.webkit.org/show_bug.cgi?id=23220 55396 55397 Merge layoutDelta into LayoutState. This requires that we 55398 push even when layoutState is disabled, so that layoutDelta 55399 can still be stored. 55400 55401 * rendering/LayoutState.cpp: 55402 (WebCore::LayoutState::LayoutState): 55403 * rendering/LayoutState.h: 55404 (WebCore::LayoutState::LayoutState): 55405 * rendering/RenderBlock.cpp: 55406 (WebCore::RenderBlock::layoutBlock): 55407 (WebCore::RenderBlock::layoutBlockChildren): 55408 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 55409 * rendering/RenderBox.cpp: 55410 (WebCore::RenderBox::localToAbsolute): 55411 (WebCore::RenderBox::absoluteToLocal): 55412 (WebCore::RenderBox::computeAbsoluteRepaintRect): 55413 * rendering/RenderFlexibleBox.cpp: 55414 (WebCore::RenderFlexibleBox::layoutBlock): 55415 * rendering/RenderFlow.cpp: 55416 (WebCore::RenderFlow::absoluteClippedOverflowRect): 55417 * rendering/RenderLayer.cpp: 55418 (WebCore::RenderLayer::updateLayerPositions): 55419 * rendering/RenderTableCell.cpp: 55420 (WebCore::RenderTableCell::computeAbsoluteRepaintRect): 55421 (WebCore::RenderTableCell::localToAbsolute): 55422 * rendering/RenderView.cpp: 55423 (WebCore::RenderView::pushLayoutState): 55424 * rendering/RenderView.h: 55425 (WebCore::RenderView::layoutDelta): 55426 (WebCore::RenderView::addLayoutDelta): 55427 (WebCore::RenderView::doingFullRepaint): 55428 (WebCore::RenderView::pushLayoutState): 55429 (WebCore::RenderView::popLayoutState): 55430 (WebCore::RenderView::layoutStateEnabled): 55431 (WebCore::RenderView::layoutState): 55432 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): 55433 (WebCore::LayoutStateMaintainer::push): 55434 (WebCore::LayoutStateMaintainer::pop): 55435 * rendering/bidi.cpp: 55436 (WebCore::RenderBlock::layoutInlineChildren): 55437 55438 2009-01-12 Julien Chaffraix <jchaffraix (a] pleyo.com> 55439 55440 Reviewed by Holger Freyther. 55441 55442 [Qt] Build fix after turning the fontCache to a singleton 55443 https://bugs.webkit.org/show_bug.cgi?id=23253 55444 55445 Add a stub implementation for WebCore::fontCache() and FontCache::FontCache(). 55446 55447 * platform/graphics/qt/FontCacheQt.cpp: 55448 (WebCore::fontCache): 55449 (WebCore::FontCache::FontCache): 55450 55451 2009-01-12 Eric Roman <eroman (a] chromium.org> 55452 55453 Reviewed by Darin Adler. 55454 55455 Fix some bugs with Selection::appendTrailingWhitespace(). 55456 https://bugs.webkit.org/show_bug.cgi?id=23232 55457 55458 Test: editing/selection/doubleclick-whitespace-crash.html 55459 55460 * editing/Selection.cpp: 55461 (WebCore::makeSearchRange): 55462 (WebCore::Selection::appendTrailingWhitespace): 55463 55464 2009-01-12 Dimitri Glazkov <dglazkov (a] chromium.org> 55465 55466 Reviewed by Eric Seidel. 55467 55468 Add the first pieces of platform/graphics/chromium 55469 https://bugs.webkit.org/show_bug.cgi?id=23257 55470 55471 * platform/graphics/chromium/ColorChromium.cpp: Added. 55472 (WebCore::focusRingColor): 55473 * platform/graphics/chromium/FontCacheChromiumWin.cpp: Added. 55474 (WebCore::FontCache::platformInit): 55475 (WebCore::isStringASCII): 55476 (WebCore::LookupAltName): 55477 (WebCore::FontCodepage::): 55478 (WebCore::FontCodepage::if): 55479 (WebCore::createFontIndirectAndGetWinName): 55480 (WebCore::fontContainsCharacter): 55481 (WebCore::FontCache::getFontDataForCharacters): 55482 (WebCore::FontCache::alternateFamilyName): 55483 (WebCore::FontCache::getSimilarFontPlatformData): 55484 (WebCore::FontCache::getLastResortFallbackFont): 55485 (WebCore::toGDIFontWeight): 55486 (WebCore::FontCache::getGenericFontForScript): 55487 (WebCore::FillLogFont): 55488 (WebCore::FontCache::fontExists): 55489 (WebCore::TraitsInFamilyProcData::TraitsInFamilyProcData): 55490 (WebCore::traitsInFamilyEnumProc): 55491 (WebCore::FontCache::getTraitsInFamily): 55492 (WebCore::FontCache::createFontPlatformData): 55493 * platform/graphics/chromium/FontCacheLinux.cpp: Added. 55494 (WebCore::FontCache::platformInit): 55495 (WebCore::FontCache::getFontDataForCharacters): 55496 (WebCore::FontCache::alternateFamilyName): 55497 (WebCore::FontCache::getSimilarFontPlatformData): 55498 (WebCore::FontCache::getLastResortFallbackFont): 55499 (WebCore::FontCache::getTraitsInFamily): 55500 (WebCore::FontCache::createFontPlatformData): 55501 (WebCore::FontCache::getGenericFontForScript): 55502 * platform/graphics/chromium/FontChromiumWin.cpp: Added. 55503 (WebCore::windowsCanHandleTextDrawing): 55504 (WebCore::skiaDrawText): 55505 (WebCore::PaintSkiaText): 55506 (WebCore::Font::drawGlyphs): 55507 (WebCore::Font::selectionRectForComplexText): 55508 (WebCore::Font::drawComplexText): 55509 (WebCore::Font::floatWidthForComplexText): 55510 (WebCore::Font::offsetForPositionForComplexText): 55511 55512 2009-01-12 Darin Fisher <darin (a] chromium.org> 55513 55514 Reviewed by Eric Seidel. 55515 55516 https://bugs.webkit.org/show_bug.cgi?id=23254 55517 Upstream page/chromium/ 55518 55519 * page/chromium/AXObjectCacheChromium.cpp: Added. 55520 (WebCore::AXObjectCache::detachWrapper): 55521 (WebCore::AXObjectCache::attachWrapper): 55522 (WebCore::AXObjectCache::postNotification): 55523 (WebCore::AXObjectCache::postNotificationToElement): 55524 (WebCore::AXObjectCache::handleFocusedUIElementChanged): 55525 * page/chromium/AccessibilityObjectChromium.cpp: 55526 * page/chromium/AccessibilityObjectWrapper.h: 55527 * page/chromium/ChromeClientChromium.h: Added. 55528 * page/chromium/DragControllerChromium.cpp: Added. 55529 (WebCore::DragController::dragOperation): 55530 (WebCore::DragController::isCopyKeyDown): 55531 (WebCore::DragController::maxDragImageSize): 55532 (WebCore::DragController::cleanupAfterSystemDrag): 55533 * page/chromium/EventHandlerChromium.cpp: Added. 55534 (WebCore::EventHandler::passMousePressEventToSubframe): 55535 (WebCore::EventHandler::passMouseMoveEventToSubframe): 55536 (WebCore::EventHandler::passMouseReleaseEventToSubframe): 55537 (WebCore::EventHandler::passWheelEventToWidget): 55538 (WebCore::EventHandler::passWidgetMouseDownEventToWidget): 55539 (WebCore::EventHandler::passMouseDownEventToWidget): 55540 (WebCore::EventHandler::tabsToAllControls): 55541 (WebCore::EventHandler::eventActivatedView): 55542 (WebCore::EventHandler::createDraggingClipboard): 55543 (WebCore::EventHandler::focusDocumentView): 55544 (WebCore::EventHandler::accessKeyModifiers): 55545 * page/chromium/FrameChromium.cpp: Added. 55546 (WebCore::computePageRectsForFrame): 55547 (WebCore::Frame::dragImageForSelection): 55548 * page/chromium/FrameChromium.h: Added. 55549 55550 2009-01-12 Dimitri Glazkov <dglazkov (a] chromium.org> 55551 55552 Reviewed by Darin Adler. 55553 55554 https://bugs.webkit.org/show_bug.cgi?id=22936 55555 Fix uninitialized memory read error, reported by Purify. 55556 55557 * platform/graphics/SimpleFontData.cpp: 55558 (WebCore::SimpleFontData::SimpleFontData): Added initializer for 55559 m_unitsPerEm using cDefaultUnitsPerEm constant. 55560 * svg/SVGFontFaceElement.cpp: 55561 (WebCore::SVGFontFaceElement::unitsPerEm): Replaced literal value with 55562 the constant. 55563 * svg/SVGFontFaceElement.h: Added cDefaultUnitsPerEm constant. 55564 55565 2009-01-12 Adam Treat <adam.treat (a] torchmobile.com> 55566 55567 Reviewed by George Staikos. 55568 55569 Do not set fixedLayoutSize for anything other than the mainframe during 55570 the transition as this is a page level state like the viewportSize. 55571 55572 * loader/FrameLoaderClient.cpp: 55573 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage): 55574 55575 2009-01-12 Julien Chaffraix <jchaffraix (a] pleyo.com> 55576 55577 Reviewed by Darin Adler. 55578 55579 Bug 22861: Turn the FontCache into a singleton 55580 https://bugs.webkit.org/show_bug.cgi?id=22861 55581 55582 - Added fontCache() to get the global FontCache. 55583 55584 - Made all the methods in FontCache instance method. 55585 55586 - Changed FontCache:: to fontCache()-> in WebCore. 55587 55588 * WebCore.base.exp: Now export fontCache(). 55589 * css/CSSFontFaceSource.cpp: 55590 (WebCore::CSSFontFaceSource::getFontData): 55591 * css/CSSFontSelector.cpp: 55592 (WebCore::CSSFontSelector::CSSFontSelector): 55593 (WebCore::CSSFontSelector::~CSSFontSelector): 55594 (WebCore::CSSFontSelector::addFontFaceRule): 55595 (WebCore::fontDataForGenericFamily): 55596 * platform/graphics/Font.cpp: 55597 (WebCore::Font::glyphDataForCharacter): 55598 * platform/graphics/FontCache.cpp: 55599 (WebCore::fontCache): 55600 (WebCore::FontCache::FontCache): 55601 * platform/graphics/FontCache.h: 55602 * platform/graphics/FontFallbackList.cpp: 55603 (WebCore::FontFallbackList::FontFallbackList): 55604 (WebCore::FontFallbackList::invalidate): 55605 (WebCore::FontFallbackList::releaseFontData): 55606 (WebCore::FontFallbackList::fontDataAt): 55607 (WebCore::FontFallbackList::fontDataForCharacters): 55608 (WebCore::FontFallbackList::setPlatformFont): 55609 * platform/graphics/SimpleFontData.cpp: 55610 (WebCore::SimpleFontData::~SimpleFontData): 55611 * platform/graphics/mac/FontCacheMac.mm: 55612 (WebCore::fontCacheATSNotificationCallback): 55613 * platform/graphics/mac/SimpleFontDataMac.mm: 55614 (WebCore::SimpleFontData::smallCapsFontData): 55615 * platform/graphics/win/FontCacheWin.cpp: 55616 (WebCore::getCJKCodePageMasks): 55617 * platform/graphics/win/SimpleFontDataWin.cpp: 55618 (WebCore::SimpleFontData::containsCharacters): 55619 55620 2009-01-11 Darin Adler <darin (a] apple.com> 55621 55622 Reviewed by Dan Bernstein. 55623 55624 Bug 23247: createSVGPathSegCurvetoCubicSmoothAbs doesn't set y2 correctly 55625 https://bugs.webkit.org/show_bug.cgi?id=23247 55626 55627 Also fix problems where partially parsed paths will still have an effect 55628 rather than failing parsing and being ignored. 55629 55630 Test: dom/path-segments.html 55631 55632 * platform/graphics/Path.h: 55633 (WebCore::Path::swap): Added. 55634 55635 * svg/SVGParserUtilities.cpp: 55636 (WebCore::SVGPathParser::parseSVG): Removed unneeded special case for empty string. 55637 (WebCore::PathBuilder::build): Changed to not modify the path if parsing fails. 55638 (WebCore::SVGPathSegListBuilder::build): Changed to not modify the segment list if 55639 parsing fails. 55640 (WebCore::SVGPathSegListBuilder::svgMoveTo): Put the path element into the vector, 55641 not directly into the segment list. 55642 (WebCore::SVGPathSegListBuilder::svgLineTo): Ditto. 55643 (WebCore::SVGPathSegListBuilder::svgLineToHorizontal): Ditto. 55644 (WebCore::SVGPathSegListBuilder::svgLineToVertical): Ditto. 55645 (WebCore::SVGPathSegListBuilder::svgCurveToCubic): Ditto. 55646 (WebCore::SVGPathSegListBuilder::svgCurveToCubicSmooth): Ditto. 55647 (WebCore::SVGPathSegListBuilder::svgCurveToQuadratic): Ditto. 55648 (WebCore::SVGPathSegListBuilder::svgCurveToQuadraticSmooth): Ditto. 55649 (WebCore::SVGPathSegListBuilder::svgArcTo): Ditto. 55650 (WebCore::SVGPathSegListBuilder::svgClosePath): Ditto. 55651 55652 * svg/SVGPathSegCurvetoCubicSmooth.h: 55653 (WebCore::SVGPathSegCurvetoCubicSmooth::SVGPathSegCurvetoCubicSmooth): 55654 Set y2 to y2, not to y. 55655 55656 2009-01-11 Darin Adler <darin (a] apple.com> 55657 55658 Reviewed by Oliver Hunt. 55659 55660 Bug 23102: turn on unused parameter warnings in WebCore 55661 https://bugs.webkit.org/show_bug.cgi?id=23102 55662 55663 Fourth step: Remove arguments entirely in the many cases where they are not 55664 needed at all. This step is a little less mechanical than the earlier ones. 55665 55666 * dom/DOMImplementation.cpp: 55667 (WebCore::DOMImplementation::isXMLMIMEType): Pass TextCaseSensitive when creating 55668 the regular expression, since we already specify a-zA-Z in our expression. 55669 55670 * dom/Document.cpp: 55671 (WebCore::Document::databaseThread): Don't pass in the document when creating 55672 a DatabaseThread. 55673 55674 * dom/Element.cpp: 55675 (WebCore::Element::createRareData): Don't pass the element when creating an 55676 ElementRareData. 55677 (WebCore::Element::detach): Don't pass the element when calling resetComputedStyle. 55678 (WebCore::Element::recalcStyle): Ditto. 55679 55680 * dom/ElementRareData.h: Remove the unused Element* from the constructor and 55681 the resetComputedStyle function. 55682 55683 * dom/EventTargetNode.cpp: 55684 (WebCore::EventTargetNode::dispatchEvent): Don't pass ec to dispatchGenericEvent. 55685 (WebCore::EventTargetNode::dispatchGenericEvent): Remove the unused ec argument. 55686 (WebCore::EventTargetNode::dispatchWindowEvent): Don't pass ec to dispatchGenericEvent. 55687 * dom/EventTargetNode.h: Remove the ExceptionCode& argument form disaptchGenericEvent. 55688 55689 * editing/ApplyStyleCommand.cpp: Remove the empty removeBlockStyle function. 55690 (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Remove the unused 55691 start and end arguments. 55692 (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAtBoundaries): Don't pass start 55693 and end to pushDownTextDecorationStyleAroundNode. 55694 55695 * editing/ApplyStyleCommand.h: Remove the empty removeBlockStyle function. Removed the 55696 unused start and end arguments from pushDownTextDecorationStyleAroundNode. 55697 55698 * editing/htmlediting.cpp: Removed include of unused RegularExpression.h header. 55699 55700 * html/HTMLTokenizer.cpp: 55701 (WebCore::Token::addAttribute): Removed unused Document* argument. 55702 (WebCore::HTMLTokenizer::parseTag): Don't pass document to addAttribute. 55703 55704 * html/HTMLTokenizer.h: Removed unused Document* argument to to addAttribute. 55705 55706 * page/DOMWindow.cpp: 55707 (WebCore::DOMWindow::localStorage): Don't pass the frame to storageArea. 55708 55709 * page/DragController.cpp: 55710 (WebCore::DragController::dragIsMove): Removed unused DragData argument. 55711 (WebCore::DragController::performDrag): Call concludeEditDrag rather than 55712 concludeDrag. 55713 (WebCore::DragController::tryDocumentDrag): Don't pass dragData to dragIsMove. 55714 (WebCore::DragController::concludeEditDrag): Renamed to make it clear this 55715 should only be called for edit drags. Removed the action mask argument. Also 55716 changed dragIsMove call sites to not pass dragData. 55717 55718 * page/DragController.h: Updated for above changes and tweaked comment format. 55719 55720 * page/Frame.cpp: 55721 (WebCore::createRegExpForLabels): Pass TextCaseSensitive and TextCaseInsensitive 55722 when creating regular expressions for clarity. Call match instead of search, 55723 since both do the same thing except for with negative start offsets, and none 55724 used here are negative. 55725 (WebCore::Frame::matchLabelsAgainstElement): Ditto. 55726 55727 * page/Page.h: Moved TextCaseSensitivity from here to StringImpl.h in platform. 55728 55729 * page/mac/AccessibilityObjectWrapper.mm: 55730 (AXAttributeStringSetHeadingLevel): Removed unused object argument. 55731 (AXAttributedStringAppendText): Ditto. 55732 (-[AccessibilityObjectWrapper doAXAttributedStringForTextMarkerRange:]): Ditto. 55733 55734 * page/mac/FrameMac.mm: 55735 (WebCore::regExpForLabels): Pass TextCaseSensitive and TextCaseInsensitive 55736 when creating regular expressions for clarity. Call match instead of search, 55737 since both do the same thing except for with negative start offsets, and none 55738 used here are negative. 55739 (WebCore::Frame::matchLabelsAgainstElement): Ditto. 55740 55741 * platform/graphics/SegmentedFontData.cpp: 55742 (WebCore::SegmentedFontData::containsCharacter): Added. 55743 (WebCore::SegmentedFontData::containsCharacters): Updated to check all characters 55744 instead of just the first one, using containsCharacter. 55745 55746 * platform/graphics/SegmentedFontData.h: Made more members private. 55747 Added containsCharacter function member. 55748 55749 * platform/mac/DragImageMac.mm: 55750 (WebCore::dragImageSize): Changed to use RetainPtr<NSImage> directly instead of 55751 DragImageRef for clarity, since this is platform-specific code. 55752 (WebCore::deleteDragImage): Ditto. Also remove argument name to get rid of unused 55753 variable warning. 55754 (WebCore::scaleDragImage): Ditto. 55755 (WebCore::dissolveDragImageToFraction): Ditto. 55756 (WebCore::createDragImageFromImage): Ditto. 55757 (WebCore::createDragImageIconForCachedImage): Ditto. 55758 55759 * platform/mac/WebFontCache.mm: 55760 (acceptableChoice): Removed the unused weight-related arguments. 55761 (betterChoice): Ditto. 55762 (+[WebFontCache internalFontWithFamily:traits:weight:size:]): Ditto. 55763 55764 * platform/posix/FileSystemPOSIX.cpp: Removed the implementation of listDirectory 55765 because we'd rather get a link error rather than a runtime error if we use it 55766 for anything, and right now it's not used. 55767 55768 * platform/text/RegularExpression.cpp: Removed unused private data, 55769 including pattern, lastMatchString, lastMatchOffsets, lastMatchCount, 55770 and lastMatchPos. Made the RegularExpression::Private::regex be private 55771 and use an accessor function to get at it. 55772 (WebCore::RegularExpression::RegularExpression): Removed the const char* version 55773 of the constructor because it's not any more efficient. Changed the boolean 55774 constructor argument to use TextCaseSensitivity instead to make it less likely 55775 we'll use it wrong. 55776 (WebCore::RegularExpression::operator=): Since the only member is a single RefPtr, 55777 just use plain old assignment on it. The only reason we do this instead of using 55778 the compiler generated assignment operator is that we want the Private structure 55779 to be internal to the .cpp file. 55780 (WebCore::RegularExpression::match): Added a null check so we won't crash if 55781 we fail to compile the regular expression. Removed the code to handle multiple 55782 match strings, since that was unused. 55783 55784 * platform/text/RegularExpression.h: Changed the case sensitivity argument to use 55785 TextCaseSensitivity and not have a default value. Removed the default constructor, 55786 and the pattern, match, and pos functions. 55787 55788 * platform/text/StringImpl.h: Moved the TextCaseSensitivity enum here from 55789 Page.h, because we should eventually use it in all the places where we have 55790 an argument to control case sensitivity, starting with the functions in this 55791 class. 55792 55793 * platform/text/mac/ShapeArabic.c: 55794 (shapeUnicode): Removed the unused options and pErrorCode arguments. Even though 55795 this is code borrowed from ICU, this seems like a simple safe change to make. 55796 (shapeArabic): Don't pass options or pErrorCode in to shapeUnicode. 55797 55798 * rendering/RenderPath.cpp: 55799 (WebCore::RenderPath::RenderPath): Removed the unused style argument. 55800 Also removed the type check. The argument already has the correct type, 55801 so it's not helpful to upcast it and then check its type again, unless 55802 we have some reason to believe the type is not reliable. And we don't. 55803 55804 * rendering/RenderPath.h: Removed the RenderStyle* argument to the 55805 constructor. Also removed the explicit declaration of the destructor. 55806 It's not helpful or needed. 55807 55808 * rendering/RenderSVGInlineText.cpp: 55809 (WebCore::RenderSVGInlineText::localCaretRect): Updated the comment here to 55810 make it clear that just returning an empty rect is not a good implementation. 55811 Removed the argument names to get rid of the warning. 55812 55813 * rendering/RenderTreeAsText.cpp: 55814 (WebCore::printBorderStyle): Removed the unused RenderObject argument. 55815 (WebCore::operator<<): Updated for the change to printBorderStyle function. 55816 55817 * storage/DatabaseThread.cpp: 55818 (WebCore::DatabaseThread::DatabaseThread): Removed the unused document argument. 55819 * storage/DatabaseThread.h: Ditto. 55820 55821 * storage/LocalStorage.cpp: 55822 (WebCore::LocalStorage::storageArea): Removed the unused Frame* argument. 55823 * storage/LocalStorage.h: Ditto. 55824 55825 * svg/SVGElement.cpp: 55826 (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't pass an exception 55827 code location to dispatchGenericEvent. 55828 * svg/SVGElementInstance.cpp: 55829 (WebCore::SVGElementInstance::dispatchEvent): Ditto. 55830 55831 * svg/SVGStyledTransformableElement.cpp: Removed include of unused RegularExpression.h. 55832 (WebCore::SVGStyledTransformableElement::createRenderer): Don't pass style in to 55833 the RenderPath constructor. 55834 55835 * svg/SVGTransformable.cpp: Removed include of unused RegularExpression.h. 55836 55837 * xml/XSLTProcessor.cpp: 55838 (WebCore::createFragmentFromSource): Removed unused sourceNode argument. 55839 (WebCore::XSLTProcessor::transformToFragment): Don't pass sourceNode to createFragmentFromSource. 55840 55841 2009-01-11 Alexey Proskuryakov <ap (a] webkit.org> 55842 55843 Reviewed by Darin Adler. 55844 55845 https://bugs.webkit.org/show_bug.cgi?id=23165 55846 Disable application cache dynamic entries support. 55847 55848 * bindings/js/JSDOMApplicationCacheCustom.cpp: 55849 * loader/appcache/DOMApplicationCache.idl: 55850 55851 2009-01-11 Adam Treat <adam.treat (a] torchmobile.com> 55852 55853 Reviewed by Darin Adler. 55854 55855 Correct coordinate transformation for deeply nested frames on resizing. This 55856 fixes https://bugs.webkit.org/show_bug.cgi?id=20766. 55857 55858 Test: fast/frames/frame-deep-nested-resize.html 55859 55860 * rendering/RenderFrameSet.cpp: 55861 (WebCore::RenderFrameSet::userResize): 55862 55863 2009-01-11 Mark Rowe <mrowe (a] apple.com> 55864 55865 Tiger build fix. The connection parameter is still used on Tiger in this method. 55866 55867 * platform/network/mac/ResourceHandleMac.mm: 55868 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): 55869 55870 2009-01-11 Darin Adler <darin (a] apple.com> 55871 55872 Reviewed by Dan Bernstein. 55873 55874 Bug 23102: turn on unused parameter warnings in WebCore 55875 https://bugs.webkit.org/show_bug.cgi?id=23102 55876 55877 Third step: Deal with cases of arguments used only in assertions. 55878 55879 * dom/MessagePort.cpp: 55880 (WebCore::MessagePortCloseEventTask::performTask): Use ASSERT_UNUSED. 55881 * dom/Worker.cpp: 55882 (WebCore::Worker::notifyFinished): Ditto. 55883 * dom/XMLTokenizer.cpp: 55884 (WebCore::XMLTokenizer::notifyFinished): Ditto. 55885 * loader/appcache/ApplicationCacheGroup.cpp: 55886 (WebCore::ApplicationCacheGroup::failedLoadingMainResource): Ditto. 55887 * loader/appcache/ApplicationCacheStorage.cpp: 55888 (WebCore::ApplicationCacheStorage::verifySchemaVersion): Ditto. 55889 * loader/icon/IconLoader.cpp: 55890 (WebCore::IconLoader::didReceiveData): Since loader and size are only 55891 used when logging, use UNUSED_PARAM when logging is disabled. 55892 * platform/mac/WidgetMac.mm: 55893 (WebCore::Widget::beforeMouseDown): Use ASSERT_UNUSED. 55894 * platform/network/mac/ResourceHandleMac.mm: 55895 (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Use the 55896 argument since it's probably a tiny bit more efficient and gets rid 55897 of the unused argument warning. 55898 * rendering/RenderListMarker.cpp: 55899 (WebCore::RenderListMarker::createInlineBox): Use ASSERT_UNUSED. 55900 * rendering/RenderObject.cpp: 55901 (WebCore::RenderObject::createInlineBox): Ditto. 55902 * rendering/RenderSVGInline.cpp: 55903 (WebCore::RenderSVGInline::createInlineBox): Use UNUSED_PARAM. 55904 I couldn't use ASSERT_UNUSED because it's a single assertion, but it's 55905 the only use for two different arguments. 55906 * rendering/RenderText.cpp: 55907 (WebCore::RenderText::createInlineBox): Use ASSERT_UNUSED. 55908 * rendering/RenderThemeMac.mm: 55909 (-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]): Ditto. 55910 55911 2009-01-11 Simon Fraser <simon.fraser (a] apple.com> 55912 55913 Reviewed by Oliver Hunt 55914 55915 https://bugs.webkit.org/show_bug.cgi?id=23242 55916 55917 Fix CanvasRenderingContext2D::transform to do a pre-multiply, 55918 rather than a post-multiply into m_transform. This bug did not affect 55919 drawing, but did cause m_transform to be incorrect, which impacted 55920 willDraw(), and isPointInPath. 55921 55922 Test: fast/canvas/canvas-incremental-repaint-2.html 55923 55924 * html/CanvasRenderingContext2D.cpp: 55925 (WebCore::CanvasRenderingContext2D::transform): 55926 55927 2009-01-11 Darin Adler <darin (a] apple.com> 55928 55929 Reviewed by Dan Bernstein. 55930 55931 Bug 23102: turn on unused parameter warnings in WebCore 55932 https://bugs.webkit.org/show_bug.cgi?id=23102 55933 55934 Second step: Fix simple Objective-C cases where we need to use UNUSED_PARAM. 55935 That's because you can't omit an argument name in Objective-C methods. 55936 55937 * bindings/objc/DOMObject.mm: 55938 (-[DOMObject copyWithZone:]): Use UNUSED_PARAM. Also rename argument to include 55939 the word "unused" so we don't just start using it without removing the macro. 55940 * bindings/objc/WebScriptObject.mm: 55941 (+[WebUndefined allocWithZone:]): Ditto. 55942 (-[WebUndefined initWithCoder:]): Ditto. 55943 (-[WebUndefined encodeWithCoder:]): Ditto. 55944 (-[WebUndefined copyWithZone:]): Ditto. 55945 * page/mac/WebDashboardRegion.m: 55946 (-[WebDashboardRegion copyWithZone:]): Ditto. 55947 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 55948 (WebCore::mainThreadSetNeedsDisplay): Omit argument name. 55949 (-[WebCoreMovieObserver loadStateChanged:]): Use UNUSED_PARAM as above. 55950 (-[WebCoreMovieObserver rateChanged:]): Ditto. 55951 (-[WebCoreMovieObserver sizeChanged:]): Ditto. 55952 (-[WebCoreMovieObserver timeChanged:]): Ditto. 55953 (-[WebCoreMovieObserver didEnd:]): Ditto. 55954 (-[WebCoreMovieObserver newImageAvailable:]): Ditto. 55955 * platform/mac/ScrollbarThemeMac.mm: 55956 (+[ScrollbarPrefsObserver appearancePrefsChanged:]): Ditto. 55957 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]): Ditto. 55958 * platform/mac/SharedTimerMac.mm: 55959 (-[WebCorePowerNotifier didWake:]): Ditto. 55960 * platform/mac/WebCoreKeyGenerator.m: 55961 (-[WebCoreKeyGenerator signedPublicKeyAndChallengeStringWithStrengthIndex:challenge:pageURL:]): Ditto. 55962 * platform/network/mac/ResourceHandleMac.mm: 55963 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): Ditto. 55964 (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]): Ditto. 55965 (-[WebCoreResourceHandleAsDelegate connection:didReceiveAuthenticationChallenge:]): Ditto. 55966 (-[WebCoreResourceHandleAsDelegate connection:didCancelAuthenticationChallenge:]): Ditto. 55967 (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Ditto. 55968 (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]): Ditto. 55969 (-[WebCoreResourceHandleAsDelegate connection:willStopBufferingData:]): Ditto. 55970 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): Ditto. 55971 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): Ditto. 55972 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): Ditto. 55973 (-[WebCoreResourceHandleAsDelegate connection:willCacheResponse:]): Ditto. 55974 (-[WebCoreSynchronousLoader connection:willSendRequest:redirectResponse:]): Ditto. 55975 (-[WebCoreSynchronousLoader connection:didReceiveAuthenticationChallenge:]): Ditto. 55976 (-[WebCoreSynchronousLoader connection:didReceiveResponse:]): Ditto. 55977 (-[WebCoreSynchronousLoader connection:didReceiveData:]): Ditto. 55978 (-[WebCoreSynchronousLoader connectionDidFinishLoading:]): Ditto. 55979 (-[WebCoreSynchronousLoader connection:didFailWithError:]): Ditto. 55980 55981 2009-01-11 Dirk Schulze <krit (a] webkit.org> 55982 55983 Reviewed by Darin Adler. 55984 55985 Move platform dependent strokeContains back to RenderPath, Path and delete 55986 unneeded Code in svg. 55987 55988 RenderPath clean-up for strokeContains 55989 [https://bugs.webkit.org/show_bug.cgi?id=22957] 55990 55991 * GNUmakefile.am: 55992 * WebCore.pro: 55993 * WebCore.vcproj/WebCore.vcproj: 55994 * WebCore.xcodeproj/project.pbxproj: 55995 * platform/graphics/Path.h: 55996 * platform/graphics/cairo/PathCairo.cpp: 55997 (WebCore::Path::strokeContains): 55998 * platform/graphics/cg/PathCG.cpp: 55999 (WebCore::Path::strokeContains): 56000 * platform/graphics/qt/PathQt.cpp: 56001 (WebCore::Path::strokeContains): 56002 * rendering/RenderPath.cpp: 56003 (WebCore::RenderPath::strokeContains): 56004 * svg/graphics/cairo/RenderPathCairo.cpp: Removed. 56005 * svg/graphics/cg/CgSupport.cpp: Removed. 56006 * svg/graphics/cg/CgSupport.h: Removed. 56007 * svg/graphics/cg/RenderPathCg.cpp: Removed. 56008 * svg/graphics/cg/SVGPaintServerPatternCg.cpp: 56009 * svg/graphics/cg/SVGResourceMaskerCg.mm: 56010 * svg/graphics/qt/RenderPathQt.cpp: Removed. 56011 56012 2009-01-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 56013 56014 Reviewed by Anders Carlsson. 56015 56016 [GTK] make distcheck complains that distclean is not deleting JSWorkerContextBase.lut.h 56017 56018 make distcheck pass by adding JSWorkerContextBase.lut.h to the 56019 CLEANFILES that will be cleaned on a make distclean. 56020 56021 * GNUmakefile.am: 56022 56023 2009-01-11 Zalan Bujtas <zbujtas (a] gmail.com> 56024 56025 Reviewed by Alexey Proskuryakov. 56026 56027 https://bugs.webkit.org/show_bug.cgi?id=23235 56028 Build fix for non-VIDEO builds. 56029 56030 * rendering/RenderTheme.cpp: 56031 * rendering/RenderTheme.h: 56032 56033 2009-01-11 Gabriella Toth <gtoth (a] inf.u-szeged.hu> 56034 56035 Reviewed by Darin Adler. 56036 56037 https://bugs.webkit.org/show_bug.cgi?id=19287 56038 return value of malloc() is not checked in npruntime.cpp 56039 56040 Checking whether malloc can allocate memory or not. If it can't, CRASH macro is invoked 56041 (like in fastMalloc). 56042 56043 * bridge/npruntime.cpp: 56044 (_NPN_GetStringIdentifier): 56045 (_NPN_GetIntIdentifier): 56046 (NPN_InitializeVariantWithStringCopy): 56047 (_NPN_CreateObject): 56048 56049 2009-01-11 Glenn Wilson <gwilson (a] google.com> 56050 56051 Reviewed by Darin Adler. 56052 56053 Changes radio buttons so they can be 'checked' even if they 56054 don't have the name attribute set. 56055 56056 See https://bugs.webkit.org/show_bug.cgi?id=21534 56057 56058 Test: fast/html/select-unnamed-radio.html 56059 56060 * html/HTMLInputElement.cpp: 56061 (WebCore::HTMLInputElement::preDispatchEventHandler): 56062 56063 2009-01-11 Bernhard Rosenkraenzer <bero (a] arklinux.ch> 56064 56065 Reviewed by Darin Adler. 56066 56067 https://bugs.webkit.org/show_bug.cgi?id=22205 56068 Fix compatibility with bison 2.4, partially based on older patch by 56069 Priit Laes <amd (a] store20.com> 56070 56071 * WebCore/css/CSSGrammar.y: Made compatible with bison 2.4 56072 56073 2009-01-11 Jeremy Moskovich <jeremy (a] chromium.org> 56074 56075 Reviewed by Darin Adler. 56076 56077 https://bugs.webkit.org/show_bug.cgi?id=16001 56078 Incorrect assumption that selection is always contiguous LTR. 56079 56080 Test: editing/selection/extend-selection-bidi.html 56081 56082 * rendering/RootInlineBox.cpp: (WebCore::RootInlineBox::fillLineSelectionGap): 56083 Make this function not assume a contiguous visual LTR selection range. 56084 56085 2009-01-11 Dmitry Titov <dimich (a] chromium.org> 56086 56087 Reviewed by Darin Adler. 56088 56089 https://bugs.webkit.org/show_bug.cgi?id=23207 56090 Moved currentTime() to from WebCore to WTF. 56091 56092 Most of these files only have a different header file included. 56093 Various build files reflect removal of SystemTimeGtk, Wx, Qt and Linux 56094 which were removed since they only implemented currentTime(). 56095 56096 * ForwardingHeaders/wtf/CurrentTime.h: Added. 56097 * GNUmakefile.am: 56098 * WebCore.base.exp: 56099 * WebCore.pro: 56100 * dom/ContainerNode.cpp: 56101 * dom/Document.cpp: 56102 * dom/Event.cpp: 56103 * history/CachedPage.cpp: 56104 * history/PageCache.cpp: 56105 * html/HTMLMediaElement.cpp: 56106 (WebCore::HTMLMediaElement::load): 56107 (WebCore::HTMLMediaElement::progressEventTimerFired): 56108 * html/HTMLTokenizer.cpp: 56109 * html/PreloadScanner.cpp: 56110 * inspector/InspectorController.cpp: 56111 * loader/Cache.cpp: 56112 (WebCore::Cache::pruneLiveResources): 56113 * loader/CachedImage.cpp: 56114 * loader/CachedResource.cpp: 56115 * loader/FrameLoader.cpp: 56116 * loader/ProgressTracker.cpp: 56117 * loader/icon/IconDatabase.cpp: 56118 * loader/icon/IconRecord.cpp: 56119 * page/DragController.cpp: 56120 * page/Frame.cpp: 56121 * page/FrameView.cpp: 56122 * page/animation/AnimationBase.cpp: 56123 * page/animation/AnimationController.cpp: 56124 * page/animation/KeyframeAnimation.cpp: 56125 * platform/SystemTime.h: 56126 * platform/Timer.cpp: 56127 * platform/graphics/BitmapImage.cpp: 56128 * platform/gtk/MouseEventGtk.cpp: 56129 * platform/gtk/SharedTimerGtk.cpp: 56130 * platform/gtk/SystemTimeGtk.cpp: Removed. 56131 * platform/gtk/SystemTimeLinux.cpp: Removed. 56132 * platform/mac/SystemTimeMac.cpp: 56133 * platform/qt/PlatformMouseEventQt.cpp: 56134 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 56135 * platform/qt/SharedTimerQt.cpp: 56136 * platform/qt/SharedTimerQt.h: 56137 * platform/qt/SystemTimeQt.cpp: Removed. 56138 * platform/win/SharedTimerWin.cpp: 56139 * platform/win/SystemTimeWin.cpp: 56140 * platform/wx/MouseEventWx.cpp: 56141 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 56142 * platform/wx/SharedTimerWx.cpp: 56143 * platform/wx/SystemTimeWx.cpp: Removed. 56144 * rendering/RenderImage.cpp: 56145 * rendering/RenderMedia.cpp: 56146 * svg/animation/SMILTimeContainer.cpp: 56147 * webcore-wx.bkl: 56148 * xml/XMLHttpRequest.cpp: 56149 56150 2009-01-11 Dmitry Titov <dimich (a] chromium.org> 56151 56152 Reviewed by Darin Adler. 56153 56154 Make ScheduledAction (Timeout callback) able to execute the callback under WorkerContext. 56155 Part of 'Timers in Workers' work. 56156 https://bugs.webkit.org/show_bug.cgi?id=23223 56157 56158 * bindings/js/ScheduledAction.cpp: 56159 (WebCore::ScheduledAction::execute): new method that takes WorkerContext. 56160 (WebCore::ScheduledAction::executeFunctionInContext): Executes a JSFunction in proper context with 'this' object. 56161 * bindings/js/ScheduledAction.h: 56162 56163 2009-01-10 Eric Carlson <eric.carlson (a] apple.com> 56164 56165 Reviewed by Eric Seidel. 56166 56167 https://bugs.webkit.org/show_bug.cgi?id=23210 56168 Make it easier for ports to define custom UI for media controls 56169 56170 * css/CSSStyleSelector.cpp: 56171 (WebCore::CSSStyleSelector::styleForElement): call theme()->styleSheetForMediaControls to 56172 get the media controller style sheet 56173 56174 * rendering/MediaControlElements.cpp: 56175 (WebCore::MediaControlInputElement::hitTest): Added 56176 * rendering/MediaControlElements.h: Updated 56177 56178 * rendering/RenderMedia.cpp: 56179 (WebCore::RenderMedia::forwardEvent): Call element hitTest() method instead of local function 56180 so control elements don't necessarily have to be rectangular 56181 56182 * rendering/RenderTheme.cpp: 56183 (WebCore::RenderTheme::styleSheetForMediaControls): Added 56184 (WebCore::RenderTheme::hitTestMediaControlPart): Added 56185 * rendering/RenderTheme.h: Updated 56186 56187 2009-01-10 Simon Fraser <simon.fraser (a] apple.com> 56188 56189 Reviewed by Dan Bernstein 56190 56191 https://bugs.webkit.org/show_bug.cgi?id=23222 56192 56193 We need to disable LayoutState when an object has transforms, 56194 because LayoutState is not transform-aware and therefore 56195 repaint rects can be computed incorrectly. 56196 56197 Test: fast/repaint/transform-disable-layoutstate.html 56198 56199 * rendering/RenderBlock.cpp: 56200 (WebCore::RenderBlock::layoutBlock): 56201 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 56202 * rendering/RenderFlexibleBox.cpp: 56203 (WebCore::RenderFlexibleBox::layoutBlock): 56204 56205 2009-01-09 Holger Hans Peter Freyther <zecke (a] selfish.org> 56206 56207 Reviewed by Simon Hausmann. 56208 56209 [QT] Make SharedTimer use QBasicTimer 56210 56211 Kill the SharedTimerQt.h and the usage of signal and slots 56212 by using QBasicTimer. 56213 56214 * WebCore.pro: 56215 * platform/qt/SharedTimerQt.cpp: 56216 (WebCore::SharedTimerQt::SharedTimerQt): 56217 (WebCore::SharedTimerQt::inst): 56218 (WebCore::SharedTimerQt::start): 56219 (WebCore::SharedTimerQt::stop): 56220 (WebCore::SharedTimerQt::timerEvent): 56221 (WebCore::setSharedTimerFiredFunction): 56222 (WebCore::setSharedTimerFireTime): 56223 (WebCore::stopSharedTimer): 56224 * platform/qt/SharedTimerQt.h: Removed. 56225 56226 2009-01-09 Adam Bergkvist <adam.bergkvist (a] ericsson.com> 56227 56228 Reviewed by Holger Freyther. 56229 56230 [CURL] POST without body becomes GET 56231 https://bugs.webkit.org/show_bug.cgi?id=23182 56232 56233 Make sure that method is always set to POST even when the body is 56234 empty. Cleaned up httpBody null check. 56235 56236 * platform/network/curl/ResourceHandleManager.cpp: 56237 (WebCore::ResourceHandleManager::setupPOST): 56238 56239 2009-01-09 Adam Treat <adam.treat (a] torchmobile.com> 56240 56241 Build fix. 56242 56243 * plugins/PluginView.cpp: 56244 56245 2009-01-09 Adele Peterson <adele (a] apple.com> 56246 56247 Reviewed by Darin Adler. 56248 56249 Fix infinite recursion in clientPaddingLeft and clientPaddingRight. This changes the code back to 56250 how it was before RenderTextControlSingleLine was split out from RenderTextControl. 56251 56252 No test added since this code is only exercised when trying to place a search field's recent searches popup menu. 56253 56254 * rendering/RenderTextControlSingleLine.cpp: 56255 (WebCore::RenderTextControlSingleLine::clientPaddingLeft): 56256 (WebCore::RenderTextControlSingleLine::clientPaddingRight): 56257 56258 2009-01-09 Darin Adler <darin (a] apple.com> 56259 56260 Reviewed by Jon Honeycutt. 56261 56262 Bug 22913: REGRESSION: Space bar doesn't scroll on windows 56263 https://bugs.webkit.org/show_bug.cgi?id=22913 56264 rdar://problem/6479834 56265 56266 * page/EventHandler.cpp: 56267 (WebCore::EventHandler::defaultKeyboardEventHandler): Added code to call 56268 defaultSpaceEventHandler. 56269 (WebCore::EventHandler::defaultSpaceEventHandler): Added. Scrolls down or up based 56270 on the shift key. 56271 * page/EventHandler.h: Added defaultSpaceEventHandler. 56272 56273 * platform/mac/ScrollViewMac.mm: 56274 (WebCore::ScrollView::platformScroll): Return false, because this function does 56275 not scroll. In an earlier version of this patch, I used this to prevent the 56276 patch from affecting the Mac, but I decided to use #if instead. 56277 56278 2009-01-09 Gavin Barraclough <barraclough (a] apple.com> 56279 56280 Reviewed by Oliver Hunt. 56281 56282 Delete references to JSValue, removing this class. 56283 56284 * bindings/js/JSWorkerContextCustom.cpp: 56285 (WebCore::JSWorkerContext::self): 56286 * bindings/js/ScriptCallStack.h: 56287 56288 2009-01-09 Dimitri Glazkov <dglazkov (a] chromium.org> 56289 56290 Reviewed by Eric Seidel. 56291 56292 Add svg/graphics/skia files. 56293 https://bugs.webkit.org/show_bug.cgi?id=23147 56294 56295 * svg/graphics/skia/RenderPathSkia.cpp: Added. 56296 (WebCore::RenderPath::strokeContains): 56297 * svg/graphics/skia/SVGPaintServerPatternSkia.cpp: Added. 56298 (WebCore::SVGPaintServerPattern::setup): 56299 * svg/graphics/skia/SVGPaintServerSkia.cpp: Added. 56300 (WebCore::SVGPaintServer::draw): 56301 (WebCore::SVGPaintServer::teardown): 56302 (WebCore::SVGPaintServer::renderPath): 56303 * svg/graphics/skia/SVGResourceFilterSkia.cpp: Added. 56304 (WebCore::SVGResourceFilter::createPlatformData): 56305 (WebCore::SVGResourceFilter::prepareFilter): 56306 (WebCore::SVGResourceFilter::applyFilter): 56307 * svg/graphics/skia/SVGResourceMaskerSkia.cpp: Added. 56308 (WebCore::SVGResourceMasker::applyMask): 56309 56310 2009-01-09 Dimitri Glazkov <dglazkov (a] chromium.org> 56311 56312 Reviewed by Eric Seidel. 56313 56314 Add SkiaFontWin to platform/graphics/chromium 56315 https://bugs.webkit.org/show_bug.cgi?id=23215 56316 56317 * platform/graphics/skia/SkiaFontWin.cpp: Added. 56318 (WebCore::CachedOutlineKey::CachedOutlineKey): 56319 (WebCore::operator==): 56320 (WebCore::CachedOutlineKeyHash::hash): 56321 (WebCore::CachedOutlineKeyHash::equal): 56322 (WebCore::FIXEDToSkScalar): 56323 (WebCore::deleteOutline): 56324 (WebCore::addPolyCurveToPath): 56325 (WebCore::getPathForGlyph): 56326 (WebCore::SkiaWinOutlineCache::lookupOrCreatePathForGlyph): 56327 (WebCore::SkiaWinOutlineCache::removePathsForFont): 56328 * platform/graphics/skia/SkiaFontWin.h: Added. 56329 56330 2009-01-09 Anders Carlsson <andersca (a] apple.com> 56331 56332 Fix build. 56333 56334 * WebCore.LP64.exp: 56335 56336 2009-01-09 Dimitri Glazkov <dglazkov (a] chromium.org> 56337 56338 Reviewed by Eric Seidel. 56339 56340 Add PlatformContextSkia and PlatformGraphics.h to platform/graphics/skia 56341 https://bugs.webkit.org/show_bug.cgi?id=23215 56342 56343 * platform/graphics/skia/PlatformContextSkia.cpp: Added. 56344 (PlatformContextSkia::State::State): 56345 (PlatformContextSkia::State::~State): 56346 (PlatformContextSkia::State::applyAlpha): 56347 (PlatformContextSkia::PlatformContextSkia): 56348 (PlatformContextSkia::~PlatformContextSkia): 56349 (PlatformContextSkia::setCanvas): 56350 (PlatformContextSkia::save): 56351 (PlatformContextSkia::restore): 56352 (PlatformContextSkia::drawRect): 56353 (PlatformContextSkia::setupPaintCommon): 56354 (PlatformContextSkia::setupPaintForFilling): 56355 (PlatformContextSkia::setupPaintForStroking): 56356 (PlatformContextSkia::setDrawLooper): 56357 (PlatformContextSkia::setMiterLimit): 56358 (PlatformContextSkia::setAlpha): 56359 (PlatformContextSkia::setLineCap): 56360 (PlatformContextSkia::setLineJoin): 56361 (PlatformContextSkia::setPorterDuffMode): 56362 (PlatformContextSkia::setFillColor): 56363 (PlatformContextSkia::getDrawLooper): 56364 (PlatformContextSkia::getStrokeStyle): 56365 (PlatformContextSkia::setStrokeStyle): 56366 (PlatformContextSkia::setStrokeColor): 56367 (PlatformContextSkia::getStrokeThickness): 56368 (PlatformContextSkia::setStrokeThickness): 56369 (PlatformContextSkia::getTextDrawingMode): 56370 (PlatformContextSkia::setTextDrawingMode): 56371 (PlatformContextSkia::setUseAntialiasing): 56372 (PlatformContextSkia::fillColor): 56373 (PlatformContextSkia::beginPath): 56374 (PlatformContextSkia::addPath): 56375 (PlatformContextSkia::setFillRule): 56376 (PlatformContextSkia::setGradient): 56377 (PlatformContextSkia::setPattern): 56378 (PlatformContextSkia::setDashPathEffect): 56379 (PlatformContextSkia::paintSkPaint): 56380 (PlatformContextSkia::bitmap): 56381 (PlatformContextSkia::isPrinting): 56382 * platform/graphics/skia/PlatformContextSkia.h: Added. 56383 (PlatformContextSkia::currentPath): 56384 (PlatformContextSkia::canvas): 56385 (PlatformContextSkia::gdk_skia): 56386 * platform/graphics/skia/PlatformGraphics.h: Added. 56387 56388 2009-01-09 Dimitri Glazkov <dglazkov (a] chromium.org> 56389 56390 Reviewed by Eric Seidel. 56391 56392 Add TransformationMatrixSkia to platform/graphics/skia 56393 https://bugs.webkit.org/show_bug.cgi?id=23215 56394 56395 * platform/graphics/skia/TransformationMatrixSkia.cpp: Added. 56396 (WebCore::TransformationMatrix::TransformationMatrix): 56397 (WebCore::TransformationMatrix::setMatrix): 56398 (WebCore::TransformationMatrix::map): 56399 (WebCore::TransformationMatrix::mapRect): 56400 (WebCore::TransformationMatrix::isIdentity): 56401 (WebCore::TransformationMatrix::reset): 56402 (WebCore::TransformationMatrix::scale): 56403 (WebCore::TransformationMatrix::rotate): 56404 (WebCore::TransformationMatrix::translate): 56405 (WebCore::TransformationMatrix::shear): 56406 (WebCore::TransformationMatrix::det): 56407 (WebCore::TransformationMatrix::inverse): 56408 (WebCore::TransformationMatrix::operator SkMatrix): 56409 (WebCore::TransformationMatrix::operator==): 56410 (WebCore::TransformationMatrix::operator*=): 56411 (WebCore::TransformationMatrix::operator*): 56412 (WebCore::TransformationMatrix::a): 56413 (WebCore::TransformationMatrix::setA): 56414 (WebCore::TransformationMatrix::b): 56415 (WebCore::TransformationMatrix::setB): 56416 (WebCore::TransformationMatrix::c): 56417 (WebCore::TransformationMatrix::setC): 56418 (WebCore::TransformationMatrix::d): 56419 (WebCore::TransformationMatrix::setD): 56420 (WebCore::TransformationMatrix::e): 56421 (WebCore::TransformationMatrix::setE): 56422 (WebCore::TransformationMatrix::f): 56423 (WebCore::TransformationMatrix::setF): 56424 56425 2009-01-09 Alexey Proskuryakov <ap (a] webkit.org> 56426 56427 Reviewed by Darin Adler. 56428 56429 <rdar://problem/6477502> Repro crash reloading page using HTML5 AppCache on Windows 56430 56431 Test: http/tests/appcache/reload.html 56432 56433 On Windows, reloading resulted in the following sequence of events: 56434 1) A new main resource loader was created and associated with the cache. Its document loader 56435 was not associated with the cache yet. 56436 2) The old document loader was destroyed, and since it was the last one, ApplicationCacheGroup 56437 teardown started, with newestCache being zeroed out. 56438 3) The new document loader was associated with the cache group, and cache update started. 56439 4) Since newestCache was null, this caused many problems. 56440 56441 * loader/appcache/ApplicationCacheGroup.cpp: 56442 (WebCore::ApplicationCacheGroup::documentLoaderDestroyed): Improve comments and assertions, 56443 no functional changes. 56444 (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache): Revive the cache group 56445 if its newest cache pointer is already saved for teardown. Note that the cache pointer 56446 validity is ensured by MainResourceLoader that holds a reference to it. 56447 56448 2009-01-09 Darin Fisher <darin (a] chromium.org> 56449 56450 Reviewed by Eric Seidel. 56451 56452 https://bugs.webkit.org/show_bug.cgi?id=23214 56453 Upstream platform/network/chromium/ 56454 56455 * platform/network/chromium/AuthenticationChallenge.h: Added. 56456 (WebCore::AuthenticationChallenge::AuthenticationChallenge): 56457 (WebCore::AuthenticationChallenge::sourceHandle): 56458 * platform/network/chromium/AuthenticationChallengeChromium.cpp: Added. 56459 (WebCore::AuthenticationChallenge::platformCompare): 56460 * platform/network/chromium/CookieJarChromium.cpp: Added. 56461 (WebCore::setCookies): 56462 (WebCore::cookies): 56463 (WebCore::cookiesEnabled): 56464 * platform/network/chromium/DNSChromium.cpp: Added. 56465 (WebCore::prefetchDNS): 56466 * platform/network/chromium/NetworkStateNotifierChromium.cpp: Added. 56467 (WebCore::NetworkStateNotifier::updateState): 56468 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 56469 * platform/network/chromium/NetworkStateNotifierPrivate.h: Added. 56470 * platform/network/chromium/ResourceError.h: Added. 56471 (WebCore::ResourceError::ResourceError): 56472 * platform/network/chromium/ResourceRequest.h: Added. 56473 (WebCore::ResourceRequest::): 56474 (WebCore::ResourceRequest::ResourceRequest): 56475 (WebCore::ResourceRequest::frame): 56476 (WebCore::ResourceRequest::setFrame): 56477 (WebCore::ResourceRequest::setTargetType): 56478 (WebCore::ResourceRequest::targetType): 56479 (WebCore::ResourceRequest::originPid): 56480 (WebCore::ResourceRequest::setOriginPid): 56481 (WebCore::ResourceRequest::securityInfo): 56482 (WebCore::ResourceRequest::setSecurityInfo): 56483 (WebCore::ResourceRequest::doUpdatePlatformRequest): 56484 (WebCore::ResourceRequest::doUpdateResourceRequest): 56485 * platform/network/chromium/ResourceResponse.h: 56486 (WebCore::ResourceResponse::ResourceResponse): 56487 (WebCore::ResourceResponse::getSecurityInfo): 56488 (WebCore::ResourceResponse::setSecurityInfo): 56489 (WebCore::ResourceResponse::isContentFiltered): 56490 (WebCore::ResourceResponse::setIsContentFiltered): 56491 (WebCore::ResourceResponse::doUpdateResourceResponse): 56492 56493 2009-01-09 Peter Kasting <pkasting (a] google.com> 56494 56495 Reviewed by David Hyatt. 56496 56497 https://bugs.webkit.org/show_bug.cgi?id=22995 56498 Fix flaky image animation by resetting the metadata for a frame when 56499 we get new data for that frame. This fixes animations that halted 56500 when the next frame of the animation wasn't complete by the time the 56501 current frame's duration expired. 56502 56503 * platform/graphics/BitmapImage.cpp: 56504 (WebCore::BitmapImage::destroyDecodedData): 56505 (WebCore::BitmapImage::dataChanged): 56506 * platform/graphics/BitmapImage.h: 56507 (WebCore::FrameData::~FrameData): 56508 * platform/graphics/cairo/ImageCairo.cpp: 56509 (WebCore::FrameData::clear): 56510 * platform/graphics/cg/ImageCG.cpp: 56511 (WebCore::FrameData::clear): 56512 * platform/graphics/qt/ImageQt.cpp: 56513 (WebCore::FrameData::clear): 56514 * platform/graphics/wx/ImageWx.cpp: 56515 (WebCore::FrameData::clear): 56516 56517 2009-01-09 Simon Hausmann <simon.hausmann (a] nokia.com> 56518 56519 Rubber-stamped by Tor Arne Vestb. 56520 56521 Swap the .h and the .cpp output in the Qt build for the 56522 UserAgentStyleSheetData files, to put the definition in the .cpp file 56523 and the declaration in the header file. 56524 56525 * WebCore.pro: 56526 56527 2009-01-09 David Levin <levin (a] chromium.org> 56528 56529 Reviewed by Oliver Hunt. 56530 56531 https://bugs.webkit.org/show_bug.cgi?id=23175 56532 56533 Added forwarding header. 56534 56535 * ForwardingHeaders/wtf/PtrAndFlags.h: Added. 56536 56537 2009-01-09 Tor Arne Vestb <tavestbo (a] trolltech.com> 56538 56539 Reviewed by Simon Hausmann. 56540 56541 Prevent qmake from generating duplicate rules for embedded stylesheets 56542 56543 The STYLESHEETS_EMBED variable used to contain only one file name, but 56544 now that it is a list of files we need to change it to be a dependency 56545 for the stylesheet generator instead of the input. 56546 56547 * WebCore.pro: 56548 56549 2009-01-09 Simon Hausmann <simon.hausmann (a] nokia.com> 56550 56551 Reviewed by Tor Arne Vestb. 56552 56553 Fix qmake warning about missing test function, a contains() call was 56554 missing. 56555 56556 * WebCore.pro: 56557 56558 2009-01-09 Simon Hausmann <simon.hausmann (a] nokia.com> 56559 56560 Rubber-stamped by Tor Arne Vestb. 56561 56562 Add the Qt API headers to HEADERS, too, for improved completion in IDEs. 56563 56564 * WebCore.pro: 56565 56566 2009-01-09 David Levin <levin (a] chromium.org> 56567 56568 Reviewed by Alexey Proskuryakov. 56569 56570 https://bugs.webkit.org/show_bug.cgi?id=23199 56571 56572 Fix deref's of string happening on two different threads. 56573 56574 No observable change in behavior, so no test. However, there are asserts 56575 being added for https://bugs.webkit.org/show_bug.cgi?id=23175 which 56576 will detect this issue while running the normal worker tests. 56577 56578 * dom/WorkerThread.cpp: 56579 (WebCore::WorkerThreadStartupData::create): 56580 (WebCore::WorkerThreadStartupData::WorkerThreadStartupData): 56581 (WebCore::WorkerThread::WorkerThread): 56582 (WebCore::WorkerThread::workerThread): 56583 * dom/WorkerThread.h: 56584 56585 2009-01-08 Dan Bernstein <mitz (a] apple.com> 56586 56587 Reviewed by Adam Roben. 56588 56589 - use native glyph support in Core Graphics when available 56590 56591 * platform/graphics/win/FontCGWin.cpp: 56592 (WebCore::Font::drawGlyphs): Changed to use drawGDIGlyphs() only if 56593 native glyph support is not available or stroking is required. Changed 56594 to pass the font's useGDI() flag to wkSetCGContextFontRenderingStyle to 56595 request the use of native glyphs. 56596 * platform/graphics/win/FontCustomPlatformData.cpp: 56597 (WebCore::FontCustomPlatformData::fontPlatformData): Added a call to 56598 wkSetFontPlatformInfo to attach the LOGFONT to the CGFont. 56599 * platform/graphics/win/FontPlatformDataCGWin.cpp: 56600 (WebCore::FontPlatformData::platformDataInit): Ditto. 56601 56602 2009-01-08 Peter Kasting <pkasting (a] google.com> 56603 56604 Reviewed by Sam Weinig. 56605 56606 https://bugs.webkit.org/show_bug.cgi?id=22929 56607 Fix memory regression when decoding large animated GIFs. 56608 56609 * platform/graphics/cg/ImageSourceCG.cpp: 56610 (WebCore::ImageSource::clear): 56611 56612 2009-01-08 Scott Violet <sky (a] chromium.org> 56613 56614 Reviewed by Eric Seidel (and Adam Barth). 56615 56616 Fix Images to return their file extension 56617 http://code.google.com/p/chromium/issues/detail?id=5827 56618 56619 * platform/graphics/skia/ImageSourceSkia.cpp: 56620 (WebCore::ImageSource::filenameExtension): 56621 56622 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56623 56624 Reviewed by Eric Seidel. 56625 56626 Add PathSkia and PatternSkia implementations to WebCore 56627 https://bugs.webkit.org/show_bug.cgi?id=23200 56628 56629 * platform/graphics/skia/PathSkia.cpp: Added. 56630 (WebCore::Path::Path): 56631 (WebCore::Path::~Path): 56632 (WebCore::Path::operator=): 56633 (WebCore::Path::isEmpty): 56634 (WebCore::Path::contains): 56635 (WebCore::Path::translate): 56636 (WebCore::Path::boundingRect): 56637 (WebCore::Path::moveTo): 56638 (WebCore::Path::addLineTo): 56639 (WebCore::Path::addQuadCurveTo): 56640 (WebCore::Path::addBezierCurveTo): 56641 (WebCore::Path::addArcTo): 56642 (WebCore::Path::closeSubpath): 56643 (WebCore::Path::addArc): 56644 (WebCore::Path::addRect): 56645 (WebCore::Path::addEllipse): 56646 (WebCore::Path::clear): 56647 (WebCore::convertPathPoints): 56648 (WebCore::Path::apply): 56649 (WebCore::Path::transform): 56650 (WebCore::Path::debugString): 56651 (WebCore::boundingBoxForCurrentStroke): 56652 (WebCore::Path::strokeBoundingRect): 56653 * platform/graphics/skia/PatternSkia.cpp: Added. 56654 (WebCore::shaderRule): 56655 (WebCore::Pattern::createPlatformPattern): 56656 56657 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56658 56659 Reviewed by Eric Seidel. 56660 56661 Add ImageSourceSkia to platform/graphics/skia 56662 https://bugs.webkit.org/show_bug.cgi?id=23200 56663 56664 ImageSourceSkia is mostly a hack to support our 56665 ICO decoder model. See ImageSourceSkia.h for more 56666 explanation. Eventually we'd like to make our ICO 56667 decoder lazy. 56668 56669 * platform/graphics/ImageSource.h: mark m_decoder as protected 56670 * platform/graphics/skia/ImageSourceSkia.cpp: Added. 56671 (WebCore::createDecoder): 56672 (WebCore::ImageSource::ImageSource): 56673 (WebCore::ImageSource::~ImageSource): 56674 (WebCore::ImageSource::clear): 56675 (WebCore::ImageSource::initialized): 56676 (WebCore::ImageSource::setData): 56677 (WebCore::ImageSource::isSizeAvailable): 56678 (WebCore::ImageSource::size): 56679 (WebCore::ImageSource::frameSizeAtIndex): 56680 (WebCore::ImageSource::repetitionCount): 56681 (WebCore::ImageSource::frameCount): 56682 (WebCore::ImageSource::createFrameAtIndex): 56683 (WebCore::ImageSource::frameIsCompleteAtIndex): 56684 (WebCore::ImageSource::frameDurationAtIndex): 56685 (WebCore::ImageSource::frameHasAlphaAtIndex): 56686 (WebCore::ImageSourceSkia::setData): 56687 (WebCore::ImageSource::filenameExtension): 56688 * platform/graphics/skia/ImageSourceSkia.h: Added. 56689 56690 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56691 56692 Reviewed by Eric Seidel. 56693 56694 Add NativeImageSkia (PlatformImagePtr) to platform/graphics/skia 56695 https://bugs.webkit.org/show_bug.cgi?id=23200 56696 56697 * platform/graphics/skia/NativeImageSkia.cpp: Added. 56698 (NativeImageSkia::NativeImageSkia): 56699 (NativeImageSkia::decodedSize): 56700 (NativeImageSkia::hasResizedBitmap): 56701 (NativeImageSkia::resizedBitmap): 56702 (NativeImageSkia::shouldCacheResampling): 56703 * platform/graphics/skia/NativeImageSkia.h: Added. 56704 (NativeImageSkia::setDataComplete): 56705 (NativeImageSkia::isDataComplete): 56706 56707 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56708 56709 Reviewed by Eric Seidel. 56710 56711 Add ImageBufferSkia and ImageSkia files. 56712 https://bugs.webkit.org/show_bug.cgi?id=23200 56713 For now we've left BitmapImage and BitmapImageSingleFrameSkia 56714 implementations in the ImageSkia file (like ImageCG has), but 56715 we intend to break them out into their own files. 56716 56717 * platform/graphics/skia/ImageBufferSkia.cpp: Added. 56718 (WebCore::ImageBufferData::ImageBufferData): 56719 (WebCore::ImageBuffer::ImageBuffer): 56720 (WebCore::ImageBuffer::~ImageBuffer): 56721 (WebCore::ImageBuffer::context): 56722 (WebCore::ImageBuffer::image): 56723 (WebCore::ImageBuffer::getImageData): 56724 (WebCore::ImageBuffer::putImageData): 56725 (WebCore::ImageBuffer::toDataURL): 56726 * platform/graphics/skia/ImageSkia.cpp: Added. 56727 (WebCore::): 56728 (WebCore::FrameData::clear): 56729 (WebCore::Image::loadPlatformResource): 56730 (WebCore::Image::drawPattern): 56731 (WebCore::BitmapImage::initPlatformData): 56732 (WebCore::BitmapImage::invalidatePlatformData): 56733 (WebCore::BitmapImage::checkForSolidColor): 56734 (WebCore::BitmapImage::draw): 56735 (WebCore::BitmapImageSingleFrameSkia::draw): 56736 (WebCore::BitmapImageSingleFrameSkia::create): 56737 56738 2009-01-08 James Robinson <jamesr (a] google.com> 56739 56740 Reviewed by Mark Rowe. 56741 Landed by Pamela Greene. 56742 56743 WebCore::Event::timeStamp() is a simple accessor and should be const 56744 56745 https://bugs.webkit.org/show_bug.cgi?id=23176 56746 56747 * dom/Event.h: 56748 (WebCore::Event::timeStamp): 56749 56750 2009-01-08 Antti Koivisto <antti (a] apple.com> 56751 56752 Reviewed by Oliver Hunt. 56753 56754 Fix <rdar://problem/6467206> 56755 Resources loaded from the memory cache do not get correctly inserted into the DocLoader resource map (22994) 56756 56757 Use CachedResourceHandle in document resource map so resources get updated correctly when using 56758 using cache validation conditionals. 56759 56760 * loader/Cache.cpp: 56761 (WebCore::Cache::evict): 56762 * loader/DocLoader.cpp: 56763 (WebCore::DocLoader::~DocLoader): 56764 (WebCore::DocLoader::requestResource): 56765 (WebCore::DocLoader::setAutoLoadImages): 56766 (WebCore::DocLoader::removeCachedResource): 56767 * loader/DocLoader.h: 56768 (WebCore::DocLoader::cachedResource): 56769 (WebCore::DocLoader::allCachedResources): 56770 * loader/DocumentLoader.cpp: 56771 (WebCore::DocumentLoader::getSubresources): 56772 * loader/ImageLoader.cpp: 56773 (WebCore::ImageLoader::updateFromElement): 56774 56775 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56776 56777 Reviewed by Eric Seidel. 56778 56779 Add a cleaned-up GraphicsContextSkia implementation to WebKit. 56780 https://bugs.webkit.org/show_bug.cgi?id=23191 56781 56782 * platform/graphics/skia/GraphicsContextSkia.cpp: Added. 56783 (WebCore::): 56784 (WebCore::GraphicsContext::GraphicsContext): 56785 (WebCore::GraphicsContext::~GraphicsContext): 56786 (WebCore::GraphicsContext::platformContext): 56787 (WebCore::GraphicsContext::savePlatformState): 56788 (WebCore::GraphicsContext::restorePlatformState): 56789 (WebCore::GraphicsContext::beginTransparencyLayer): 56790 (WebCore::GraphicsContext::endTransparencyLayer): 56791 (WebCore::GraphicsContext::addInnerRoundedRectClip): 56792 (WebCore::GraphicsContext::addPath): 56793 (WebCore::GraphicsContext::beginPath): 56794 (WebCore::GraphicsContext::clearPlatformShadow): 56795 (WebCore::GraphicsContext::clearRect): 56796 (WebCore::GraphicsContext::clip): 56797 (WebCore::GraphicsContext::clipOut): 56798 (WebCore::GraphicsContext::clipOutEllipseInRect): 56799 (WebCore::GraphicsContext::clipPath): 56800 (WebCore::GraphicsContext::clipToImageBuffer): 56801 (WebCore::GraphicsContext::concatCTM): 56802 (WebCore::GraphicsContext::drawConvexPolygon): 56803 (WebCore::GraphicsContext::drawEllipse): 56804 (WebCore::GraphicsContext::drawFocusRing): 56805 (WebCore::GraphicsContext::drawLine): 56806 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 56807 (WebCore::GraphicsContext::drawLineForText): 56808 (WebCore::GraphicsContext::drawRect): 56809 (WebCore::GraphicsContext::fillPath): 56810 (WebCore::GraphicsContext::fillRect): 56811 (WebCore::GraphicsContext::fillRoundedRect): 56812 (WebCore::GraphicsContext::getCTM): 56813 (WebCore::GraphicsContext::roundToDevicePixels): 56814 (WebCore::GraphicsContext::scale): 56815 (WebCore::GraphicsContext::setAlpha): 56816 (WebCore::GraphicsContext::setCompositeOperation): 56817 (WebCore::GraphicsContext::setImageInterpolationQuality): 56818 (WebCore::GraphicsContext::setLineCap): 56819 (WebCore::GraphicsContext::setLineDash): 56820 (WebCore::GraphicsContext::setLineJoin): 56821 (WebCore::GraphicsContext::setMiterLimit): 56822 (WebCore::GraphicsContext::setPlatformFillColor): 56823 (WebCore::GraphicsContext::setPlatformShadow): 56824 (WebCore::GraphicsContext::setPlatformStrokeColor): 56825 (WebCore::GraphicsContext::setPlatformStrokeStyle): 56826 (WebCore::GraphicsContext::setPlatformStrokeThickness): 56827 (WebCore::GraphicsContext::setPlatformTextDrawingMode): 56828 (WebCore::GraphicsContext::setURLForRect): 56829 (WebCore::GraphicsContext::setUseAntialiasing): 56830 (WebCore::GraphicsContext::strokeArc): 56831 (WebCore::GraphicsContext::strokePath): 56832 (WebCore::GraphicsContext::strokeRect): 56833 (WebCore::GraphicsContext::rotate): 56834 (WebCore::GraphicsContext::translate): 56835 56836 2009-01-08 David Hyatt <hyatt (a] apple.com> 56837 56838 Fix for <rdar://problem/6465682> REGRESSION: In Mail, can't force a message to auto scroll. 56839 56840 Make scrollRectIntoViewRecursively call out to the HostWindow to continue the recursive scroll for 56841 any scrollable views that may contain a WebView. Does nothing on platforms other than the Mac, but 56842 might eventually be of interest to other platforms. 56843 56844 Reviewed by Oliver Hunt 56845 56846 * WebCore.base.exp: 56847 * page/Chrome.cpp: 56848 (WebCore::Chrome::scrollRectIntoView): 56849 * page/Chrome.h: 56850 * page/ChromeClient.h: 56851 (WebCore::ChromeClient::scrollRectIntoView): 56852 * platform/HostWindow.h: 56853 * platform/ScrollView.cpp: 56854 (WebCore::ScrollView::scrollRectIntoViewRecursively): 56855 56856 2009-01-08 Adam Treat <adam.treat (a] torchmobile.com> 56857 56858 Reviewed by David Hyatt. 56859 56860 No need to make this part of HostWindow and moreover HostWindow should 56861 not have any reference to non-platform parts of WebCore. 56862 56863 * page/Chrome.h: 56864 * page/FrameView.cpp: 56865 (WebCore::FrameView::setContentsSize): 56866 * platform/HostWindow.h: 56867 56868 2009-01-08 Eric Carlson <eric.carlson (a] apple.com> 56869 56870 Reviewed by Adele Peterson. 56871 56872 Simplify Mac interfaces for drawing media controller elements 56873 56874 <rdar://problem/6293969> 56875 56876 * WebCore.base.exp: update for changed WebKitSystemInterface media controller functions 56877 56878 * platform/mac/WebCoreSystemInterface.h: Ditto 56879 * platform/mac/WebCoreSystemInterface.mm: Ditto 56880 56881 * rendering/MediaControlElements.h: 56882 (WebCore::): Add MediaControlElements enum 56883 56884 * rendering/RenderThemeMac.mm: 56885 (WebCore::RenderThemeMac::paintMediaFullscreenButton): update for changed WebKitSystemInterface 56886 media controller functions 56887 (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto 56888 (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto 56889 (WebCore::RenderThemeMac::paintMediaSeekBackButton): Ditto 56890 (WebCore::RenderThemeMac::paintMediaSeekForwardButton): Ditto 56891 (WebCore::RenderThemeMac::paintMediaSliderTrack): Ditto 56892 (WebCore::RenderThemeMac::paintMediaSliderThumb): Ditto 56893 56894 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56895 56896 Reviewed by Eric Seidel. 56897 56898 Add two more files for platform/graphics/skia. 56899 https://bugs.webkit.org/show_bug.cgi?id=23191 56900 56901 * platform/graphics/skia/GradientSkia.cpp: Added. 56902 (WebCore::Gradient::platformDestroy): 56903 (WebCore::F2B): 56904 (WebCore::makeSkColor): 56905 (WebCore::totalStopsNeeded): 56906 (WebCore::fillStops): 56907 (WebCore::compareStops): 56908 (WebCore::Gradient::platformGradient): 56909 (WebCore::Gradient::fill): 56910 * platform/graphics/skia/GraphicsContextPlatformPrivate.h: Copied from WebCore/bindings/js/ScriptValue.h. 56911 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 56912 (WebCore::GraphicsContextPlatformPrivate::context): 56913 56914 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56915 56916 Reviewed by Eric Seidel. 56917 56918 Commit the right files this time! (Instead of the ugly unfixed ones.) 56919 https://bugs.webkit.org/show_bug.cgi?id=23191 56920 56921 * platform/graphics/skia/BitmapImageSingleFrameSkia.h: 56922 * platform/graphics/skia/FloatPointSkia.cpp: 56923 * platform/graphics/skia/FloatRectSkia.cpp: 56924 * platform/graphics/skia/IntPointSkia.cpp: 56925 * platform/graphics/skia/IntRectSkia.cpp: 56926 (WebCore::IntRect::operator SkRect): 56927 * platform/graphics/skia/SkiaUtils.cpp: 56928 (WebCore::): 56929 (WebCore::WebCoreCompositeToSkiaComposite): 56930 (WebCore::SkPMColorToWebCoreColor): 56931 (WebCore::IntersectRectAndRegion): 56932 (WebCore::ClipRectToCanvas): 56933 (WebCore::SkPathContainsPoint): 56934 (WebCore::scratchContext): 56935 * platform/graphics/skia/SkiaUtils.h: 56936 (WebCore::WebCoreFloatToSkScalar): 56937 (WebCore::WebCoreDoubleToSkScalar): 56938 56939 2009-01-08 Dimitri Glazkov <dglazkov (a] chromium.org> 56940 56941 Reviewed by Eric Seidel. 56942 56943 Add the first few files from platform/graphics/skia 56944 https://bugs.webkit.org/show_bug.cgi?id=23191 56945 56946 These are all pretty simple. 56947 Eventually BitmapImageSingleFrameSkia might grow a .cpp file, for now it's just a header. 56948 SkiaUtils needs to die, but that can come later, no need to block up-streaming now. 56949 56950 * platform/graphics/skia/BitmapImageSingleFrameSkia.h: Added. 56951 (WebCore::BitmapImageSingleFrameSkia::isBitmapImage): 56952 (WebCore::BitmapImageSingleFrameSkia::size): 56953 (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData): 56954 (WebCore::BitmapImageSingleFrameSkia::decodedSize): 56955 (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame): 56956 (WebCore::BitmapImageSingleFrameSkia::BitmapImageSingleFrameSkia): 56957 * platform/graphics/skia/FloatPointSkia.cpp: Copied from WebCore/platform/graphics/mac/FloatPointMac.mm. 56958 (WebCore::FloatPoint::FloatPoint): 56959 (WebCore::FloatPoint::operator SkPoint): 56960 * platform/graphics/skia/FloatRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp. 56961 (WebCore::FloatRect::FloatRect): 56962 (WebCore::FloatRect::operator SkRect): 56963 * platform/graphics/skia/IntPointSkia.cpp: Copied from WebCore/platform/graphics/win/IntPointWin.cpp. 56964 (WebCore::IntPoint::IntPoint): 56965 (WebCore::IntPoint::operator SkIPoint): 56966 (WebCore::IntPoint::operator SkPoint): 56967 * platform/graphics/skia/IntRectSkia.cpp: Copied from WebCore/platform/graphics/qt/IntRectQt.cpp. 56968 (WebCore::IntRect::operator SkIRect): 56969 (WebCore::IntRect::operator SkRect): 56970 (WebCore::IntRect::IntRect): 56971 * platform/graphics/skia/SkiaUtils.cpp: Added. 56972 (WebCore::WebCorePointToSkiaPoint): 56973 (WebCore::WebCoreRectToSkiaRect): 56974 (WebCore::): 56975 (WebCore::WebCoreCompositeToSkiaComposite): 56976 (WebCore::InvScaleByte): 56977 (WebCore::SkPMColorToColor): 56978 (WebCore::SkPMColorToWebCoreColor): 56979 (WebCore::IntersectRectAndRegion): 56980 (WebCore::ClipRectToCanvas): 56981 (WebCore::SkPathContainsPoint): 56982 (WebCore::scratchContext): 56983 * platform/graphics/skia/SkiaUtils.h: Added. 56984 (WebCore::WebCoreFloatToSkScalar): 56985 (WebCore::WebCoreDoubleToSkScalar): 56986 56987 2009-01-08 Pierre-Olivier Latour <pol (a] apple.com> 56988 56989 Reviewed by Dan Bernstein. 56990 56991 Fixed CSS Transitions with zero-duration but non-zero-delay not starting or ending properly. 56992 56993 Also updated AnimationController::numberOfActiveAnimations() which now returns the number of "active" animations, 56994 instead of simply the "running" ones. 56995 56996 https://bugs.webkit.org/show_bug.cgi?id=23177 56997 56998 Tests: transitions/zero-duration-with-non-zero-delay-end.html 56999 transitions/zero-duration-with-non-zero-delay-start.html 57000 57001 * page/animation/AnimationBase.cpp: 57002 (WebCore::AnimationBase::fireAnimationEventsIfNeeded): 57003 * page/animation/AnimationController.cpp: 57004 (WebCore::AnimationControllerPrivate::animationTimerFired): 57005 * page/animation/CompositeAnimation.cpp: 57006 (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations): 57007 57008 2009-01-08 Alexey Proskuryakov <ap (a] webkit.org> 57009 57010 Reviewed by Oliver Hunt. 57011 57012 <rdar://problem/6477501> Repro crash loading HTML5 AppCache manifest directly 57013 57014 The crash happened whenever a cached resource was downloaded, as opposed to used directly. 57015 57016 No test, as downloading cannot be tested automatically. 57017 57018 * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy): 57019 Cancel downloads that do not have an associated ResourceHandle, such as downloads from the 57020 application cache. Activity window shows "The URL can't be shown", and the frame remains empty. 57021 57022 2009-01-08 Justin McPherson <justin.mcpherson (a] nokia.com> 57023 57024 Reviewed by Simon Hausmann. 57025 57026 Fix the Qt build on older X11 systems with special X paths. 57027 57028 * WebCore.pro: Use the x11 qmake config to pull in extra paths 57029 needed for NPAPI. 57030 57031 2009-01-08 Adam Roben <aroben (a] apple.com> 57032 57033 Windows build fix after r39699 57034 57035 * DerivedSources.cpp: Added JSDOMStringList.cpp. 57036 57037 2009-01-08 Kent Hansen <khansen (a] trolltech.com> 57038 57039 Reviewed by Simon Hausmann. 57040 57041 Fix copy & paste of images in the Qt port. 57042 57043 Store the QPixmap itself in the mimedata, not a QPixmap* converted to bool. 57044 57045 * platform/qt/ClipboardQt.cpp: 57046 (WebCore::ClipboardQt::declareAndWriteDragImage): 57047 57048 2009-01-08 Hiroyuki Ikezoe <poincare (a] ikezoe.net> 57049 57050 Reviewed by Holger Freyther. 57051 57052 https://bugs.webkit.org/show_bug.cgi?id=23127 57053 57054 Invoke pango_coverage_get with each Unicode character. 57055 57056 * platform/graphics/gtk/SimpleFontDataPango.cpp: 57057 (WebCore::SimpleFontData::containsCharacters): 57058 57059 2009-01-07 Alexey Proskuryakov <ap (a] webkit.org> 57060 57061 Reviewed by Darin Adler. 57062 57063 Part one of 57064 https://bugs.webkit.org/show_bug.cgi?id=23165 57065 Add support for application cache dynamic entries 57066 57067 Test: http/tests/appcache/dynamic-entries-no-cache.html 57068 57069 * DerivedSources.make: 57070 * GNUmakefile.am: 57071 * WebCore.pro: 57072 * WebCore.scons: 57073 * WebCore.vcproj/WebCore.vcproj: 57074 * WebCore.xcodeproj/project.pbxproj: 57075 * WebCoreSources.bkl: 57076 Added new files. 57077 57078 * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::hasItem): 57079 Added binding for hasItem(). Like other DOMApplicationCache methods, it needs to be custom 57080 to resolve relative URLs correctly. 57081 57082 * bindings/js/JSDOMStringListCustom.cpp: Added. 57083 * dom/DOMStringList.cpp: Added. 57084 * dom/DOMStringList.h: Added. 57085 * dom/DOMStringList.idl: Added. 57086 Added an implementation of DOM 3 Core DOMStringList interface, which is returned by 57087 DOMApplicationCache items attribute. 57088 57089 * dom/StaticStringList.cpp: Added. 57090 * dom/StaticStringList.h: Added. 57091 An implementation of DOMStringList that makes a snapshot (for DOMApplicationCache, this 57092 matches Firefox, as the spec doesn't say whether the returned list should be live or not). 57093 57094 * loader/appcache/ApplicationCache.h: Added a list of pending dynamic entry actions, to be 57095 used in the near future. 57096 57097 * loader/appcache/DOMApplicationCache.idl: Updated for spec changes. Instead of length 57098 attribute and item(), we now have an items attribute that returns a DOMStringList, and a 57099 hasItem convenience method. 57100 57101 * loader/appcache/DOMApplicationCache.cpp: 57102 (WebCore::DOMApplicationCache::items): 57103 (WebCore::DOMApplicationCache::hasItem): 57104 * loader/appcache/DOMApplicationCache.h: 57105 Added implementations of items attribute and hasItem() (note that underlying ApplicationCache 57106 methods are still unimplemented though). 57107 57108 * page/DOMWindow.idl: Expose a DOMStringList global constructor. 57109 57110 2009-01-07 Chris Marrin <cmarrin (a] apple.com> 57111 57112 Reviewed by Eric Seidel. 57113 57114 https://bugs.webkit.org/show_bug.cgi?id=23122 57115 57116 This completes the removal of dependencies on WebKit from the platform code 57117 57118 * css/CSSComputedStyleDeclaration.cpp: 57119 (WebCore::getDelayValue): 57120 (WebCore::getDurationValue): 57121 (WebCore::getTimingFunctionValue): 57122 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 57123 * css/CSSHelper.h: 57124 * css/CSSStyleSelector.cpp: 57125 (WebCore::CSSStyleSelector::mapAnimationDelay): 57126 (WebCore::CSSStyleSelector::mapAnimationDirection): 57127 (WebCore::CSSStyleSelector::mapAnimationDuration): 57128 (WebCore::CSSStyleSelector::mapAnimationIterationCount): 57129 (WebCore::CSSStyleSelector::mapAnimationName): 57130 (WebCore::CSSStyleSelector::mapAnimationPlayState): 57131 (WebCore::CSSStyleSelector::mapAnimationProperty): 57132 (WebCore::CSSStyleSelector::mapAnimationTimingFunction): 57133 * platform/animation/Animation.cpp: 57134 (WebCore::Animation::Animation): 57135 * platform/animation/Animation.h: 57136 (WebCore::Animation::initialAnimationDelay): 57137 (WebCore::Animation::initialAnimationDirection): 57138 (WebCore::Animation::initialAnimationDuration): 57139 (WebCore::Animation::initialAnimationIterationCount): 57140 (WebCore::Animation::initialAnimationName): 57141 (WebCore::Animation::initialAnimationPlayState): 57142 (WebCore::Animation::initialAnimationProperty): 57143 (WebCore::Animation::initialAnimationTimingFunction): 57144 * rendering/style/RenderStyle.h: 57145 57146 2008-01-07 Peter Kasting <pkasting (a] google.com> 57147 57148 Reviewed by Sam Weinig. 57149 57150 https://bugs.webkit.org/show_bug.cgi?id=22929 57151 57152 Fix errors while decoding GIFs by not calling setData() repeatedly 57153 when it's not necessary. Pushes the responsibility for calling 57154 setData() after clear() into the ImageSource which presumably knows 57155 better than BitmapImage what needs to be done. 57156 57157 NOTE: The above bug is mainly about a memory regression, which this 57158 patch does not fix. 57159 57160 * platform/graphics/BitmapImage.cpp: 57161 (WebCore::BitmapImage::destroyDecodedData): 57162 * platform/graphics/ImageSource.h: 57163 * platform/graphics/cairo/ImageSourceCairo.cpp: 57164 (WebCore::ImageSource::clear): 57165 * platform/graphics/cg/ImageSourceCG.cpp: 57166 (WebCore::ImageSource::clear): 57167 * platform/graphics/qt/ImageSourceQt.cpp: 57168 (WebCore::ImageSource::~ImageSource): 57169 (WebCore::ImageSource::clear): 57170 * platform/graphics/wx/ImageSourceWx.cpp: 57171 (WebCore::ImageSource::~ImageSource): 57172 (WebCore::ImageSource::clear): 57173 57174 2009-01-07 Justin Garcia <justin.garcia (a] apple.com> 57175 57176 Reviewed by Darin Adler. 57177 57178 <rdar://problem/6355786> Find fails for queries that contain a line break 57179 57180 * editing/TextIterator.cpp: 57181 (WebCore::findPlainText): Allow find with queries that contain newlines. 57182 57183 2009-01-07 Dean Jackson <dino (a] apple.com> 57184 57185 Reviewed by Dan Bernstein. 57186 57187 Allow removal of inline shorthand properties for 57188 animation, transition and transform origin. Also 57189 add getter for shorthand animation property. 57190 57191 https://bugs.webkit.org/show_bug.cgi?id=22605 57192 57193 Test: fast/css/transform-inline-style-remove.html 57194 57195 * css/CSSMutableStyleDeclaration.cpp: 57196 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 57197 Getter for animation property shorthand 57198 (WebCore::initShorthandMap): 57199 Adds initialisation for transform-origin, animation and transition 57200 57201 2009-01-07 Benjamin Otte <otte (a] gnome.org> 57202 57203 Reviewed by Holger Freyther. 57204 57205 * platform/network/ResourceHandleInternal.h: 57206 (WebCore::ResourceHandleInternal::ResourceHandleInternal): 57207 * platform/network/soup/ResourceHandleSoup.cpp: 57208 (WebCore::ResourceHandleInternal::~ResourceHandleInternal): 57209 (WebCore::parseDataUrl): 57210 (WebCore::ResourceHandle::startData): keep track of the idle handler 57211 we add and remove it in the destructor 57212 57213 2009-01-07 Dean Jackson <dino (a] apple.com> 57214 57215 Reviewed by Darin Adler. 57216 57217 Finish renaming of AffineTransform to TransformationMatrix, this 57218 time ensuring that the platform implementations get the correct 57219 name. Also, clean up some whitespace cruft in old content. 57220 57221 https://bugs.webkit.org/show_bug.cgi?id=23151 57222 57223 * GNUmakefile.am: 57224 * WebCore.pro: 57225 * WebCore.scons: 57226 * WebCore.vcproj/WebCore.vcproj: 57227 * WebCore.xcodeproj/project.pbxproj: 57228 * platform/graphics/cairo/AffineTransformCairo.cpp: Removed. 57229 * platform/graphics/cairo/TransformationMatrixCairo.cpp: Copied from WebCore/platform/graphics/cairo/AffineTransformCairo.cpp. 57230 * platform/graphics/cg/AffineTransformCG.cpp: Removed. 57231 * platform/graphics/cg/TransformationMatrixCG.cpp: Copied from WebCore/platform/graphics/cg/AffineTransformCG.cpp. 57232 * platform/graphics/qt/AffineTransformQt.cpp: Removed. 57233 * platform/graphics/qt/TransformationMatrixQt.cpp: Copied from WebCore/platform/graphics/qt/AffineTransformQt.cpp. 57234 * platform/graphics/transforms/TransformationMatrix.cpp: 57235 * platform/graphics/transforms/TransformationMatrix.h: 57236 * platform/graphics/wx/AffineTransformWx.cpp: Removed. 57237 * platform/graphics/wx/TransformationMatrixWx.cpp: Copied from WebCore/platform/graphics/wx/AffineTransformWx.cpp. 57238 * webcore-wx.bkl: 57239 57240 2009-01-07 Anders Carlsson <andersca (a] apple.com> 57241 57242 Another build fix. 57243 57244 * WebCore.LP64.exp: 57245 57246 2008-12-16 David Hyatt <hyatt (a] apple.com> 57247 57248 Make Safari RSS behave nicely with full page zoom. Need to add a new value to enable resetting of zoom 57249 back to the document-level default. 57250 57251 Reviewed by Darin Adler 57252 57253 * css/CSSParser.cpp: 57254 (WebCore::CSSParser::parseValue): 57255 * css/CSSStyleSelector.cpp: 57256 (WebCore::CSSStyleSelector::applyProperty): 57257 * css/CSSValueKeywords.in: 57258 57259 2009-01-07 Darin Adler <darin (a] apple.com> 57260 57261 Reviewed by Oliver Hunt. 57262 57263 Bug 23160: add setMemoryCacheClientCallsEnabled SPI so Safari can be faster with activity window closed 57264 https://bugs.webkit.org/show_bug.cgi?id=23160 57265 57266 * WebCore.base.exp: Added Page::setMemoryCacheClientCallsEnabled. 57267 57268 * inspector/InspectorController.cpp: 57269 (WebCore::InspectorController::didLoadResourceFromMemoryCache): Updated to take a CachedResource 57270 so that there's no extra work the caller has to do when the inspector is disabled. 57271 * inspector/InspectorController.h: Ditto. 57272 57273 * loader/DocumentLoader.h: Added recordMemoryCacheLoadForFutureClientNotification, 57274 takeMemoryCacheLoadsForClientNotification, and m_resourcesLoadedFromMemoryCacheForClientNotification. 57275 57276 * loader/FrameLoader.cpp: 57277 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Streamlined code so less work is done when 57278 there's no inspector or client call needed. Added code to check areMemoryCacheClientCallsEnabled 57279 and if it's false, use recordMemoryCacheLoadForFutureClientNotification. 57280 (WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Added. 57281 * loader/FrameLoader.h: Ditto. 57282 57283 * page/Page.cpp: 57284 (WebCore::Page::Page): Initialize m_areMemoryCacheClientCallsEnabled to be compatible with old behavior. 57285 (WebCore::Page::setMemoryCacheClientCallsEnabled): Added. 57286 * page/Page.h: Added setMemoryCacheClientCallsEnabled, areMemoryCacheClientCallsEnabled, 57287 and m_areMemoryCacheClientCallsEnabled. 57288 57289 2009-01-07 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 57290 57291 Rubber-stamped by Simon Hausmann. 57292 57293 Qt build fix after r39670. 57294 57295 * bridge/qt/qt_class.cpp: 57296 (JSC::Bindings::QtClass::fallbackObject): 57297 * bridge/qt/qt_class.h: 57298 * bridge/qt/qt_instance.cpp: 57299 (JSC::Bindings::QtInstance::mark): 57300 (JSC::Bindings::QtInstance::invokeMethod): 57301 (JSC::Bindings::QtInstance::defaultValue): 57302 (JSC::Bindings::QtInstance::stringValue): 57303 (JSC::Bindings::QtInstance::numberValue): 57304 (JSC::Bindings::QtInstance::booleanValue): 57305 (JSC::Bindings::QtInstance::valueOf): 57306 (JSC::Bindings::QtField::valueFromInstance): 57307 (JSC::Bindings::QtField::setValueToInstance): 57308 * bridge/qt/qt_instance.h: 57309 * bridge/qt/qt_runtime.cpp: 57310 (JSC::Bindings::valueRealType): 57311 (JSC::Bindings::convertValueToQVariant): 57312 (JSC::Bindings::convertQVariantToValue): 57313 (JSC::Bindings::findMethodIndex): 57314 (JSC::Bindings::QtRuntimeMetaMethod::call): 57315 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): 57316 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): 57317 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): 57318 (JSC::Bindings::QtRuntimeConnectionMethod::call): 57319 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): 57320 (JSC::Bindings::::setValueAt): 57321 (JSC::Bindings::::valueAt): 57322 * bridge/qt/qt_runtime.h: 57323 (JSC::Bindings::QtRuntimeMethod::createStructure): 57324 57325 2009-01-06 Justin Garcia <justin.garcia (a] apple.com> 57326 57327 Reviewed by Oliver Hunt. 57328 57329 <rdar://problem/6391734> SnowLeopard: Crash doing Copy Image from context menu 57330 57331 Can't create an automated test case for specific contextual menu items yet and 57332 a normal Copy doesn't cause a crash. 57333 57334 * platform/mac/PasteboardMac.mm: 57335 (WebCore::fileWrapperForImage): The SharedBuffer may not have platform data. It may, 57336 for example, have a purgeable or regular buffer. 57337 57338 2009-01-06 Mark Rowe <mrowe (a] apple.com> 57339 57340 Reviewed by Geoff Garen. 57341 57342 Fix <https://bugs.webkit.org/show_bug.cgi?id=23157>. 57343 Bug 23157: Crashes on Acid 3 57344 57345 * dom/Document.cpp: 57346 (WebCore::Document::recalcStyle): Null-check the frame. 57347 57348 2009-01-05 Gavin Barraclough <baraclough (a] apple.com> 57349 57350 Rubber Stamped by Oliver Hunt. 57351 57352 Replace all uses of JSValue* with new wrapper class, JSValuePtr. 57353 See JavaScriptCore/ChangeLog for more detailed description. 57354 57355 * bindings/js/JSAttrCustom.cpp: 57356 (WebCore::JSAttr::setValue): 57357 * bindings/js/JSCSSRuleCustom.cpp: 57358 (WebCore::toJS): 57359 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 57360 (WebCore::JSCSSStyleDeclaration::nameGetter): 57361 (WebCore::JSCSSStyleDeclaration::customPut): 57362 * bindings/js/JSCSSValueCustom.cpp: 57363 (WebCore::toJS): 57364 * bindings/js/JSCanvasPixelArrayCustom.h: 57365 (WebCore::JSCanvasPixelArray::getByIndex): 57366 (WebCore::JSCanvasPixelArray::indexSetter): 57367 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 57368 (WebCore::toJS): 57369 (WebCore::toHTMLCanvasStyle): 57370 (WebCore::JSCanvasRenderingContext2D::strokeStyle): 57371 (WebCore::JSCanvasRenderingContext2D::setStrokeStyle): 57372 (WebCore::JSCanvasRenderingContext2D::fillStyle): 57373 (WebCore::JSCanvasRenderingContext2D::setFillStyle): 57374 (WebCore::JSCanvasRenderingContext2D::setFillColor): 57375 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): 57376 (WebCore::JSCanvasRenderingContext2D::strokeRect): 57377 (WebCore::JSCanvasRenderingContext2D::drawImage): 57378 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): 57379 (WebCore::JSCanvasRenderingContext2D::setShadow): 57380 (WebCore::JSCanvasRenderingContext2D::createPattern): 57381 (WebCore::JSCanvasRenderingContext2D::putImageData): 57382 (WebCore::JSCanvasRenderingContext2D::fillText): 57383 (WebCore::JSCanvasRenderingContext2D::strokeText): 57384 * bindings/js/JSClipboardCustom.cpp: 57385 (WebCore::JSClipboard::types): 57386 (WebCore::JSClipboard::clearData): 57387 (WebCore::JSClipboard::getData): 57388 (WebCore::JSClipboard::setData): 57389 (WebCore::JSClipboard::setDragImage): 57390 * bindings/js/JSConsoleCustom.cpp: 57391 (WebCore::JSConsole::profiles): 57392 * bindings/js/JSCustomPositionCallback.cpp: 57393 (WebCore::JSCustomPositionCallback::handleEvent): 57394 * bindings/js/JSCustomPositionErrorCallback.cpp: 57395 (WebCore::JSCustomPositionErrorCallback::handleEvent): 57396 * bindings/js/JSCustomSQLStatementCallback.cpp: 57397 (WebCore::JSCustomSQLStatementCallback::handleEvent): 57398 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 57399 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 57400 * bindings/js/JSCustomSQLTransactionCallback.cpp: 57401 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 57402 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 57403 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 57404 * bindings/js/JSCustomVoidCallback.cpp: 57405 (WebCore::JSCustomVoidCallback::handleEvent): 57406 (WebCore::toVoidCallback): 57407 * bindings/js/JSCustomVoidCallback.h: 57408 * bindings/js/JSCustomXPathNSResolver.cpp: 57409 (WebCore::JSCustomXPathNSResolver::create): 57410 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 57411 * bindings/js/JSCustomXPathNSResolver.h: 57412 * bindings/js/JSDOMApplicationCacheCustom.cpp: 57413 (WebCore::JSDOMApplicationCache::add): 57414 (WebCore::JSDOMApplicationCache::remove): 57415 (WebCore::JSDOMApplicationCache::addEventListener): 57416 (WebCore::JSDOMApplicationCache::removeEventListener): 57417 * bindings/js/JSDOMBinding.cpp: 57418 (WebCore::jsStringOrNull): 57419 (WebCore::jsOwnedStringOrNull): 57420 (WebCore::jsStringOrUndefined): 57421 (WebCore::jsStringOrFalse): 57422 (WebCore::valueToStringWithNullCheck): 57423 (WebCore::valueToStringWithUndefinedOrNullCheck): 57424 (WebCore::reportException): 57425 (WebCore::reportCurrentException): 57426 (WebCore::setDOMException): 57427 (WebCore::objectToStringFunctionGetter): 57428 * bindings/js/JSDOMBinding.h: 57429 (WebCore::getDOMObjectWrapper): 57430 (WebCore::getDOMNodeWrapper): 57431 (WebCore::toJS): 57432 * bindings/js/JSDOMGlobalObject.cpp: 57433 (WebCore::JSDOMGlobalObject::findJSEventListener): 57434 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 57435 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener): 57436 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener): 57437 * bindings/js/JSDOMGlobalObject.h: 57438 * bindings/js/JSDOMWindowBase.cpp: 57439 (WebCore::createWindow): 57440 (WebCore::showModalDialog): 57441 (jsDOMWindowBaseCrypto): 57442 (jsDOMWindowBaseEvent): 57443 (jsDOMWindowBaseImage): 57444 (jsDOMWindowBaseMessageChannel): 57445 (jsDOMWindowBaseOption): 57446 (jsDOMWindowBaseXMLHttpRequest): 57447 (jsDOMWindowBaseAudio): 57448 (jsDOMWindowBaseWorker): 57449 (jsDOMWindowBaseXSLTProcessor): 57450 (setJSDOMWindowBaseEvent): 57451 (setJSDOMWindowBaseAudio): 57452 (setJSDOMWindowBaseImage): 57453 (setJSDOMWindowBaseMessageChannel): 57454 (setJSDOMWindowBaseOption): 57455 (setJSDOMWindowBaseWorker): 57456 (setJSDOMWindowBaseXMLHttpRequest): 57457 (setJSDOMWindowBaseXSLTProcessor): 57458 (WebCore::JSDOMWindowBase::childFrameGetter): 57459 (WebCore::JSDOMWindowBase::indexGetter): 57460 (WebCore::JSDOMWindowBase::namedItemGetter): 57461 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 57462 (WebCore::JSDOMWindowBase::put): 57463 (WebCore::JSDOMWindowBase::clear): 57464 (windowProtoFuncOpen): 57465 (windowProtoFuncShowModalDialog): 57466 (windowProtoFuncNotImplemented): 57467 (WebCore::JSDOMWindowBase::setReturnValueSlot): 57468 (WebCore::JSDOMWindowBase::installTimeout): 57469 (WebCore::toJS): 57470 (WebCore::toJSDOMWindow): 57471 * bindings/js/JSDOMWindowBase.h: 57472 * bindings/js/JSDOMWindowCustom.cpp: 57473 (WebCore::JSDOMWindow::lookupGetter): 57474 (WebCore::JSDOMWindow::lookupSetter): 57475 (WebCore::JSDOMWindow::setLocation): 57476 (WebCore::JSDOMWindow::postMessage): 57477 (WebCore::setTimeoutOrInterval): 57478 (WebCore::JSDOMWindow::setTimeout): 57479 (WebCore::JSDOMWindow::clearTimeout): 57480 (WebCore::JSDOMWindow::setInterval): 57481 (WebCore::JSDOMWindow::clearInterval): 57482 (WebCore::JSDOMWindow::atob): 57483 (WebCore::JSDOMWindow::btoa): 57484 (WebCore::JSDOMWindow::addEventListener): 57485 (WebCore::JSDOMWindow::removeEventListener): 57486 (WebCore::toDOMWindow): 57487 (WebCore::nonCachingStaticCloseFunctionGetter): 57488 (WebCore::nonCachingStaticBlurFunctionGetter): 57489 (WebCore::nonCachingStaticFocusFunctionGetter): 57490 (WebCore::nonCachingStaticPostMessageFunctionGetter): 57491 * bindings/js/JSDOMWindowCustom.h: 57492 (WebCore::JSDOMWindow::customPut): 57493 * bindings/js/JSDOMWindowShell.cpp: 57494 (WebCore::JSDOMWindowShell::put): 57495 (WebCore::JSDOMWindowShell::putWithAttributes): 57496 (WebCore::JSDOMWindowShell::lookupGetter): 57497 (WebCore::JSDOMWindowShell::lookupSetter): 57498 (WebCore::toJS): 57499 * bindings/js/JSDOMWindowShell.h: 57500 (WebCore::JSDOMWindowShell::createStructure): 57501 * bindings/js/JSDatabaseCustom.cpp: 57502 (WebCore::JSDatabase::changeVersion): 57503 (WebCore::JSDatabase::transaction): 57504 * bindings/js/JSDocumentCustom.cpp: 57505 (WebCore::JSDocument::location): 57506 (WebCore::JSDocument::setLocation): 57507 (WebCore::toJS): 57508 * bindings/js/JSElementCustom.cpp: 57509 (WebCore::JSElement::setAttribute): 57510 (WebCore::JSElement::setAttributeNode): 57511 (WebCore::JSElement::setAttributeNS): 57512 (WebCore::JSElement::setAttributeNodeNS): 57513 (WebCore::toJSNewlyCreated): 57514 * bindings/js/JSEventCustom.cpp: 57515 (WebCore::JSEvent::clipboardData): 57516 (WebCore::toJS): 57517 * bindings/js/JSEventListener.cpp: 57518 (WebCore::JSAbstractEventListener::handleEvent): 57519 (WebCore::eventParameterName): 57520 (WebCore::JSLazyEventListener::parseCode): 57521 * bindings/js/JSEventTarget.cpp: 57522 (WebCore::toJS): 57523 * bindings/js/JSEventTarget.h: 57524 * bindings/js/JSEventTargetBase.h: 57525 * bindings/js/JSEventTargetNodeCustom.cpp: 57526 (WebCore::JSEventTargetNode::addEventListener): 57527 (WebCore::JSEventTargetNode::removeEventListener): 57528 * bindings/js/JSGeolocationCustom.cpp: 57529 (WebCore::createPositionOptions): 57530 (WebCore::JSGeolocation::getCurrentPosition): 57531 (WebCore::JSGeolocation::watchPosition): 57532 * bindings/js/JSHTMLAllCollection.h: 57533 (WebCore::JSHTMLAllCollection::createStructure): 57534 * bindings/js/JSHTMLAppletElementCustom.cpp: 57535 (WebCore::JSHTMLAppletElement::customPut): 57536 (WebCore::JSHTMLAppletElement::nameGetter): 57537 * bindings/js/JSHTMLCollectionCustom.cpp: 57538 (WebCore::getNamedItems): 57539 (WebCore::callHTMLCollection): 57540 (WebCore::JSHTMLCollection::nameGetter): 57541 (WebCore::JSHTMLCollection::item): 57542 (WebCore::JSHTMLCollection::namedItem): 57543 (WebCore::toJS): 57544 * bindings/js/JSHTMLDocumentCustom.cpp: 57545 (WebCore::JSHTMLDocument::nameGetter): 57546 (WebCore::JSHTMLDocument::all): 57547 (WebCore::JSHTMLDocument::setAll): 57548 (WebCore::JSHTMLDocument::open): 57549 (WebCore::JSHTMLDocument::write): 57550 (WebCore::JSHTMLDocument::writeln): 57551 * bindings/js/JSHTMLEmbedElementCustom.cpp: 57552 (WebCore::JSHTMLEmbedElement::customPut): 57553 (WebCore::JSHTMLEmbedElement::nameGetter): 57554 * bindings/js/JSHTMLFormElementCustom.cpp: 57555 (WebCore::JSHTMLFormElement::nameGetter): 57556 * bindings/js/JSHTMLFrameElementCustom.cpp: 57557 (WebCore::JSHTMLFrameElement::setSrc): 57558 (WebCore::JSHTMLFrameElement::setLocation): 57559 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 57560 (WebCore::JSHTMLFrameSetElement::nameGetter): 57561 * bindings/js/JSHTMLIFrameElementCustom.cpp: 57562 (WebCore::JSHTMLIFrameElement::setSrc): 57563 * bindings/js/JSHTMLInputElementCustom.cpp: 57564 (WebCore::JSHTMLInputElement::selectionStart): 57565 (WebCore::JSHTMLInputElement::selectionEnd): 57566 * bindings/js/JSHTMLObjectElementCustom.cpp: 57567 (WebCore::JSHTMLObjectElement::customPut): 57568 (WebCore::JSHTMLObjectElement::nameGetter): 57569 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 57570 (WebCore::JSHTMLOptionsCollection::length): 57571 (WebCore::JSHTMLOptionsCollection::setLength): 57572 (WebCore::JSHTMLOptionsCollection::indexSetter): 57573 (WebCore::JSHTMLOptionsCollection::add): 57574 (WebCore::JSHTMLOptionsCollection::remove): 57575 * bindings/js/JSHTMLSelectElementCustom.cpp: 57576 (WebCore::JSHTMLSelectElement::remove): 57577 (WebCore::selectIndexSetter): 57578 (WebCore::JSHTMLSelectElement::indexSetter): 57579 * bindings/js/JSHTMLSelectElementCustom.h: 57580 * bindings/js/JSHistoryCustom.cpp: 57581 (WebCore::nonCachingStaticBackFunctionGetter): 57582 (WebCore::nonCachingStaticForwardFunctionGetter): 57583 (WebCore::nonCachingStaticGoFunctionGetter): 57584 (WebCore::JSHistory::customPut): 57585 * bindings/js/JSImageDataCustom.cpp: 57586 (WebCore::toJS): 57587 * bindings/js/JSInspectedObjectWrapper.cpp: 57588 (WebCore::JSInspectedObjectWrapper::wrap): 57589 (WebCore::JSInspectedObjectWrapper::prepareIncomingValue): 57590 * bindings/js/JSInspectedObjectWrapper.h: 57591 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): 57592 * bindings/js/JSInspectorCallbackWrapper.cpp: 57593 (WebCore::JSInspectorCallbackWrapper::wrap): 57594 (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue): 57595 * bindings/js/JSInspectorCallbackWrapper.h: 57596 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): 57597 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 57598 (WebCore::JSJavaScriptCallFrame::evaluate): 57599 (WebCore::JSJavaScriptCallFrame::thisObject): 57600 (WebCore::JSJavaScriptCallFrame::type): 57601 (WebCore::JSJavaScriptCallFrame::scopeChain): 57602 * bindings/js/JSLocationCustom.cpp: 57603 (WebCore::nonCachingStaticReplaceFunctionGetter): 57604 (WebCore::nonCachingStaticReloadFunctionGetter): 57605 (WebCore::nonCachingStaticAssignFunctionGetter): 57606 (WebCore::JSLocation::customPut): 57607 (WebCore::JSLocation::setHref): 57608 (WebCore::JSLocation::setProtocol): 57609 (WebCore::JSLocation::setHost): 57610 (WebCore::JSLocation::setHostname): 57611 (WebCore::JSLocation::setPort): 57612 (WebCore::JSLocation::setPathname): 57613 (WebCore::JSLocation::setSearch): 57614 (WebCore::JSLocation::setHash): 57615 (WebCore::JSLocation::replace): 57616 (WebCore::JSLocation::reload): 57617 (WebCore::JSLocation::assign): 57618 (WebCore::JSLocation::toString): 57619 * bindings/js/JSMessageChannelConstructor.h: 57620 * bindings/js/JSMessagePortCustom.cpp: 57621 (WebCore::JSMessagePort::startConversation): 57622 (WebCore::JSMessagePort::addEventListener): 57623 (WebCore::JSMessagePort::removeEventListener): 57624 * bindings/js/JSMimeTypeArrayCustom.cpp: 57625 (WebCore::JSMimeTypeArray::nameGetter): 57626 * bindings/js/JSNamedNodeMapCustom.cpp: 57627 (WebCore::JSNamedNodeMap::nameGetter): 57628 * bindings/js/JSNamedNodesCollection.cpp: 57629 (WebCore::JSNamedNodesCollection::lengthGetter): 57630 (WebCore::JSNamedNodesCollection::indexGetter): 57631 * bindings/js/JSNamedNodesCollection.h: 57632 (WebCore::JSNamedNodesCollection::createStructure): 57633 * bindings/js/JSNavigatorCustom.cpp: 57634 (WebCore::needsYouTubeQuirk): 57635 (WebCore::JSNavigator::appVersion): 57636 * bindings/js/JSNodeCustom.cpp: 57637 (WebCore::JSNode::insertBefore): 57638 (WebCore::JSNode::replaceChild): 57639 (WebCore::JSNode::removeChild): 57640 (WebCore::JSNode::appendChild): 57641 (WebCore::createWrapper): 57642 (WebCore::toJSNewlyCreated): 57643 (WebCore::toJS): 57644 * bindings/js/JSNodeFilterCondition.cpp: 57645 (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): 57646 (WebCore::JSNodeFilterCondition::acceptNode): 57647 * bindings/js/JSNodeFilterCondition.h: 57648 (WebCore::JSNodeFilterCondition::create): 57649 * bindings/js/JSNodeFilterCustom.cpp: 57650 (WebCore::JSNodeFilter::acceptNode): 57651 (WebCore::toNodeFilter): 57652 * bindings/js/JSNodeIteratorCustom.cpp: 57653 (WebCore::JSNodeIterator::nextNode): 57654 (WebCore::JSNodeIterator::previousNode): 57655 * bindings/js/JSNodeListCustom.cpp: 57656 (WebCore::callNodeList): 57657 (WebCore::JSNodeList::nameGetter): 57658 * bindings/js/JSPluginArrayCustom.cpp: 57659 (WebCore::JSPluginArray::nameGetter): 57660 * bindings/js/JSPluginCustom.cpp: 57661 (WebCore::JSPlugin::nameGetter): 57662 * bindings/js/JSPluginElementFunctions.cpp: 57663 (WebCore::runtimeObjectGetter): 57664 (WebCore::runtimeObjectPropertyGetter): 57665 (WebCore::runtimeObjectCustomPut): 57666 (WebCore::callPlugin): 57667 * bindings/js/JSPluginElementFunctions.h: 57668 * bindings/js/JSQuarantinedObjectWrapper.cpp: 57669 (WebCore::JSQuarantinedObjectWrapper::asWrapper): 57670 (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter): 57671 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): 57672 (WebCore::JSQuarantinedObjectWrapper::put): 57673 (WebCore::JSQuarantinedObjectWrapper::construct): 57674 (WebCore::JSQuarantinedObjectWrapper::hasInstance): 57675 (WebCore::JSQuarantinedObjectWrapper::call): 57676 * bindings/js/JSQuarantinedObjectWrapper.h: 57677 (WebCore::JSQuarantinedObjectWrapper::createStructure): 57678 * bindings/js/JSRGBColor.cpp: 57679 (WebCore::getJSRGBColor): 57680 (jsRGBColorRed): 57681 (jsRGBColorGreen): 57682 (jsRGBColorBlue): 57683 * bindings/js/JSRGBColor.h: 57684 (WebCore::JSRGBColor::createStructure): 57685 * bindings/js/JSSQLResultSetRowListCustom.cpp: 57686 (WebCore::JSSQLResultSetRowList::item): 57687 * bindings/js/JSSQLTransactionCustom.cpp: 57688 (WebCore::JSSQLTransaction::executeSql): 57689 * bindings/js/JSSVGElementInstanceCustom.cpp: 57690 (WebCore::JSSVGElementInstance::addEventListener): 57691 (WebCore::JSSVGElementInstance::removeEventListener): 57692 * bindings/js/JSSVGLengthCustom.cpp: 57693 (WebCore::JSSVGLength::value): 57694 (WebCore::JSSVGLength::convertToSpecifiedUnits): 57695 * bindings/js/JSSVGMatrixCustom.cpp: 57696 (WebCore::JSSVGMatrix::multiply): 57697 (WebCore::JSSVGMatrix::inverse): 57698 (WebCore::JSSVGMatrix::translate): 57699 (WebCore::JSSVGMatrix::scale): 57700 (WebCore::JSSVGMatrix::scaleNonUniform): 57701 (WebCore::JSSVGMatrix::rotate): 57702 (WebCore::JSSVGMatrix::rotateFromVector): 57703 (WebCore::JSSVGMatrix::flipX): 57704 (WebCore::JSSVGMatrix::flipY): 57705 (WebCore::JSSVGMatrix::skewX): 57706 (WebCore::JSSVGMatrix::skewY): 57707 * bindings/js/JSSVGPathSegCustom.cpp: 57708 (WebCore::toJS): 57709 * bindings/js/JSSVGPathSegListCustom.cpp: 57710 (WebCore::JSSVGPathSegList::clear): 57711 (WebCore::JSSVGPathSegList::initialize): 57712 (WebCore::JSSVGPathSegList::getItem): 57713 (WebCore::JSSVGPathSegList::insertItemBefore): 57714 (WebCore::JSSVGPathSegList::replaceItem): 57715 (WebCore::JSSVGPathSegList::removeItem): 57716 (WebCore::JSSVGPathSegList::appendItem): 57717 * bindings/js/JSSVGPointListCustom.cpp: 57718 (WebCore::finishGetter): 57719 (WebCore::finishSetter): 57720 (WebCore::finishSetterReadOnlyResult): 57721 (WebCore::JSSVGPointList::clear): 57722 (WebCore::JSSVGPointList::initialize): 57723 (WebCore::JSSVGPointList::getItem): 57724 (WebCore::JSSVGPointList::insertItemBefore): 57725 (WebCore::JSSVGPointList::replaceItem): 57726 (WebCore::JSSVGPointList::removeItem): 57727 (WebCore::JSSVGPointList::appendItem): 57728 * bindings/js/JSSVGTransformListCustom.cpp: 57729 (WebCore::finishGetter): 57730 (WebCore::finishSetter): 57731 (WebCore::finishSetterReadOnlyResult): 57732 (WebCore::JSSVGTransformList::clear): 57733 (WebCore::JSSVGTransformList::initialize): 57734 (WebCore::JSSVGTransformList::getItem): 57735 (WebCore::JSSVGTransformList::insertItemBefore): 57736 (WebCore::JSSVGTransformList::replaceItem): 57737 (WebCore::JSSVGTransformList::removeItem): 57738 (WebCore::JSSVGTransformList::appendItem): 57739 * bindings/js/JSStorageCustom.cpp: 57740 (WebCore::JSStorage::nameGetter): 57741 (WebCore::JSStorage::deleteProperty): 57742 (WebCore::JSStorage::customPut): 57743 * bindings/js/JSStyleSheetCustom.cpp: 57744 (WebCore::toJS): 57745 * bindings/js/JSStyleSheetListCustom.cpp: 57746 (WebCore::JSStyleSheetList::nameGetter): 57747 * bindings/js/JSTextCustom.cpp: 57748 (WebCore::toJSNewlyCreated): 57749 * bindings/js/JSTreeWalkerCustom.cpp: 57750 (WebCore::JSTreeWalker::parentNode): 57751 (WebCore::JSTreeWalker::firstChild): 57752 (WebCore::JSTreeWalker::lastChild): 57753 (WebCore::JSTreeWalker::nextSibling): 57754 (WebCore::JSTreeWalker::previousSibling): 57755 (WebCore::JSTreeWalker::previousNode): 57756 (WebCore::JSTreeWalker::nextNode): 57757 * bindings/js/JSWorkerContextBase.cpp: 57758 (WebCore::JSWorkerContextBase::put): 57759 * bindings/js/JSWorkerContextBase.h: 57760 * bindings/js/JSWorkerContextCustom.cpp: 57761 (WebCore::JSWorkerContext::self): 57762 (WebCore::JSWorkerContext::setSelf): 57763 (WebCore::JSWorkerContext::addEventListener): 57764 (WebCore::JSWorkerContext::removeEventListener): 57765 * bindings/js/JSWorkerCustom.cpp: 57766 (WebCore::JSWorker::addEventListener): 57767 (WebCore::JSWorker::removeEventListener): 57768 * bindings/js/JSXMLHttpRequestCustom.cpp: 57769 (WebCore::JSXMLHttpRequest::open): 57770 (WebCore::JSXMLHttpRequest::setRequestHeader): 57771 (WebCore::JSXMLHttpRequest::send): 57772 (WebCore::JSXMLHttpRequest::getResponseHeader): 57773 (WebCore::JSXMLHttpRequest::overrideMimeType): 57774 (WebCore::JSXMLHttpRequest::addEventListener): 57775 (WebCore::JSXMLHttpRequest::removeEventListener): 57776 (WebCore::JSXMLHttpRequest::responseText): 57777 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 57778 (WebCore::JSXMLHttpRequestUpload::addEventListener): 57779 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 57780 * bindings/js/JSXSLTProcessorCustom.cpp: 57781 (WebCore::JSXSLTProcessor::importStylesheet): 57782 (WebCore::JSXSLTProcessor::transformToFragment): 57783 (WebCore::JSXSLTProcessor::transformToDocument): 57784 (WebCore::JSXSLTProcessor::setParameter): 57785 (WebCore::JSXSLTProcessor::getParameter): 57786 (WebCore::JSXSLTProcessor::removeParameter): 57787 * bindings/js/ScheduledAction.cpp: 57788 (WebCore::ScheduledAction::ScheduledAction): 57789 (WebCore::ScheduledAction::execute): 57790 * bindings/js/ScheduledAction.h: 57791 * bindings/js/ScriptCallStack.cpp: 57792 (WebCore::ScriptCallStack::ScriptCallStack): 57793 (WebCore::ScriptCallStack::initialize): 57794 * bindings/js/ScriptController.cpp: 57795 (WebCore::ScriptController::createScriptObjectForPluginElement): 57796 * bindings/js/ScriptValue.cpp: 57797 (WebCore::ScriptValue::getString): 57798 (WebCore::ScriptValue::isNull): 57799 (WebCore::ScriptValue::isUndefined): 57800 * bindings/js/ScriptValue.h: 57801 (WebCore::ScriptValue::ScriptValue): 57802 (WebCore::ScriptValue::jsValue): 57803 * bindings/objc/WebScriptObject.mm: 57804 (-[WebScriptObject callWebScriptMethod:withArguments:]): 57805 (-[WebScriptObject evaluateWebScript:]): 57806 (-[WebScriptObject valueForKey:]): 57807 (-[WebScriptObject webScriptValueAtIndex:]): 57808 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 57809 * bindings/objc/WebScriptObjectPrivate.h: 57810 * bindings/scripts/CodeGeneratorJS.pm: 57811 * bridge/NP_jsobject.cpp: 57812 (_NPN_InvokeDefault): 57813 (_NPN_Invoke): 57814 (_NPN_Evaluate): 57815 (_NPN_GetProperty): 57816 (_NPN_HasMethod): 57817 (_NPN_Construct): 57818 * bridge/c/c_instance.cpp: 57819 (JSC::Bindings::CInstance::invokeMethod): 57820 (JSC::Bindings::CInstance::invokeDefaultMethod): 57821 (JSC::Bindings::CInstance::invokeConstruct): 57822 (JSC::Bindings::CInstance::defaultValue): 57823 (JSC::Bindings::CInstance::stringValue): 57824 (JSC::Bindings::CInstance::numberValue): 57825 (JSC::Bindings::CInstance::booleanValue): 57826 (JSC::Bindings::CInstance::valueOf): 57827 * bridge/c/c_instance.h: 57828 * bridge/c/c_runtime.cpp: 57829 (JSC::Bindings::CField::valueFromInstance): 57830 (JSC::Bindings::CField::setValueToInstance): 57831 * bridge/c/c_runtime.h: 57832 * bridge/c/c_utility.cpp: 57833 (JSC::Bindings::convertValueToNPVariant): 57834 (JSC::Bindings::convertNPVariantToValue): 57835 * bridge/c/c_utility.h: 57836 * bridge/jni/jni_instance.cpp: 57837 (JavaInstance::stringValue): 57838 (JavaInstance::numberValue): 57839 (JavaInstance::booleanValue): 57840 (JavaInstance::invokeMethod): 57841 (JavaInstance::defaultValue): 57842 (JavaInstance::valueOf): 57843 * bridge/jni/jni_instance.h: 57844 * bridge/jni/jni_jsobject.h: 57845 * bridge/jni/jni_jsobject.mm: 57846 (JavaJSObject::call): 57847 (JavaJSObject::eval): 57848 (JavaJSObject::getMember): 57849 (JavaJSObject::getSlot): 57850 (JavaJSObject::convertValueToJObject): 57851 (JavaJSObject::convertJObjectToValue): 57852 * bridge/jni/jni_objc.mm: 57853 (JSC::Bindings::dispatchJNICall): 57854 * bridge/jni/jni_runtime.cpp: 57855 (JavaArray::convertJObjectToArray): 57856 (JavaField::dispatchValueFromInstance): 57857 (JavaField::valueFromInstance): 57858 (JavaField::dispatchSetValueToInstance): 57859 (JavaField::setValueToInstance): 57860 (JavaArray::setValueAt): 57861 (JavaArray::valueAt): 57862 * bridge/jni/jni_runtime.h: 57863 * bridge/jni/jni_utility.cpp: 57864 (JSC::Bindings::convertArrayInstanceToJavaArray): 57865 (JSC::Bindings::convertValueToJValue): 57866 * bridge/jni/jni_utility.h: 57867 * bridge/objc/WebScriptObject.h: 57868 * bridge/objc/objc_class.h: 57869 * bridge/objc/objc_class.mm: 57870 (JSC::Bindings::ObjcClass::fallbackObject): 57871 * bridge/objc/objc_instance.h: 57872 * bridge/objc/objc_instance.mm: 57873 (ObjcInstance::invokeMethod): 57874 (ObjcInstance::invokeDefaultMethod): 57875 (ObjcInstance::setValueOfUndefinedField): 57876 (ObjcInstance::getValueOfUndefinedField): 57877 (ObjcInstance::defaultValue): 57878 (ObjcInstance::stringValue): 57879 (ObjcInstance::numberValue): 57880 (ObjcInstance::booleanValue): 57881 (ObjcInstance::valueOf): 57882 * bridge/objc/objc_runtime.h: 57883 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 57884 * bridge/objc/objc_runtime.mm: 57885 (JSC::Bindings::ObjcField::valueFromInstance): 57886 (JSC::Bindings::convertValueToObjcObject): 57887 (JSC::Bindings::ObjcField::setValueToInstance): 57888 (JSC::Bindings::ObjcArray::setValueAt): 57889 (JSC::Bindings::ObjcArray::valueAt): 57890 (JSC::Bindings::ObjcFallbackObjectImp::put): 57891 (JSC::Bindings::callObjCFallbackObject): 57892 (JSC::Bindings::ObjcFallbackObjectImp::defaultValue): 57893 * bridge/objc/objc_utility.h: 57894 * bridge/objc/objc_utility.mm: 57895 (JSC::Bindings::convertValueToObjcValue): 57896 (JSC::Bindings::convertNSStringToString): 57897 (JSC::Bindings::convertObjcValueToValue): 57898 * bridge/runtime.cpp: 57899 (JSC::Bindings::Instance::getValueOfField): 57900 (JSC::Bindings::Instance::setValueOfField): 57901 * bridge/runtime.h: 57902 (JSC::Bindings::Class::fallbackObject): 57903 (JSC::Bindings::Instance::getValueOfUndefinedField): 57904 (JSC::Bindings::Instance::setValueOfUndefinedField): 57905 (JSC::Bindings::Instance::invokeDefaultMethod): 57906 (JSC::Bindings::Instance::invokeConstruct): 57907 (JSC::Bindings::Instance::valueOf): 57908 * bridge/runtime_array.cpp: 57909 (JSC::RuntimeArray::lengthGetter): 57910 (JSC::RuntimeArray::indexGetter): 57911 (JSC::RuntimeArray::put): 57912 * bridge/runtime_array.h: 57913 (JSC::RuntimeArray::createStructure): 57914 * bridge/runtime_method.cpp: 57915 (JSC::RuntimeMethod::lengthGetter): 57916 (JSC::callRuntimeMethod): 57917 * bridge/runtime_method.h: 57918 (JSC::RuntimeMethod::createStructure): 57919 * bridge/runtime_object.cpp: 57920 (JSC::RuntimeObjectImp::fallbackObjectGetter): 57921 (JSC::RuntimeObjectImp::fieldGetter): 57922 (JSC::RuntimeObjectImp::methodGetter): 57923 (JSC::RuntimeObjectImp::put): 57924 (JSC::RuntimeObjectImp::defaultValue): 57925 (JSC::callRuntimeObject): 57926 (JSC::callRuntimeConstructor): 57927 * bridge/runtime_object.h: 57928 (JSC::RuntimeObjectImp::createStructure): 57929 * inspector/InspectorController.cpp: 57930 * inspector/JavaScriptCallFrame.cpp: 57931 (WebCore::JavaScriptCallFrame::evaluate): 57932 * inspector/JavaScriptCallFrame.h: 57933 * inspector/JavaScriptProfile.cpp: 57934 (WebCore::toJS): 57935 * inspector/JavaScriptProfile.h: 57936 * inspector/JavaScriptProfileNode.cpp: 57937 (WebCore::toJS): 57938 * inspector/JavaScriptProfileNode.h: 57939 * xml/XMLHttpRequest.cpp: 57940 (WebCore::XMLHttpRequest::dropProtection): 57941 57942 2009-01-06 Pierre-Olivier Latour <pol (a] apple.com> 57943 57944 Reviewed by Darin Adler. 57945 57946 Added new API on AnimationController::numberOfActiveAnimations() to be used by DRT. 57947 57948 https://bugs.webkit.org/show_bug.cgi?id=23126 57949 57950 Test: animations/animation-controller-drt-api.html 57951 57952 * WebCore.base.exp: 57953 * page/animation/AnimationController.cpp: 57954 (WebCore::AnimationControllerPrivate::numberOfActiveAnimations): 57955 (WebCore::AnimationController::numberOfActiveAnimations): 57956 * page/animation/AnimationController.h: 57957 * page/animation/CompositeAnimation.cpp: 57958 (WebCore::CompositeAnimationPrivate::numberOfActiveAnimations): 57959 (WebCore::CompositeAnimation::numberOfActiveAnimations): 57960 * page/animation/CompositeAnimation.h: 57961 57962 2009-01-06 Eric Seidel <eric (a] webkit.org> 57963 57964 Reviewed by Gavin Barraclough. 57965 57966 Upstream 3 more files to get the WebCore-Chromium build a bit further. 57967 57968 * WebCore.scons: 57969 * page/chromium/AccessibilityObjectChromium.cpp: Added. 57970 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 57971 * page/chromium/AccessibilityObjectWrapper.h: Added. 57972 (WebCore::AccessibilityObjectWrapper::~AccessibilityObjectWrapper): 57973 (WebCore::AccessibilityObjectWrapper::attached): 57974 (WebCore::AccessibilityObjectWrapper::accessibilityObject): 57975 (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper): 57976 * platform/chromium/PasteboardPrivate.h: Added. 57977 (WebCore::PasteboardPrivate::): 57978 57979 2009-01-06 Chris Marrin <cmarrin (a] apple.com> 57980 57981 Reviewed by David Hyatt. 57982 57983 Tests: animations/simultaneous-start-left.html 57984 animations/simultaneous-start-transform.html 57985 57986 Fixed https://bugs.webkit.org/show_bug.cgi?id=22870 57987 57988 I added calls beginAnimationUpdate() and endAnimationUpdate() calls 57989 to AnimationController. These are called by Document at the start 57990 and end of the recalcStyle cycle. Right now, I'm just using the 57991 beginAnimationUpdate() method to reset an animation time value. 57992 The first time the animation time is accessed after this reset I set 57993 it to the currentTime. So all animations in that cycle get the same 57994 start time. 57995 57996 The test cases checked in test this, but in the case of the 'left' 57997 test it actually doesn't make any difference in most cases. This is 57998 because values are clamped to whole pixels, so the start times would 57999 have to be pretty far off for the test to fail using the old 58000 currentTime() model. Still, under really heavy load, it's possible for 58001 the test to fail without these changes. 58002 58003 The 'transform' test is another story. It animates to the full resolution 58004 of a floating point number, so the test fails miserably without this 58005 fix. 58006 58007 * dom/Document.cpp: 58008 (WebCore::Document::recalcStyle): 58009 * page/animation/AnimationBase.cpp: 58010 (WebCore::AnimationBase::updateStateMachine): 58011 (WebCore::AnimationBase::fireAnimationEventsIfNeeded): 58012 (WebCore::AnimationBase::willNeedService): 58013 (WebCore::AnimationBase::progress): 58014 (WebCore::AnimationBase::goIntoEndingOrLoopingState): 58015 (WebCore::AnimationBase::beginAnimationUpdateTime): 58016 * page/animation/AnimationBase.h: 58017 * page/animation/AnimationController.cpp: 58018 (WebCore::AnimationControllerPrivate::beginAnimationUpdateTime): 58019 (WebCore::AnimationControllerPrivate::setBeginAnimationUpdateTime): 58020 (WebCore::AnimationControllerPrivate::AnimationControllerPrivate): 58021 (WebCore::AnimationController::updateAnimations): 58022 (WebCore::AnimationController::beginAnimationUpdateTime): 58023 (WebCore::AnimationController::beginAnimationUpdate): 58024 (WebCore::AnimationController::endAnimationUpdate): 58025 * page/animation/AnimationController.h: 58026 * page/animation/KeyframeAnimation.cpp: 58027 (WebCore::KeyframeAnimation::animate): 58028 58029 2009-01-06 Julien Chaffraix <jchaffraix (a] webkit.org> 58030 58031 Reviewed by Nikolas Zimmermann. 58032 58033 Bug 22858: Simplify make_names.pl code for avoiding multiple definitions or inclusions 58034 https://bugs.webkit.org/show_bug.cgi?id=22858 58035 58036 I had introduced an awkward situation using hasCustomJSWrapper and 58037 sometimes boolean parameter in order to ensure JS wrapper generated once 58038 or header included once. 58039 58040 Simplified the code by using a %seenTag hash to detect multiple definitions 58041 or inclusions and skipping it. 58042 58043 Also cleaned up a bit make_names.pl by using more explicit names and moving 58044 code to where it belongs. 58045 58046 * dom/make_names.pl: 58047 * html/HTMLTagNames.in: Necessary changes that were not detected by 58048 the previous syntax but will be required for autogenerating HTMLElementFactory. 58049 58050 2009-01-06 Anders Carlsson <andersca (a] apple.com> 58051 58052 Reviewed by Sam Weinig. 58053 58054 Add a way for frame loader clients to always create a PluginDocument, regardless of 58055 the real document MIME type. 58056 58057 * loader/FrameLoader.cpp: 58058 (WebCore::FrameLoader::begin): 58059 (WebCore::FrameLoader::shouldUsePlugin): 58060 * loader/FrameLoaderClient.h: 58061 (WebCore::FrameLoaderClient::shouldUsePluginDocument): 58062 58063 2009-01-06 Dean Jackson <dino (a] apple.com> 58064 58065 Reviewed by Dave Hyatt. 58066 58067 Extend Media Queries to cover transitions, 58068 animations, transform-2d and transform-3d 58069 http://webkit.org/specs/MediaQueriesExtensions.html 58070 Note that the implementation uses -webkit- prefixes 58071 even though the spec doesn't have them. 58072 https://bugs.webkit.org/show_bug.cgi?id=22494 58073 58074 Tests: fast/media/mq-animation.html 58075 fast/media/mq-transform-01.html 58076 fast/media/mq-transform-02.html 58077 fast/media/mq-transform-03.html 58078 fast/media/mq-transform-04.html 58079 fast/media/mq-transition.html 58080 58081 * css/MediaFeatureNames.h: 58082 * css/MediaQueryEvaluator.cpp: 58083 (WebCore::animationMediaFeatureEval): 58084 (WebCore::transitionMediaFeatureEval): 58085 (WebCore::transform_2dMediaFeatureEval): 58086 (WebCore::transform_3dMediaFeatureEval): 58087 58088 2009-01-06 Eric Seidel <eric (a] webkit.org> 58089 58090 Reviewed by Oliver Hunt. 58091 58092 Bring the Chromium-WebCore build closer to building 58093 by upstreaming PlatformWidget.h add adding the JSC 58094 plugin bridge files to the build. 58095 58096 * WebCore.scons: 58097 * platform/chromium/PlatformWidget.h: Added. 58098 58099 2009-01-06 Eric Seidel <eric (a] webkit.org> 58100 58101 Build fix only, no review. 58102 58103 Bring the Chromium-WebCore build back closer to building 58104 by adding files from recent commits. 58105 58106 * WebCore.scons: 58107 58108 2009-01-06 Alexey Proskuryakov <ap (a] webkit.org> 58109 58110 Reviewed by Darin Adler. 58111 58112 <rdar://problem/6474973> REGRESSION: PLT ~2% slower due to 39465 (consolidate thread data) 58113 58114 I could not reproduce the slowdown on my PowerPC test machine, but the change should bring 58115 performance back. 58116 58117 * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Don't use AtomicallyInitializedStatic. 58118 Prior to r39465, it was only used for cached converters, which was necessary because the 58119 first access to ICU or TEC one could happen on a secondary thread, but now they are all 58120 initialized from ThreadGlobalData constructor. 58121 58122 2009-01-06 David Smith <catfish.man (a] gmail.com> 58123 58124 Reviewed by Darin Adler. 58125 58126 https://bugs.webkit.org/show_bug.cgi?id=23129 58127 Devirtualize Node::childNodes(). 58128 58129 2009-01-06 Simon Hausmann <simon.hausmann (a] nokia.com> 58130 58131 Unreviewed build fix. 58132 58133 Fix the Qt build with Qt 4.4.x, the HTTP-only cookie support was 58134 added in Qt 4.5. 58135 58136 * platform/qt/CookieJarQt.cpp: 58137 (WebCore::setCookies): 58138 (WebCore::cookies): 58139 58140 2009-01-06 Zalan Bujtas <zbujtas (a] gmail.com> 58141 58142 Reviewed by David Kilzer. 58143 58144 https://bugs.webkit.org/show_bug.cgi?id=23133 58145 Fix SVG disabled build. Move 'pointer-events' from SVGCSSPropertyNames.in to 58146 CSSPropertyNames.in and move PointerEvents functions out of #if ENABLE(SVG) 58147 58148 NOTE: Property name fixes landed as part of r39648. 58149 58150 * css/CSSPrimitiveValueMappings.h: 58151 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 58152 (WebCore::CSSPrimitiveValue::operator EPointerEvents): 58153 * css/CSSPropertyNames.in: 58154 * css/SVGCSSPropertyNames.in: 58155 58156 2009-01-06 David Kilzer <ddkilzer (a] apple.com> 58157 58158 BUILD FIX (r39634): Fix build for non-SVG builds (Wx) 58159 58160 * css/CSSPropertyNames.in: Added 'pointer-events'. 58161 * css/SVGCSSPropertyNames.in: Commented out pointer-events 58162 since it's now a plain CSS property. 58163 58164 2009-01-06 Simon Hausmann <simon.hausmann (a] nokia.com> 58165 58166 Reviewed by Lars Knoll. 58167 58168 Added support for HTTP-only cookies to the Qt build. 58169 58170 * platform/qt/CookieJarQt.cpp: 58171 (WebCore::setCookies): Don't set HTTP-only cookies through the DOM. 58172 (WebCore::cookies): Don't return HTTP-only cookies to the DOM. 58173 58174 2009-01-05 David Smith <catfish.man (a] gmail.com> 58175 58176 Reviewed by Oliver Hunt. 58177 58178 https://bugs.webkit.org/show_bug.cgi?id=23084 58179 Avoid redundant AtomicString conversions 58180 58181 * dom/Node.cpp: Create an AtomicString early to avoid converting twice 58182 (WebCore::Node::getElementsByTagNameNS): 58183 * dom/QualifiedName.h: Use the appropriate AtomicString constructor instead of converting from a String 58184 58185 2009-01-05 Simon Fraser <simon.fraser (a] apple.com> 58186 58187 Reviewed by Dave Hyatt 58188 58189 https://bugs.webkit.org/show_bug.cgi?id=22985 58190 58191 Add an assertion that clip rects are being used when painting with the same 58192 rootLayer that they were computed with. 58193 58194 Fix two issues detected by the assertion: 58195 58196 RenderLayer::updateClipRects() should not unconditionally update the clip rects 58197 on its parent, but stop when reaching rootLayer (just like calculateClipRects()). 58198 58199 We need to pass the temporaryClipRects flag down through reflection painting 58200 to handle the case of nested reflections. 58201 58202 Also use temporary clip rects in RenderTreeAsText, since that code does not 58203 reset the painting root for transformed layers, so cached clip rects will not 58204 match those used for painting. 58205 58206 * rendering/RenderLayer.cpp: 58207 (WebCore::RenderLayer::RenderLayer): 58208 (WebCore::RenderLayer::paintLayer): 58209 (WebCore::RenderLayer::updateClipRects): 58210 (WebCore::RenderLayer::clearClipRects): 58211 * rendering/RenderLayer.h: 58212 * rendering/RenderTreeAsText.cpp: 58213 (WebCore::writeLayers): 58214 58215 2009-01-05 Adam Treat <adam.treat (a] torchmobile.com> 58216 58217 Fix the Qt build 58218 58219 * platform/graphics/qt/AffineTransformQt.cpp: 58220 (WebCore::TransformationMatrix::TransformationMatrix): 58221 58222 2009-01-05 Mark Rowe <mrowe (a] apple.com> 58223 58224 Fix the build some more. 58225 58226 * platform/graphics/cairo/AffineTransformCairo.cpp: 58227 (WebCore::TransformationMatrix::TransformationMatrix): 58228 58229 2009-01-05 Oliver Hunt <oliver (a] apple.com> 58230 58231 Reviewed by NOBODY (Build fix). 58232 58233 Fix Cairo/Gtk build 58234 58235 * platform/graphics/cairo/ImageBufferCairo.cpp: 58236 (WebCore::ImageBuffer::putImageData): 58237 58238 2009-01-05 Dean Jackson <dino (a] apple.com> 58239 58240 Reviewed by Darin Adler. 58241 58242 Rename AffineTransform to TransformationMatrix in 58243 preparation for future enhancements (non-affine matrices) 58244 58245 https://bugs.webkit.org/show_bug.cgi?id=22943 58246 58247 * GNUmakefile.am: 58248 * WebCore.pro: 58249 * WebCore.scons: 58250 * WebCore.vcproj/WebCore.vcproj: 58251 * WebCore.xcodeproj/project.pbxproj: 58252 * WebCoreSources.bkl: 58253 * platform/graphics/transforms/AffineTransform.cpp: Removed. 58254 * platform/graphics/transforms/AffineTransform.h: Removed. 58255 * platform/graphics/transforms/TransformationMatrix.cpp: Copied from WebCore/platform/graphics/transforms/AffineTransform.cpp. 58256 * platform/graphics/transforms/TransformationMatrix.h: Copied from WebCore/platform/graphics/transforms/AffineTransform.h. 58257 * lots of other files with s/AffineTransform/TransformationMatrix/g 58258 58259 2008-01-05 Dean Jackson <dino (a] apple.com> 58260 58261 Reviewed by David Hyatt. 58262 58263 Implement 'pointer-events' for HTML content. This involved 58264 adding a new value 'auto' which behaves as 'visiblePainted' 58265 in SVG content. 58266 58267 Moved the property out of the SVG CSS code and into 58268 the general CSS (both parsing and RenderStyle). 58269 58270 Changes to the hit testing functionality of the Render tree, 58271 specifically the nodeAtPoint methods. Where they used to 58272 test for visibility, they now use a helper function defined 58273 on base classes (RenderObject and InlineBox) that checks both 58274 visibility and pointer-events. 58275 58276 https://bugs.webkit.org/show_bug.cgi?id=11395 58277 58278 Tests: fast/events/pointer-events-2.html 58279 fast/events/pointer-events.html 58280 58281 * css/CSSComputedStyleDeclaration.cpp: 58282 (WebCore::): 58283 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 58284 * css/CSSParser.cpp: 58285 (WebCore::CSSParser::parseValue): 58286 * css/CSSPrimitiveValueMappings.h: 58287 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 58288 (WebCore::CSSPrimitiveValue::operator EPointerEvents): 58289 * css/CSSStyleSelector.cpp: 58290 (WebCore::CSSStyleSelector::applyProperty): 58291 * css/SVGCSSComputedStyleDeclaration.cpp: 58292 (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): 58293 * css/SVGCSSStyleSelector.cpp: 58294 (WebCore::CSSStyleSelector::applySVGProperty): 58295 * manual-tests/pointer-events.html: Added. 58296 * rendering/EllipsisBox.cpp: 58297 (WebCore::EllipsisBox::nodeAtPoint): 58298 * rendering/InlineBox.h: 58299 (WebCore::InlineBox::visibleToHitTesting): 58300 * rendering/InlineFlowBox.cpp: 58301 (WebCore::InlineFlowBox::nodeAtPoint): 58302 * rendering/InlineTextBox.cpp: 58303 (WebCore::InlineTextBox::nodeAtPoint): 58304 * rendering/PointerEventsHitRules.cpp: 58305 (WebCore::PointerEventsHitRules::PointerEventsHitRules): 58306 * rendering/PointerEventsHitRules.h: 58307 (WebCore::PointerEventsHitRules::): 58308 * rendering/RenderBlock.cpp: 58309 (WebCore::RenderBlock::nodeAtPoint): 58310 * rendering/RenderBox.cpp: 58311 (WebCore::RenderBox::nodeAtPoint): 58312 * rendering/RenderObject.h: 58313 (WebCore::RenderObject::visibleToHitTesting): 58314 * rendering/RenderPath.cpp: 58315 (WebCore::RenderPath::nodeAtPoint): 58316 * rendering/RenderSVGImage.cpp: 58317 (WebCore::RenderSVGImage::nodeAtPoint): 58318 * rendering/RenderSVGText.cpp: 58319 (WebCore::RenderSVGText::nodeAtPoint): 58320 * rendering/RootInlineBox.cpp: 58321 (WebCore::RootInlineBox::nodeAtPoint): 58322 * rendering/TextControlInnerElements.cpp: 58323 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): 58324 * rendering/style/RenderStyle.h: 58325 (WebCore::): 58326 (WebCore::InheritedFlags::setBitDefaults): 58327 (WebCore::InheritedFlags::pointerEvents): 58328 (WebCore::InheritedFlags::setPointerEvents): 58329 (WebCore::InheritedFlags::initialPointerEvents): 58330 * rendering/style/RenderStyleConstants.h: 58331 (WebCore::): 58332 * rendering/style/SVGRenderStyle.h: 58333 (WebCore::SVGRenderStyle::InheritedFlags::operator==): 58334 (WebCore::SVGRenderStyle::setBitDefaults): 58335 * rendering/style/SVGRenderStyleDefs.h: 58336 * css/CSSValueKeywords.in: 58337 * css/SVGCSSValueKeywords.in: 58338 58339 2009-01-05 Oliver Hunt <oliver (a] apple.com> 58340 58341 Reviewed by NOBODY (Build fix). 58342 58343 Fix Cairo/Gtk build 58344 58345 * platform/graphics/cairo/ImageBufferCairo.cpp: 58346 (WebCore::ImageBuffer::getImageData): 58347 58348 2009-01-05 Oliver Hunt <oliver (a] apple.com> 58349 58350 Reviewed by Gavin Barraclough. 58351 58352 CanvasPixelArray performance is too slow 58353 <https://bugs.webkit.org/show_bug.cgi?id=23123> 58354 58355 Remove the WebCore CanvasPixelArray implementation and replace 58356 CPA usage with JSC::ByteArray. Replace the JSCanvasPixelArray 58357 wrapper with an explicitly instantiated JSByteArray put on the 58358 JSImageData object as an ordinary ReadOnly, DontDelete property. 58359 58360 * DerivedSources.make: 58361 * ForwardingHeaders/runtime/ByteArray.h: Added. 58362 * ForwardingHeaders/runtime/JSByteArray.h: Added. 58363 * GNUmakefile.am: 58364 * WebCore.pro: 58365 * WebCore.scons: 58366 * WebCore.vcproj/WebCore.vcproj: 58367 * WebCore.xcodeproj/project.pbxproj: 58368 * bindings/js/JSCanvasPixelArrayCustom.h: Removed. 58369 * bindings/js/JSImageDataCustom.cpp: 58370 (WebCore::toJS): 58371 * html/CanvasPixelArray.cpp: Removed. 58372 * html/CanvasPixelArray.h: Removed. 58373 * html/CanvasPixelArray.idl: Removed. 58374 * html/CanvasRenderingContext2D.cpp: 58375 (WebCore::createEmptyImageData): 58376 * html/ImageData.cpp: 58377 (WebCore::ImageData::ImageData): 58378 * html/ImageData.h: 58379 (WebCore::ImageData::data): 58380 * html/ImageData.idl: 58381 * platform/graphics/cg/ImageBufferCG.cpp: 58382 (WebCore::ImageBuffer::getImageData): 58383 (WebCore::ImageBuffer::putImageData): 58384 58385 2009-01-05 Adam Treat <adam.treat (a] torchmobile.com> 58386 58387 Reviewed by George Staikos. 58388 58389 Add notification for contentsSizeChanged which the Qt API will 58390 introduce. 58391 58392 * loader/EmptyClients.h: 58393 (WebCore::EmptyChromeClient::contentsSizeChanged): 58394 * page/Chrome.cpp: 58395 (WebCore::Chrome::contentsSizeChanged): 58396 * page/Chrome.h: 58397 * page/ChromeClient.h: 58398 * page/FrameView.cpp: 58399 (WebCore::FrameView::setContentsSize): 58400 * page/FrameView.h: 58401 * platform/HostWindow.h: 58402 * platform/ScrollView.h: 58403 58404 2009-01-05 Anders Carlsson <andersca (a] apple.com> 58405 58406 Build fix. 58407 58408 * plugins/PluginView.h: 58409 (WebCore::PluginManualLoader::~PluginManualLoader): 58410 58411 2009-01-05 Anders Carlsson <andersca (a] apple.com> 58412 58413 Reviewed by Kevin Decker. 58414 58415 Add an abstract PluginManualLoader class and make PluginView inherit from it. 58416 58417 Add some error checking that currently exists in WebKit (but not for long!) 58418 58419 * plugins/PluginView.cpp: 58420 (WebCore::PluginView::didReceiveResponse): 58421 (WebCore::PluginView::didReceiveData): 58422 (WebCore::PluginView::didFinishLoading): 58423 (WebCore::PluginView::didFail): 58424 * plugins/PluginView.h: 58425 58426 2009-01-05 Adam Treat <adam.treat (a] torchmobile.com> 58427 58428 Reviewed by George Staikos. 58429 58430 Fixes FrameView to respect the state of scrollbarmode when it is explicitly 58431 set programatically via a webkit API. 58432 58433 * loader/FrameLoaderClient.cpp: 58434 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage): 58435 * loader/FrameLoaderClient.h: 58436 * page/FrameView.cpp: 58437 (WebCore::FrameView::initScrollbars): 58438 (WebCore::FrameView::updateDefaultScrollbarState): 58439 * page/FrameView.h: 58440 58441 2009-01-05 Darin Adler <darin (a] apple.com> 58442 58443 Reviewed by Dan Bernstein. 58444 58445 Bug 23109: REGRESSION: Backwards search in a long document matches incorrectly 58446 https://bugs.webkit.org/show_bug.cgi?id=23109 58447 58448 Test: fast/text/find-backwards.html 58449 58450 * editing/TextIterator.cpp: 58451 (WebCore::SearchBuffer::append): Fix incorrect size passed to memcpy. 58452 (WebCore::SearchBuffer::search): Handle case where we have an empty buffer but 58453 we're at a break; must not try to search because ICU will give us an error. 58454 Fix incorrect size passed to memcpy and memmove. 58455 (WebCore::findPlainText): Fix case where we found a match and need to search 58456 again because we want to find the last match. We need to try again without 58457 adding any more text or handling the break before moving on. 58458 58459 2009-01-05 Adam Treat <adam.treat (a] torchmobile.com> 58460 58461 Fix the Qt build 58462 58463 * bridge/runtime_object.cpp: 58464 (JSC::RuntimeObjectImp::put): 58465 58466 2009-01-05 Alexey Proskuryakov <ap (a] webkit.org> 58467 58468 Reviewed by Sam Weinig. 58469 58470 Fix platforms that don't have Workers enabled. 58471 58472 * platform/ThreadGlobalData.cpp: (WebCore::threadGlobalData): Create ThreadGlobalData in 58473 two stages, so that EventNames constructor can access the just-created atomic string table. 58474 This matches what happens in ThreadSpecific case. 58475 58476 2009-01-05 Alexey Proskuryakov <ap (a] webkit.org> 58477 58478 Suggested by Dave Levin. 58479 58480 Mac release build fix. 58481 58482 * WebCore.base.exp: Remove ThreadGlobalData::eventNames(), which is now inline. 58483 58484 2009-01-05 Darin Adler <darin (a] apple.com> 58485 58486 * dom/Document.cpp: Fix build. Oops again. 58487 58488 2009-01-05 Darin Adler <darin (a] apple.com> 58489 58490 Reviewed by Anders Carlsson. 58491 58492 Fix hang whenever following an anchor. 58493 58494 * dom/Document.cpp: 58495 (WebCore::Document::findAnchor): Oops! 58496 58497 2009-01-05 Alexey Proskuryakov <ap (a] webkit.org> 58498 58499 Reviewed by Darin Adler. 58500 58501 https://bugs.webkit.org/show_bug.cgi?id=23073 58502 <rdar://problem/6471129> Workers crash on Windows Release builds 58503 58504 * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::ThreadGlobalData): 58505 * platform/ThreadGlobalData.h: (WebCore::ThreadGlobalData::eventNames): 58506 Now that ThreadSpecific sets up the pointer before invoking data constructor, we can 58507 initialize EventNames right away. 58508 58509 2009-01-05 Darin Adler <darin (a] apple.com> 58510 58511 Reviewed by Anders Carlsson. 58512 58513 Bug 23106: HTMLFormCollection::namedItem ignores caseSensitive argument 58514 https://bugs.webkit.org/show_bug.cgi?id=23106 58515 58516 This led me to a bunch of dead code. It turns out that HTML collections 58517 were carrying the case-insensitive code just so they could be used to 58518 find anchors, something we can do more simply and efficiently without 58519 creating a DOM HTMLCollection object. 58520 58521 No behavior change. Just adding a new function findAnchor function and 58522 removing some dead code. 58523 58524 * dom/Document.cpp: 58525 (WebCore::Document::findAnchor): Added. 58526 * dom/Document.h: Ditto. 58527 58528 * html/HTMLAnchorElement.cpp: 58529 (WebCore::HTMLAnchorElement::accessKey): Take and return AtomicString 58530 references for better efficiency. 58531 (WebCore::HTMLAnchorElement::setAccessKey): Ditto. 58532 (WebCore::HTMLAnchorElement::charset): Ditto. 58533 (WebCore::HTMLAnchorElement::setCharset): Ditto. 58534 (WebCore::HTMLAnchorElement::coords): Ditto. 58535 (WebCore::HTMLAnchorElement::setCoords): Ditto. 58536 (WebCore::HTMLAnchorElement::setHref): Ditto. 58537 (WebCore::HTMLAnchorElement::hreflang): Ditto. 58538 (WebCore::HTMLAnchorElement::setHreflang): Ditto. 58539 (WebCore::HTMLAnchorElement::name): Ditto. 58540 (WebCore::HTMLAnchorElement::setName): Ditto. 58541 (WebCore::HTMLAnchorElement::rel): Ditto. 58542 (WebCore::HTMLAnchorElement::setRel): Ditto. 58543 (WebCore::HTMLAnchorElement::rev): Ditto. 58544 (WebCore::HTMLAnchorElement::setRev): Ditto. 58545 (WebCore::HTMLAnchorElement::shape): Ditto. 58546 (WebCore::HTMLAnchorElement::setShape): Ditto. 58547 (WebCore::HTMLAnchorElement::setTarget): Ditto. 58548 (WebCore::HTMLAnchorElement::type): Ditto. 58549 (WebCore::HTMLAnchorElement::setType): Ditto. 58550 * html/HTMLAnchorElement.h: Ditto. 58551 58552 * html/HTMLCollection.cpp: 58553 (WebCore::HTMLCollection::checkForNameMatch): Changed argument to an 58554 AtomicString and removed the caseSensitive boolean, since we're now always 58555 case sensitive. 58556 (WebCore::HTMLCollection::namedItem): Ditto. 58557 (WebCore::HTMLCollection::nextNamedItem): Ditto. 58558 * html/HTMLCollection.h: Ditto. 58559 * html/HTMLFormCollection.cpp: 58560 (WebCore::HTMLFormCollection::getNamedItem): Ditto. 58561 (WebCore::HTMLFormCollection::getNamedFormItem): Ditto. 58562 (WebCore::HTMLFormCollection::nextNamedItemInternal): Ditto. 58563 (WebCore::HTMLFormCollection::namedItem): Ditto. 58564 (WebCore::HTMLFormCollection::nextNamedItem): Ditto. 58565 * html/HTMLFormCollection.h: Ditto. 58566 * html/HTMLSelectElement.cpp: 58567 (WebCore::HTMLSelectElement::namedItem): Ditto. 58568 * html/HTMLSelectElement.h: Ditto. 58569 58570 * loader/FrameLoader.cpp: 58571 (WebCore::FrameLoader::gotoAnchor): Use the new findAnchor function. 58572 * page/AccessibilityRenderObject.cpp: 58573 (WebCore::AccessibilityRenderObject::internalLinkElement): Ditto. 58574 58575 2009-01-05 Darin Adler <darin (a] apple.com> 58576 58577 Reviewed by Anders Carlsson. 58578 58579 Bug 23104: minor mistakes in init functions for animation and transition events 58580 https://bugs.webkit.org/show_bug.cgi?id=23104 58581 58582 Test: fast/events/init-events.html 58583 58584 Also fixed two StorageEvent problems the test case uncovered: 58585 58586 Made document.createEvent("StorageEvent") work. 58587 Allow null values for StorageEvent.oldValue and StorageEvent.newValue. 58588 58589 * dom/Document.cpp: 58590 (WebCore::Document::createEvent): Sorted alphabetically by the name of the event 58591 class. Added StorageEvent. 58592 58593 * dom/UIEvent.idl: Fixed typo in a comment. 58594 58595 * dom/WebKitAnimationEvent.cpp: 58596 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent): Use all the arguments. 58597 * dom/WebKitTransitionEvent.cpp: 58598 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent): Ditto. 58599 58600 * storage/StorageEvent.idl: Use the ConvertNullToNullString keyword on the 58601 arguments to initStorageEvent so it can create events with null values for the 58602 oldValue and newValue, just like the real storage events. Note that the properties 58603 already had ConvertNullStringTo=Null, so this is just the other half of that. 58604 58605 2009-01-05 Darin Adler <darin (a] apple.com> 58606 58607 Reviewed by Alexey Proskuryakov. 58608 58609 Bug 23102: turn on unused parameter warnings in WebCore 58610 https://bugs.webkit.org/show_bug.cgi?id=23102 58611 58612 First step: Fix the simple cases where we can just remove an argument name. 58613 Also made a few more things protected and private. 58614 58615 * many files 58616 58617 2009-01-05 Alexey Proskuryakov <ap (a] webkit.org> 58618 58619 Reviewed by Darin Adler. 58620 58621 https://bugs.webkit.org/show_bug.cgi?id=23115 58622 Create a version of ASSERT for use with otherwise unused variables 58623 58624 * loader/appcache/ApplicationCacheStorage.cpp: 58625 (WebCore::ApplicationCacheStorage::verifySchemaVersion): Use the new ASSERT_UNUSED macro. 58626 58627 2009-01-05 Alexey Proskuryakov <ap (a] webkit.org> 58628 58629 Non-Mac build fix. 58630 58631 * loader/appcache/ApplicationCacheStorage.cpp: Include wtf/StringExtras.h for snprintf. 58632 58633 2009-01-05 Adam Treat <adam.treat (a] torchmobile.com> 58634 58635 Reviewed by George Staikos. 58636 58637 Remove unnecessary methods from EmptyFrameLoaderClient 58638 58639 * loader/EmptyClients.h: 58640 58641 2009-01-05 Alexey Proskuryakov <ap (a] webkit.org> 58642 58643 Reviewed by Darin Adler. 58644 58645 https://bugs.webkit.org/show_bug.cgi?id=23077 58646 Make application cache use SQLite built-in user_version 58647 58648 * loader/appcache/ApplicationCacheStorage.cpp: 58649 (WebCore::ApplicationCacheStorage::verifySchemaVersion): Changed to track versions with 58650 PRAGMA user_version. 58651 58652 * loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::): 58653 Used the occasion to get rid of the hole in bitmask that was a leftover from opportunistic 58654 cache entries. 58655 58656 2009-01-04 David Smith <catfish.man (a] gmail.com> 58657 58658 Reviewed by Oliver Hunt. 58659 58660 https://bugs.webkit.org/show_bug.cgi?id=23084 58661 Avoid redundant AtomicString conversions 58662 58663 * dom/Node.cpp: 58664 (WebCore::Node::getElementsByTagName): Pass starAtom instead of "*" 58665 (WebCore::Node::getElementsByTagNameNS): Take an AtomicString for the namespace URI 58666 (WebCore::Node::isDefaultNamespace): Ditto 58667 (WebCore::Node::lookupPrefix): Ditto 58668 (WebCore::Node::lookupNamespacePrefix): Ditto 58669 * dom/Node.h: Ditto 58670 58671 2009-01-04 Darin Adler <darin (a] apple.com> 58672 58673 Reviewed by Oliver Hunt. 58674 58675 Bug 23105: canvas setFillColor function ignores alpha argument 58676 https://bugs.webkit.org/show_bug.cgi?id=23105 58677 58678 Test: fast/canvas/set-colors.html 58679 58680 * html/CanvasRenderingContext2D.cpp: 58681 (WebCore::CanvasRenderingContext2D::setFillColor): Pass alpha value through instead 58682 of ignoring it and always passing 1. 58683 58684 * html/CanvasStyle.cpp: 58685 (WebCore::CanvasStyle::applyStrokeColor): Fix spelling of transparent in comments. 58686 (WebCore::CanvasStyle::applyFillColor): Ditto. 58687 58688 2009-01-04 Darin Adler <darin (a] apple.com> 58689 58690 Bug 23086: REGRESSION(r39540/r39541): Windows build fails due to ICU errors 58691 https://bugs.webkit.org/show_bug.cgi?id=23086 58692 58693 * editing/TextIterator.cpp: Check UCONFIG_NO_COLLATION and don't compile 58694 in the new search path if it's 0. 58695 58696 2009-01-04 David Kilzer <ddkilzer (a] apple.com> 58697 58698 Don't install *.idl and *.in files as resources 58699 58700 Reviewed by Oliver Hunt. 58701 58702 Don't install these files as resources in the WebCore framework: 58703 - WMLAttributeNames.in 58704 - WMLTagNames.in 58705 - WorkerContext.idl 58706 - WorkerLocation.idl 58707 - WorkerNavigator.idl 58708 58709 * WebCore.xcodeproj/project.pbxproj: Removed resources. 58710 58711 2009-01-04 Simon Fraser <simon.fraser (a] apple.com> 58712 58713 Reviewed by Darin Adler 58714 58715 https://bugs.webkit.org/show_bug.cgi?id=23090 58716 58717 If an object gets a Layout hint, and the style change will result in 58718 the creation of a RenderLayer, then we need to repaint the old position 58719 of the object. This was done for transform, but we have to test opacity too. 58720 58721 Test: fast/repaint/create-layer-repaint.html 58722 58723 * rendering/RenderObject.cpp: 58724 (WebCore::RenderObject::styleWillChange): 58725 58726 2009-01-04 Darin Adler <darin (a] apple.com> 58727 58728 Reviewed by Dan Bernstein. 58729 58730 Bug 23103: Safari's auto-fill no longer works for <select> elements 58731 https://bugs.webkit.org/show_bug.cgi?id=23103 58732 rdar://problem/6472061 58733 58734 * bindings/objc/DOMHTML.mm: 58735 (-[DOMHTMLSelectElement _activateItemAtIndex:]): Implemented this. 58736 58737 2009-01-04 Adam Treat <adam.treat (a] torchmobile.com> 58738 58739 Reviewed by George Staikos. 58740 58741 Add fixedLayoutSize feature to ScrollView to allow for controlling the 58742 layout beyond the constraint of the current viewports dynamic size 58743 58744 * css/MediaQueryEvaluator.cpp: 58745 (WebCore::heightMediaFeatureEval): 58746 (WebCore::widthMediaFeatureEval): 58747 * dom/Element.cpp: 58748 (WebCore::Element::clientWidth): 58749 (WebCore::Element::clientHeight): 58750 * loader/FrameLoaderClient.cpp: 58751 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage): 58752 * loader/FrameLoaderClient.h: 58753 * page/FrameView.cpp: 58754 (WebCore::FrameView::layout): 58755 * platform/ScrollView.cpp: 58756 (WebCore::ScrollView::ScrollView): 58757 (WebCore::ScrollView::layoutWidth): 58758 (WebCore::ScrollView::layoutHeight): 58759 (WebCore::ScrollView::fixedLayoutSize): 58760 (WebCore::ScrollView::setFixedLayoutSize): 58761 (WebCore::ScrollView::useFixedLayout): 58762 (WebCore::ScrollView::setUseFixedLayout): 58763 * platform/ScrollView.h: 58764 * rendering/RenderView.cpp: 58765 (WebCore::RenderView::viewHeight): 58766 (WebCore::RenderView::viewWidth): 58767 * rendering/RenderView.h: 58768 58769 2009-01-03 Rob Buis <rwlbuis (a] gmail.com> 58770 58771 Reviewed by Darin. 58772 58773 https://bugs.webkit.org/show_bug.cgi?id=22660 58774 SVG elements that are moved are nor fully invalidated/earsed 58775 58776 Mark the SVG root as needing a layout when its position changes. 58777 58778 Tests: svg/custom/circle-move-invalidation.svg 58779 58780 * rendering/RenderSVGRoot.cpp: 58781 (WebCore::RenderSVGRoot::position): 58782 * rendering/RenderSVGRoot.h: 58783 58784 2009-01-03 Steve Falkenburg <sfalken (a] apple.com> 58785 58786 Build fix. 58787 58788 * loader/FrameLoader.h: 58789 58790 2009-01-02 Cary Clark <caryclark (a] google.com> 58791 58792 Reviewed and landed by Darin Adler. 58793 58794 Bug 22963: write icons before reading them 58795 https://bugs.webkit.org/show_bug.cgi?id=22963 58796 58797 Reverse the order in the icon database main thread loop to 58798 write the pending icons to the database before trying 58799 to read any requested icons. This ensures that a requested icon 58800 has the correct data when read. 58801 58802 * loader/icon/IconDatabase.cpp: 58803 (WebCore::IconDatabase::syncThreadMainLoop): 58804 58805 2009-01-02 Darin Adler <darin (a] apple.com> 58806 58807 * loader/FrameLoader.cpp: 58808 (WebCore::FrameLoader::loadItem): One small thing I forgot in my last check-in. 58809 This cuts down on the number of hash table operations during loading. 58810 58811 2009-01-02 Dmitry Titov <dimich (a] chromium.org> 58812 58813 Reviewed and landed by Darin Adler. 58814 58815 https://bugs.webkit.org/show_bug.cgi?id=23025 58816 DOMTimer lifetime cleanup: timeoutMap methods on Document now do not delete the timer. 58817 Instead, all 3 places that delete timers do it directly calling 'delete' and then timer's dtor removes the ID from the timeoutMap. 58818 Note that in case the context is destroyed and timers are deleted at once, the check in ~DOMTimer() prevents 58819 unnecessary HashMap remove in case the Document is being destroyed. 58820 58821 * bindings/js/DOMTimer.cpp: 58822 (WebCore::DOMTimer::~DOMTimer): removes the id from the timeoutMap. 58823 (WebCore::DOMTimer::install): 58824 (WebCore::DOMTimer::removeById): simply uses 'delete this'. 58825 (WebCore::DOMTimer::fired): same. 58826 (WebCore::DOMTimer::contextDestroyed): same. 58827 * dom/Document.cpp: 58828 (WebCore::Document::removeTimeout): now it only removes the id from the map, does not delete the timer. 58829 58830 2009-01-02 Darin Adler <darin (a] apple.com> 58831 58832 Reviewed by Sam Weinig. 58833 58834 Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears 58835 inside its web view when resizing its window 58836 https://bugs.webkit.org/show_bug.cgi?id=23072 58837 rdar://problem/6368028 58838 58839 The first attempt at fixing this did not work. 58840 This time I was able to reproduce the bug and test the fix. 58841 58842 Bug 11212: REGRESSION: Activity window doesn't always list all files until refresh 58843 https://bugs.webkit.org/show_bug.cgi?id=11212 58844 rdar://problem/4959702 58845 58846 I had to fix this second bug because otherwise the WebKit code to trigger the first 58847 fix didn't run. 58848 58849 Also fixes memory use that kept growing as we maintained a set of all URLs loaded in 58850 a particular frame. Bad idea! It's bad enough that we do it for each document, but 58851 the old version kept the set around forever as you moved from one document to the next. 58852 58853 * html/HTMLFrameElementBase.cpp: 58854 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Change this so that we allow 58855 turning off scrolling when the quirk is enabled. We just don't allow turning it on. 58856 This fixes one of the two problems with the initial patch; the other fix is in WebKit. 58857 58858 * loader/DocumentLoader.h: Moved didTellClientAboutLoad and haveToldClientAboutLoad 58859 here from FrameLoader. The old way meant that a given frame would forever remember 58860 the URL of any resources loaded in that frame and never send any "loaded from cache" 58861 client calls about those URLs. 58862 58863 * loader/FrameLoader.cpp: 58864 (WebCore::FrameLoader::loadResourceSynchronously): Removed call to didTellCientAboutLoad. 58865 This is now handled by dispatchWillSendRequest, which is safer since that's the actual 58866 function that tells the client about the load. 58867 (WebCore::FrameLoader::loadedResourceFromMemoryCache): Changed calls to 58868 haveToldClientAboutLoad and didTellClientAboutLoad to call the document loader. 58869 Also removed the call in the case where we don't load from the cache, since 58870 dispatchWillSendRequest now takes care of it. 58871 (WebCore::FrameLoader::dispatchWillSendRequest): Put calls to didTellClientAboutLoad 58872 here. Call it both on the URL we pass in and the URL the client returns; we won't 58873 tell the client about either if it's loaded from the memory cache. 58874 58875 * loader/FrameLoader.h: Removed didTellClientAboutLoad, haveToldClientAboutLoad, and 58876 m_urlsClientKnowsAbout. 58877 58878 * loader/SubresourceLoader.cpp: Removed unneeded load function that called 58879 didTellClientAboutLoad. That's now taken care of in dispatchWillSendRequest. 58880 58881 * loader/SubresourceLoader.h: Removed load function. Also made all members private 58882 except for create and clearClient. 58883 58884 2009-01-02 Simon Fraser <simon.fraser (a] apple.com> 58885 58886 Reviewed by Darin Adler 58887 58888 https://bugs.webkit.org/show_bug.cgi?id=23082 58889 58890 Fix GIF animation by ensuring that the signature of 58891 startAnimation() in the base class matches the method in BitmapImage. 58892 58893 Test: fast/backgrounds/animated-gif-as-background.html 58894 58895 * platform/graphics/Image.h: 58896 (WebCore::Image::startAnimation): 58897 58898 2009-01-02 David Smith <catfish.man (a] gmail.com> 58899 58900 Reviewed by Darin Adler. 58901 58902 https://bugs.webkit.org/show_bug.cgi?id=22699 58903 Enable NodeList caching for getElementsByTagName 58904 58905 test: fast/dom/getelementsbytagnamens-mixed-namespaces.html 58906 58907 * dom/Document.cpp: 58908 (WebCore::FormElementKeyHash::hash): Use WTF::stringHashingStartValue 58909 * dom/Node.cpp: 58910 (WebCore::Node::getElementsByTagNameNS): Ensure rare data and add a node list cache 58911 (WebCore::NodeListsNodeData::invalidateCaches): Invalidate the tag name node list cache as well as the others 58912 (WebCore::NodeListsNodeData::isEmpty): Check the tag name node list cache as well as the others 58913 * dom/NodeRareData.h: Add m_tagNodeListCaches 58914 * dom/QualifiedName.cpp: 58915 * dom/QualifiedName.h: Move QNameHash to the header, make it work on QualifiedNames, and rename to QualifiedNameHash 58916 * dom/StyledElement.cpp: 58917 (WebCore::MappedAttributeHash::hash): Use WTF::stringHashingStartValue 58918 * dom/TagNodeList.cpp: 58919 (WebCore::TagNodeList::TagNodeList): Add a NodeList cache argument 58920 * dom/TagNodeList.h: 58921 (WebCore::TagNodeList::create): Add a NodeList cache argument 58922 * platform/text/StringHash.h: 58923 (WebCore::CaseFoldingHash::hash): Use WTF::stringHashingStartValue 58924 * platform/text/TextEncodingRegistry.cpp: 58925 (WebCore::TextEncodingNameHash::hash): Use WTF::stringHashingStartValue 58926 58927 2009-01-02 Eric Carlson <eric.carlson (a] apple.com> 58928 58929 Reviewed by Darin Adler 58930 58931 Fix for https://bugs.webkit.org/show_bug.cgi?id=23066 & <rdar://problem/6028417> 58932 Full Page Zoom: a <video> element that doesn't include width/height attribute does not scale 58933 58934 * rendering/RenderVideo.cpp: 58935 (WebCore::RenderVideo::calcReplacedWidth): Multiply aspect ratio width by style()->effectiveZoom() 58936 (WebCore::RenderVideo::calcReplacedHeight): Multiply aspect ratio height by style()->effectiveZoom() 58937 58938 2009-01-02 David Kilzer <ddkilzer (a] apple.com> 58939 58940 BUILD FIX (r39552): Add mediaControls.css to other build files 58941 58942 * GNUmakefile.am: 58943 * WebCore.pro: 58944 * WebCore.vcproj/WebCore.vcproj: 58945 58946 2009-01-02 David Kilzer <ddkilzer (a] apple.com> 58947 58948 Try to fix Wx build after r39427 58949 58950 * platform/graphics/wx/PathWx.cpp: 58951 (WebCore::Path::strokeBoundingRect): Added stub. 58952 58953 2009-01-02 Alexey Proskuryakov <ap (a] webkit.org> 58954 58955 Reviewed by Adele Peterson. 58956 58957 <rdar://problem/6471356> Failed assertion on quit 58958 58959 * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::~ThreadGlobalData): 58960 Only assert that empty string are all removed on secondary threads. 58961 58962 2009-01-02 David Kilzer <ddkilzer (a] apple.com> 58963 58964 Bug 23081: These files are no longer part of the KDE libraries 58965 58966 <https://bugs.webkit.org/show_bug.cgi?id=23081> 58967 58968 Reviewed by Darin Adler. 58969 58970 Removed "This file is part of the KDE libraries" comment from 58971 source files. Added or updated Apple copyrights as well. 58972 58973 No tests since there are only changes to comments. 58974 58975 * bridge/testbindings.cpp: 58976 * html/HTMLEntityNames.gperf: 58977 * loader/Cache.h: 58978 * loader/CachedCSSStyleSheet.h: 58979 * loader/CachedResourceClient.h: 58980 * loader/CachedResourceClientWalker.cpp: 58981 * loader/CachedResourceClientWalker.h: 58982 * loader/CachedScript.cpp: 58983 * loader/CachedScript.h: 58984 * loader/CachedXBLDocument.cpp: 58985 * loader/CachedXBLDocument.h: 58986 * loader/CachedXSLStyleSheet.cpp: 58987 * loader/CachedXSLStyleSheet.h: 58988 * rendering/GapRects.h: 58989 * xml/XMLSerializer.cpp: 58990 58991 2009-01-02 Simon Fraser <simon.fraser (a] apple.com> 58992 58993 Reviewed by Darin Adler 58994 58995 Use an OwnPtr for m_chromeClient. 58996 58997 * svg/graphics/SVGImage.cpp: 58998 (WebCore::SVGImage::~SVGImage): 58999 (WebCore::SVGImage::dataChanged): 59000 * svg/graphics/SVGImage.h: 59001 59002 2009-01-02 Simon Fraser <simon.fraser (a] apple.com> 59003 59004 Reviewed by Darin Adler 59005 59006 https://bugs.webkit.org/show_bug.cgi?id=22981 59007 59008 Repaints inside of an SVGImage were thrown on the floor, 59009 which broke incremental painting due to loading, or SVG animation. 59010 Fix this by assigning the SVGImage a ChromeClient subclass that passes 59011 along repaints via a new method on ImageObserver, which also takes 59012 a rect parameter for the changed rect, allowing incremental repaints. 59013 Fix RenderImage::imageChanged to take advantage of this changedRect to 59014 only repaint the changed parts of the image. 59015 59016 This also enables incremental painting for canvas-as-image, so 59017 add tests for that too. 59018 59019 Tests: fast/backgrounds/animated-svg-as-background.html 59020 fast/backgrounds/animated-svg-as-mask.html 59021 fast/canvas/canvas-as-image-incremental-repaint.html 59022 fast/canvas/canvas-as-image.html 59023 fast/images/animated-svg-as-image.html 59024 59025 * css/CSSCanvasValue.cpp: 59026 (WebCore::CSSCanvasValue::canvasChanged): 59027 * loader/CachedImage.cpp: 59028 (WebCore::CachedImage::notifyObservers): 59029 (WebCore::CachedImage::data): 59030 (WebCore::CachedImage::changedInRect): 59031 * loader/CachedImage.h: 59032 * loader/CachedResourceClient.h: 59033 (WebCore::CachedResourceClient::imageChanged): 59034 * platform/graphics/ImageObserver.h: 59035 * rendering/RenderBox.cpp: 59036 (WebCore::RenderBox::imageChanged): 59037 * rendering/RenderBox.h: 59038 * rendering/RenderImage.cpp: 59039 (WebCore::RenderImage::imageChanged): 59040 * rendering/RenderImage.h: 59041 * rendering/RenderListMarker.cpp: 59042 (WebCore::RenderListMarker::imageChanged): 59043 * rendering/RenderListMarker.h: 59044 * rendering/RenderObject.cpp: 59045 (WebCore::RenderObject::imageChanged): 59046 * rendering/RenderObject.h: 59047 (WebCore::RenderObject::imageChanged): 59048 * rendering/RenderSVGImage.cpp: 59049 (WebCore::RenderSVGImage::imageChanged): 59050 * rendering/RenderSVGImage.h: 59051 * rendering/RenderScrollbarPart.cpp: 59052 (WebCore::RenderScrollbarPart::imageChanged): 59053 * rendering/RenderScrollbarPart.h: 59054 * rendering/RenderTableCol.cpp: 59055 (WebCore::RenderTableCol::imageChanged): 59056 * rendering/RenderTableCol.h: 59057 * rendering/RenderTableRow.cpp: 59058 (WebCore::RenderTableRow::imageChanged): 59059 * rendering/RenderTableRow.h: 59060 * rendering/RenderTableSection.cpp: 59061 (WebCore::RenderTableSection::imageChanged): 59062 * rendering/RenderTableSection.h: 59063 * svg/graphics/SVGImage.cpp: 59064 (WebCore::SVGImageChromeClient::SVGImageChromeClient): 59065 (WebCore::SVGImageChromeClient::image): 59066 (WebCore::SVGImageChromeClient::chromeDestroyed): 59067 (WebCore::SVGImageChromeClient::repaint): 59068 (WebCore::SVGImage::SVGImage): 59069 (WebCore::SVGImage::~SVGImage): 59070 (WebCore::SVGImage::dataChanged): 59071 * svg/graphics/SVGImage.h: 59072 59073 2009-01-02 Eric Carlson <eric.carlson (a] apple.com> 59074 59075 Reviewed by Darin Adler 59076 59077 https://bugs.webkit.org/show_bug.cgi?id=23043 59078 59079 Pull media controls css out of html4.css into separate file. Don't generate 59080 wml, svg, or media css globals unless the feature is enabled. 59081 59082 * DerivedSources.make: 59083 Don't include css for unused features. 59084 59085 * WebCore.xcodeproj/project.pbxproj: 59086 include mediaControls.css 59087 59088 * css/CSSStyleSelector.cpp: 59089 (WebCore::CSSStyleSelector::styleForElement): 59090 don't parse or add media css unless VIDEO feature is enabled and the target 59091 element is video or audio 59092 59093 * css/html4.css: 59094 moved media controls css to mediaControls.css 59095 59096 * css/mediaControls.css: Added. 59097 59098 2009-01-02 Alexey Proskuryakov <ap (a] webkit.org> 59099 59100 Reviewed by Darin Adler. 59101 59102 https://bugs.webkit.org/show_bug.cgi?id=23022 59103 Fix multiple issues with appcache online whitelist handling 59104 59105 Test: http/tests/appcache/online-whitelist.html 59106 59107 * loader/appcache/ApplicationCache.cpp: 59108 (WebCore::ApplicationCache::isURLInOnlineWhitelist): Test whitelist entries as prefixes, 59109 making it possible to use them for CGI invocation (as required by HTML5). 59110 59111 * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): 59112 Re-ordered checks, so that resources that are cached, but are also listed in online whitelist 59113 are loaded from the cache. This is required by HTML5, although Firefox doesn't match. 59114 59115 * loader/appcache/ManifestParser.cpp: 59116 (WebCore::parseManifest): 59117 * loader/appcache/ManifestParser.h: 59118 * loader/appcache/ApplicationCache.h: 59119 (WebCore::ApplicationCache::onlineWhitelist): 59120 * loader/appcache/ApplicationCacheStorage.cpp: 59121 (WebCore::ApplicationCacheStorage::store): 59122 (WebCore::ApplicationCacheStorage::loadCache): 59123 Changed online whitelist to be a vector of URLs, which is better suited for the new algorithm. 59124 59125 2009-01-02 Darin Adler <darin (a] apple.com> 59126 59127 Reviewed by Oliver Hunt. 59128 59129 Bug 23072: REGRESSION (r37371): In the Dictionary application, scroll bar appears inside its web view when resizing its window 59130 https://bugs.webkit.org/show_bug.cgi?id=23072 59131 rdar://problem/6368028 59132 59133 * WebCore.base.exp: Updated. 59134 * WebCore.xcodeproj/project.pbxproj: Mark HTMLHeadElement.h Private so it can be used in WebKit. 59135 59136 * dom/Document.cpp: 59137 (WebCore::Document::Document): Initialize m_frameElementsShouldIgnoreScrolling to false. 59138 * dom/Document.h: Added setFrameElementsShouldIgnoreScrolling, frameElementsShouldIgnoreScrolling, 59139 and m_frameElementsShouldIgnoreScrolling. 59140 59141 * html/HTMLFrameElementBase.cpp: 59142 (WebCore::HTMLFrameElementBase::parseMappedAttribute): Don't allow changes to the scrolling attribute 59143 to affect the scrolling mode if frameElementsShouldIgnoreScrolling() returns true. This is only 59144 triggered on Mac OS X when running the Dictionary application. 59145 59146 2009-01-02 Alexey Proskuryakov <ap (a] webkit.org> 59147 59148 Reviewed by Darin Adler. 59149 59150 https://bugs.webkit.org/show_bug.cgi?id=23036 59151 <rdar://problem/6451666> Implement AppCache fallback entries (23036) 59152 59153 Test: http/tests/appcache/fallback.html 59154 59155 * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadResourceSynchronously): Use fallback 59156 entries if normal loading fails. 59157 59158 * loader/DocumentLoader.cpp: 59159 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): Do not prevent normal 59160 loading for resources that match fallback namespaces - they are only loaded from the cache 59161 if that fails. 59162 (WebCore::DocumentLoader::getApplicationCacheFallbackResource): Get a fallback entry for 59163 resource from associated appcache, or from passed in one, if any. 59164 (WebCore::DocumentLoader::scheduleLoadFallbackResourceFromApplicationCache): If a fallback 59165 entry for resourse exists, add it to pending substitute loads. 59166 59167 * loader/DocumentLoader.h: Added new functions for loading fallback data for resources. 59168 59169 * loader/ResourceLoader.h: 59170 * loader/ResourceLoader.cpp: 59171 (WebCore::ResourceLoader::scheduleLoadFallbackResourceFromApplicationCache): This function 59172 is called when normal loading fails (which includes network failures, 4xx and 5xx responses, 59173 and cross-origin redirects) to load appcache fallback data instead. It can use either the 59174 cache that is associated with the browsing context, or a custom one if association is yet 59175 to take place. 59176 (WebCore::ResourceLoader::willSendRequest): Try using fallback data. 59177 (WebCore::ResourceLoader::didReceiveResponse): Ditto. 59178 (WebCore::ResourceLoader::didFail): Ditto. 59179 59180 * loader/MainResourceLoader.cpp: 59181 (WebCore::MainResourceLoader::didReceiveResponse): Locate an appropriate cache and load 59182 fallback data from it if loading fails. The browsing context may still be associated with 59183 its previous document here, so the cache to load from must be passed explicitly. 59184 (WebCore::MainResourceLoader::didFail): Ditto. 59185 (WebCore::MainResourceLoader::load): Remove unnecessary check and FIXME. 59186 59187 * loader/appcache/ApplicationCache.cpp: 59188 (WebCore::ApplicationCache::setFallbackURLs): 59189 (WebCore::ApplicationCache::urlMatchesFallbackNamespace): 59190 * loader/appcache/ApplicationCache.h: 59191 (WebCore::ApplicationCache::fallbackURLs): 59192 * loader/appcache/ApplicationCacheStorage.cpp: 59193 (WebCore::ApplicationCacheStorage::cacheGroupForURL): 59194 (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): 59195 (WebCore::ApplicationCacheStorage::store): 59196 (WebCore::ApplicationCacheStorage::loadCache): 59197 (WebCore::ApplicationCacheStorage::storeCopyOfCache): 59198 * loader/appcache/ApplicationCacheStorage.h: 59199 * loader/appcache/ApplicationCacheGroup.cpp: 59200 (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): 59201 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 59202 * loader/appcache/ApplicationCacheGroup.h: 59203 Implement fallback map saving and loading, pass it to the cache. 59204 59205 * loader/appcache/ManifestParser.h: Use a correct data structure for fallback map - keys 59206 are matched by prefix, so HAshMap cannot be used. 59207 59208 * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): Fix bugs in fallback section 59209 parsing. 59210 59211 2009-01-01 Oliver Hunt <oliver (a] apple.com> 59212 59213 Reviewed by Dan Bernstein. 59214 59215 <rdar://problem/6450530> WebCore::FontPlatformData should not leak 59216 59217 Whoops, previous patch should also have fixed the font referencing in 59218 the constructor. 59219 59220 * WebCore.xcodeproj/project.pbxproj: 59221 * platform/graphics/mac/FontPlatformDataMac.mm: 59222 (WebCore::FontPlatformData::FontPlatformData): 59223 59224 2009-01-01 Oliver Hunt <oliver (a] apple.com> 59225 59226 Reviewed by Dan Bernstein. 59227 59228 <rdar://problem/6450530> WebCore::FontPlatformData should not leak 59229 59230 Make sure we only adopt the new font, rather than re-referencing (and so leaking). 59231 59232 * platform/graphics/mac/FontPlatformDataMac.mm: 59233 (WebCore::FontPlatformData::setFont): 59234 59235 2009-01-01 Darin Adler <darin (a] apple.com> 59236 59237 Reviewed by Dan Bernstein. 59238 59239 Bug 23071: REGRESSION (r39536): New test failures after committing patch in bug 23051 (ICU search) 59240 https://bugs.webkit.org/show_bug.cgi?id=23071 59241 59242 Also fix some things that Dan suggested during review of the ICU search patch that I forgot 59243 the first time around. 59244 59245 * editing/TextIterator.cpp: Use ICU search on all platforms that use ICU, now that 59246 we've double checked it works everywhere, removing HAVE_ICU_SEARCH entirely. 59247 Removed unused m_atBreak data member from the non-ICU code path. 59248 (WebCore::TextIterator::TextIterator): Move null check up. 59249 (WebCore::TextIterator::handleTextBox): Fix mistake that made the iterator include 59250 collapsed whitespace. This was left over from an earlier version of the patch. 59251 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): 59252 Move null check up. 59253 59254 2009-01-01 Simon Fraser <simon.fraser (a] apple.com> 59255 59256 Reviewed by Darin Adler, Oliver Hunt 59257 59258 https://bugs.webkit.org/show_bug.cgi?id=23065 59259 59260 Enable incremental painting of canvas. This turns incremental painting 59261 back on, and fixes issues with stroke width and miters, calling willDraw() 59262 for strokeText and fillText, and taking shadows into account. 59263 59264 Test: fast/canvas/canvas-incremental-repaint.html 59265 59266 * html/CanvasRenderingContext2D.cpp: 59267 (WebCore::CanvasStrokeStyleApplier::CanvasStrokeStyleApplier): 59268 (WebCore::CanvasStrokeStyleApplier::strokeStyle): 59269 (WebCore::CanvasRenderingContext2D::stroke): 59270 (WebCore::CanvasRenderingContext2D::willDraw): 59271 (WebCore::CanvasRenderingContext2D::putImageData): 59272 (WebCore::CanvasRenderingContext2D::drawTextInternal): 59273 * html/CanvasRenderingContext2D.h: 59274 * html/HTMLCanvasElement.cpp: 59275 (WebCore::HTMLCanvasElement::willDraw): 59276 * platform/graphics/FloatRect.h: 59277 (WebCore::mapRect): new method to map a rect contained 59278 in one rect to an equivalent rect inside another rect. 59279 59280 2008-12-29 Konstantin Kfer <kkaefer (a] gmail.com> 59281 59282 Reviewed by Tim Hatcher. 59283 59284 Fix for https://bugs.webkit.org/show_bug.cgi?id=17229 59285 <rdar://problem/5732829> Inspector should show properties of all JS objects in Console 59286 59287 Prints objects not as plain text but makes them expandable so that 59288 they can be inspected. 59289 59290 * inspector/front-end/Console.js: 59291 (): added a parameter "inline" to the WebInspector.Console._format function which indicates 59292 whether the object is printed in the context of another string (with console.log()) or 59293 as sole element. 59294 (.): objects and DOM nodes are now printed in an expandable form when they are printed alone 59295 (i.e. not in the context of a console.log() string) so that they can be inspected. 59296 * inspector/front-end/PropertiesSection.js: 59297 (WebInspector.PropertiesSection.prototype.set title): Allow DOM Nodes as title instead of strings 59298 in that case, the Node is inserted into the title instead of the string value of the passed 59299 object. This is used for displaying linkified titles, for example when inspecting DOM nodes, 59300 the syntax highlighted HTML representation is shown instead of the plain source code. 59301 * inspector/front-end/inspector.css: correct the offsetParent for the expandable object inspector. 59302 59303 2009-01-01 Darin Adler <darin (a] apple.com> 59304 59305 Reviewed by Dan Bernstein. 59306 59307 Bug 23051: web page searching should use ICU's search so it can ignore diacritical differences 59308 https://bugs.webkit.org/show_bug.cgi?id=23051 59309 rdar://problem/3574497 59310 59311 Test: editing/execCommand/findString-diacriticals.html 59312 59313 * editing/TextIterator.cpp: Changed the CircularSearchBuffer class to have a new 59314 name, since it doesn't always use a circular buffer any more. Changed the interface 59315 so it can work well in the new chunky comparison mode for ICU search, and also 59316 added private data members for both the ICU-search and non-ICU-search code paths. 59317 (WebCore::TextIterator::TextIterator): Use the versions of the Range functions 59318 that don't take an exception code. 59319 (WebCore::TextIterator::handleTextBox): Added a special case to handle the position 59320 of a collapsed-away space better. This is not needed for search mechanism, but was 59321 helpful in an earlier version of this patch, and is still an improvement. 59322 (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Use the 59323 versions of the Range functions that don't take an exception code. 59324 (WebCore::CharacterIterator::range): Ditto. 59325 (WebCore::characterSubrange): Added. Helper function used in both places below where 59326 we want to convert a range and character offsets into a subrange. 59327 (WebCore::WordAwareIterator::advance): Use the versions of the Range functions that 59328 don't take an exception code. 59329 (WebCore::createSearcher): Added. 59330 (WebCore::searcher): Added. 59331 (WebCore::lockSearcher): Added. 59332 (WebCore::unlockSearcher): Added. 59333 (WebCore::SearchBuffer::SearchBuffer): Added. 59334 (WebCore::SearchBuffer::~SearchBuffer): Added. 59335 (WebCore::SearchBuffer::append): Added. 59336 (WebCore::SearchBuffer::atBreak): Added. 59337 (WebCore::SearchBuffer::reachedBreak): Added. 59338 (WebCore::SearchBuffer::search): Added. 59339 (WebCore::SearchBuffer::length): Added. 59340 (WebCore::TextIterator::subrange): Changed to call the characterSubrange 59341 function above. 59342 (WebCore::TextIterator::rangeFromLocationAndLength): Use the versions of the 59343 Range functions that don't take an exception code. Also tweak some other details 59344 of the code. 59345 (WebCore::isAllCollapsibleWhitespace): Added. 59346 (WebCore::collapsedToBoundary): Added. 59347 (WebCore::findPlainText): Rewrote to use new interface and streamline the 59348 logic a bit. 59349 59350 Add the relevant files in the icu directory. As icu/README says, the "icu" 59351 directory is really just for Mac OS X, where we have the ICU library but not 59352 the headers installed. It should be moved inside platform/mac at some point 59353 to make this more clear (and the copy in JavaScriptCore should be moved 59354 somewhere similar for the same reason). 59355 59356 * icu/unicode/ucoleitr.h: Added. 59357 * icu/unicode/usearch.h: Added. 59358 59359 2009-01-01 Oliver Hunt <oliver (a] apple.com> 59360 59361 Reviewed by Cameron Zwarich. 59362 59363 CrashTracer: [REGRESSION] 1090 crashes in Safari at com.apple.JavaScriptCore: KJS::JSGlobalObject::stopTimeoutCheck + 0 59364 <rdar://problem/5821130> 59365 59366 This was caused by a plugin instance calling into JS code that removed the plugin 59367 object. This fix is to cache the global object locally in a ProtectedPtr so we don't 59368 need to rely on the continued existence of the plugin instance. 59369 59370 * bridge/NP_jsobject.cpp: 59371 (_NPN_InvokeDefault): 59372 (_NPN_Invoke): 59373 (_NPN_Evaluate): 59374 (_NPN_Construct): 59375 59376 2008-12-31 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 59377 59378 Reviewed by Holger Freyther. 59379 59380 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22964 59381 59382 MinGW build failure. 59383 59384 * platform/graphics/qt/SimpleFontDataQt.cpp: 59385 (WebCore::SimpleFontData::containsCharacters): 59386 59387 2008-12-31 Alexander V. Butenko <alex (a] digiqube.com> 59388 59389 Reviewed by Holger Freyther. 59390 59391 https://bugs.webkit.org/show_bug.cgi?id=22750 59392 [gtk] webkit up to r39121 crash on image urls like 59393 http:///sitename.com 59394 59395 * platform/network/soup/ResourceHandleSoup.cpp: 59396 (WebCore::ResourceHandle::start): 59397 59398 2008-12-31 Hiroyuki Ikezoe <poincare (a] ikezoe.net> 59399 59400 Reviewed by Holger Freyther. 59401 59402 https://bugs.webkit.org/show_bug.cgi?id=18310 59403 59404 * platform/graphics/gtk/SimpleFontDataPango.cpp: 59405 (WebCore::SimpleFontData::determinePitch): Do not invoke 59406 isFixedPitch() when the font is a custom font. 59407 59408 2008-12-31 Oliver Hunt <oliver (a] apple.com> 59409 59410 Reviewed by Cameron Zwarich. 59411 59412 More work on Bug 3781: Animation via canvas could be faster 59413 <https://bugs.webkit.org/show_bug.cgi?id=3781> 59414 59415 Make use of the fast path parsing of color strings that Color 59416 uses. This improves performance of '#rgb', '#rrggbb', etc and 59417 named (eg. 'green') colors. 59418 59419 Improves frame rate of test by around 40% 59420 59421 * html/CanvasStyle.cpp: 59422 (WebCore::CanvasStyle::applyStrokeColor): 59423 (WebCore::CanvasStyle::applyFillColor): 59424 59425 2008-12-30 Simon Fraser <simon.fraser (a] apple.com> 59426 59427 Reviewed by Darin Adler 59428 59429 https://bugs.webkit.org/show_bug.cgi?id=23042 59430 59431 Rather than doing a repaint() inside of computeAbsoluteRepaintRect() 59432 when there is a reflection, compute the location of the rect inside 59433 the reflection and take the union of the unreflected and reflected rects. 59434 59435 Test: fast/repaint/reflection-redraw.html 59436 59437 * rendering/RenderBox.cpp: 59438 (WebCore::RenderBox::computeAbsoluteRepaintRect): 59439 * rendering/RenderObject.cpp: 59440 (WebCore::RenderObject::reflectedRect): 59441 * rendering/RenderObject.h: 59442 59443 2008-12-30 Dan Bernstein <mitz (a] apple.com> 59444 59445 Reviewed by Adele Peterson. 59446 59447 - fix <rdar://problem/6469944> REGRESSION(3.2.1-ToT): Repro crash in WebCore::HTMLInputElement::updatePlaceholderVisibility opening http://billshrink.com 59448 59449 Test: fast/forms/placeholder-non-textfield.html 59450 59451 * html/HTMLInputElement.cpp: 59452 (WebCore::HTMLInputElement::parseMappedAttribute): Only call 59453 updatePlaceholderVisibility() when the placeholder attribute changes if 59454 the element is a text field. 59455 59456 2008-12-30 Oliver Hunt <oliver (a] apple.com> 59457 59458 Reviewed by Antti Koivisto. 59459 59460 First step of Bug 3781: Animation via canvas could be faster 59461 59462 Amortise the cost of calling repaint by coalescing repaint rects 59463 while the canvas is drawn to. In a later step we'll stop calling 59464 repaint() directly, and instead have all dirty canvases repaint 59465 at the end of JS execution. 59466 59467 * html/HTMLCanvasElement.cpp: 59468 (WebCore::HTMLCanvasElement::willDraw): 59469 (WebCore::HTMLCanvasElement::paint): 59470 * html/HTMLCanvasElement.h: 59471 59472 2008-12-30 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 59473 59474 Reviewed by Antti Koivisto. 59475 59476 Bug 22931: Using the inspector with purgeable resources leads to assertion failures 59477 <https://bugs.webkit.org/show_bug.cgi?id=22931> 59478 59479 Change InspectorResource::sourceString() so that it doesn't attempt to 59480 unsafely get the data of a purgeable CachedResource. 59481 59482 * inspector/InspectorController.cpp: 59483 (WebCore::InspectorResource::sourceString): Attempt to make a purgeable 59484 resource unpurgeable, and if this not possible, return an empty string. 59485 * loader/CachedResource.h: Make InspectorResource a friend of CachedResource. 59486 59487 2008-12-29 Alexey Proskuryakov <ap (a] webkit.org> 59488 59489 Reviewed by Sam Weinig. 59490 59491 https://bugs.webkit.org/show_bug.cgi?id=23023 59492 Remove incomplete support for opportunistic appcache entries 59493 59494 No change in behavior, thus no test. 59495 59496 * loader/appcache/ApplicationCacheResource.h: 59497 (WebCore::ApplicationCacheResource::Type): Removed Opportunistic bit, will re-use when schema 59498 version changes. 59499 59500 * loader/DocumentLoader.cpp: 59501 (WebCore::DocumentLoader::scheduleApplicationCacheLoad): 59502 * loader/appcache/ApplicationCacheGroup.cpp: 59503 (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): 59504 * loader/appcache/ApplicationCacheResource.cpp: 59505 (WebCore::ApplicationCacheResource::dumpType): 59506 59507 2008-12-29 Dirk Schulze <krit (a] webkit.org> 59508 59509 Reviewed by Oliver Hunt. 59510 59511 Add arcTo support for Cairo. This is needed by Canvas. 59512 Cairo has no native support for arcTo. We have to make our 59513 own implementation. 59514 59515 [Canvas] Cairo needs arcTo 59516 https://bugs.webkit.org/show_bug.cgi?id=23003 59517 59518 * platform/graphics/cairo/PathCairo.cpp: 59519 (WebCore::Path::addArcTo): 59520 59521 2008-12-29 Oliver Hunt <oliver (a] apple.com> 59522 59523 Reviewed by Cameron Zwarich. 59524 59525 Bug 23030: Cannot setTransform with a non-invertible ctm 59526 59527 Removed a series of unnecessary and incorrect checks for an invertible 59528 transform. 59529 59530 Test: fast/canvas/canvas-set-properties-with-non-invertible-ctm.html 59531 59532 * html/CanvasRenderingContext2D.cpp: 59533 (WebCore::CanvasRenderingContext2D::setStrokeStyle): 59534 (WebCore::CanvasRenderingContext2D::setFillStyle): 59535 These properties are not effected by the current CTM, so there 59536 is no need to prevent them from being assigned. 59537 59538 (WebCore::CanvasRenderingContext2D::setTransform): 59539 The whole point of tracking whether the current CTM was expected to be 59540 non-invertible was to allow setTransform to be used when the CTM had become 59541 non-invertible. 59542 59543 (WebCore::CanvasRenderingContext2D::beginPath): 59544 (WebCore::CanvasRenderingContext2D::closePath): 59545 beginPath and closePath change the state of the path, but not any of 59546 its coordinates so there is no need prevent them from being called. 59547 59548 2008-12-29 Josh Roesslein <jroesslein (a] gmail.com> 59549 59550 Reviewed by Oliver Hunt. 59551 59552 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22968 59553 59554 Context menu rendering error when full page zoomed 59555 59556 * page/ContextMenuController.cpp: 59557 (WebCore::ContextMenuController::handleContextMenuEvent): 59558 59559 2008-12-29 Sam Weinig <sam (a] webkit.org> 59560 59561 Reviewed by Mark Rowe. 59562 59563 Add some basic memory statistic logging for Node. 59564 59565 * dom/Node.cpp: 59566 (WebCore::Node::dumpStatistics): 59567 (WebCore::Node::Node): 59568 (WebCore::Node::~Node): 59569 (WebCore::Node::setDocument): 59570 * dom/Node.h: 59571 59572 2008-12-29 Sam Weinig <sam (a] webkit.org> 59573 59574 Reviewed by Anders Carlsson. 59575 59576 Remove one use of DeprecatedPtrList. 59577 59578 * css/CSSRuleList.cpp: 59579 (WebCore::CSSRuleList::~CSSRuleList): 59580 (WebCore::CSSRuleList::length): 59581 (WebCore::CSSRuleList::item): 59582 (WebCore::CSSRuleList::deleteRule): 59583 (WebCore::CSSRuleList::append): 59584 (WebCore::CSSRuleList::insertRule): 59585 * css/CSSRuleList.h: Change m_lstCSSRules from using DeprecatedPtrList to a Vector. 59586 I measured no performance change and was comforted by the fact that we use a Vector 59587 for StyleList, which serves the exact same purpose. 59588 59589 2008-12-29 Adele Peterson <adele (a] apple.com> 59590 59591 Reviewed by Brady Eidson. 59592 59593 Fix for https://bugs.webkit.org/show_bug.cgi?id=21797 59594 <rdar://problem/6310682> REGRESSION: Crash in CFHTTPCookieStorageCopy beneath WebCore::cookies() when 59595 running fast/dom/document-attribute-js-null.html and http/tests/security/cookies/create-document.html 59596 59597 Return early if the document is trying to get or set a cookie with an empty cookie url. 59598 59599 * dom/Document.cpp: 59600 (WebCore::Document::cookie): 59601 (WebCore::Document::setCookie): 59602 59603 2008-12-28 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 59604 59605 Reviewed by Sam Weinig. 59606 59607 Bug 23016: JavaScriptDebugServer::recompileAllJSFunctions() should not execute JS while reparsing all functions 59608 <https://bugs.webkit.org/show_bug.cgi?id=23016> 59609 <rdar://problem/6425077> 59610 59611 JavaScriptDebugServer::recompileAllJSFunctions() calls sourceParsed() while 59612 reparsing all JS functions, which will execute JS in the inspector. Depending 59613 on the order in which functions are recompiled, a function could have a new 59614 body but other functions that have not been recompiled could have an optimized 59615 (in the sense of inline caching) call to it, bypassing the check of whether or 59616 not there is generated bytecode. This leads to a crash caused by accessing 59617 indices off of a null pointer. 59618 59619 To fix the problem, simply delay calling sourceParsed() until after all functions 59620 have been reparsed. The crash isn't 100% reproducible, but on the one test case 59621 I have, this makes it impossible to reproduce after a large number of attempts, 59622 when it used to happen every few attempts. 59623 59624 * inspector/JavaScriptDebugServer.cpp: 59625 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 59626 59627 2008-12-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 59628 59629 Rubber-stamped by Antti Koivisto. 59630 Oops, remove some last minute ASSERTS that are obviously wrong. 59631 59632 * rendering/RenderTextControlMultiLine.cpp: 59633 (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): 59634 * rendering/RenderTextControlSingleLine.cpp: 59635 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): 59636 59637 2008-12-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 59638 59639 Reviewed by Antti Koivisto. 59640 59641 Fixes: https://bugs.webkit.org/show_bug.cgi?id=23015 59642 59643 Don't rely on HTMLFormControlElement in RenderTextControl. 59644 59645 Introduce an abstract FormControlElement class, containing the 59646 valueMatchesRenderer/setValueMatchesRenderer, the only HTMLFormControlElement 59647 specific methods that RenderTextControl relies on. 59648 59649 This makes it possible for WML to reuse RenderTextControl. 59650 RenderTextControlSingleLine still relies on HTMLInputElement, 59651 this will change if WMLInputElement is introduced. 59652 59653 * GNUmakefile.am: 59654 * WebCore.vcproj/WebCore.vcproj: 59655 * WebCore.xcodeproj/project.pbxproj: 59656 * dom/FormControlElement.h: Added. 59657 (WebCore::FormControlElement::~FormControlElement): 59658 (WebCore::FormControlElement::FormControlElement): 59659 * html/HTMLFormControlElement.h: 59660 (WebCore::HTMLFormControlElement::valueMatchesRenderer): 59661 (WebCore::HTMLFormControlElement::setValueMatchesRenderer): 59662 * html/HTMLTextAreaElement.cpp: 59663 (WebCore::HTMLTextAreaElement::updateValue): 59664 * rendering/RenderTextControl.cpp: 59665 (WebCore::RenderTextControl::adjustInnerTextStyle): 59666 (WebCore::RenderTextControl::updateFromElement): 59667 (WebCore::RenderTextControl::setInnerTextValue): 59668 (WebCore::RenderTextControl::selectionChanged): 59669 (WebCore::RenderTextControl::formControlElement): 59670 * rendering/RenderTextControl.h: 59671 * rendering/RenderTextControlMultiLine.cpp: 59672 (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): 59673 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 59674 * rendering/RenderTextControlSingleLine.cpp: 59675 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): 59676 (WebCore::RenderTextControlSingleLine::updateFromElement): 59677 59678 2008-12-28 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 59679 59680 Reviewed by Darin Adler. 59681 59682 Bug 23006: Many Loader::Host member functions are not safe to use reentrantly 59683 <https://bugs.webkit.org/show_bug.cgi?id=23006> 59684 <rdar://problem/6216106> 59685 59686 Many Loader::Host member functions set m_processingResource to true when they 59687 begin processing a resource and set it to false when they are done. Thanks to 59688 JavaScript and the web inspector, almost anything can happen during the 59689 processing of a resource, including these functions being called reentrantly, 59690 which is unsafe due to this way of using m_processingResource. 59691 59692 This can theoretically cause a Loader::Host to be used after it is freed, 59693 because when Loader::servedPendingRequests() is called, it will free Hosts 59694 that have m_processingResource set to false. 59695 59696 To fix this, we replace m_processingResource with m_numResourcesProcessing, 59697 which is incremented and decremented using a helper object, ProcessingResource. 59698 59699 There are no occurrences of crashes caused by this bug that are reproducible 59700 by multiple people, but this fixes the problem of m_processingResource being 59701 set to false while a Host is still alive. 59702 59703 * loader/loader.cpp: 59704 (WebCore::Loader::Host::Host): 59705 (WebCore::Loader::Host::didFinishLoading): Change to use ProcessingResource 59706 instead of manually setting m_processingResource. 59707 (WebCore::Loader::Host::didFail): Ditto. 59708 (WebCore::Loader::Host::didReceiveData): Ditto. 59709 * loader/loader.h: 59710 (WebCore::Loader::Host::ProcessingResource::ProcessingResource): Added. 59711 (WebCore::Loader::Host::ProcessingResource::~ProcessingResource): Added. 59712 (WebCore::Loader::Host::processingResource): Change to use m_numResourcesProcessing 59713 instead of just getting m_processingResource. 59714 59715 2008-12-28 Alexey Proskuryakov <ap (a] webkit.org> 59716 59717 Reviewed by Darin Adler. 59718 59719 https://bugs.webkit.org/show_bug.cgi?id=23007 59720 REGRESSION: Timer-related crash when closing Web Inspector 59721 59722 Test: fast/dom/Window/remove-timeout-crash.html 59723 59724 * bindings/js/DOMTimer.cpp: (WebCore::DOMTimer::fired): Besides deleting the timer, make 59725 sure to remove it from a Document map. 59726 59727 2008-12-28 Alexey Proskuryakov <ap (a] webkit.org> 59728 59729 Reviewed by Anders Carlsson. 59730 59731 https://bugs.webkit.org/show_bug.cgi?id=23012 59732 Bring application cache manifest parsing up to date 59733 59734 Test: http/tests/appcache/manifest-parsing.html 59735 59736 * loader/appcache/ManifestParser.cpp: 59737 (WebCore::Mode): Added a constant for unknown sections, which are ignored when parsing. This 59738 is necessary for future extensions. 59739 (WebCore::parseManifest): Parse unknown sections correctly. Ignore trailing tokens in 59740 supported sections. 59741 59742 2008-12-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 59743 59744 Reviewed by Darin Adler. 59745 59746 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22996 59747 59748 RenderTextControl heavily depends on HTMLInputElement & HTMLTextAreaElement. 59749 It handles multi & single line text control rendering in one class. Split up 59750 in two new classes: RenderTextControlSingleLine & RenderTextControlMultiLine. 59751 59752 This has several benefits - code is more readable now, the memory usage 59753 for RenderTextControlMultiLine is reduced, as all stuff related to search fields 59754 lives in RenderTextControlSingleLine, and it's easier to introduce an 59755 abstraction for input/textarea-like elements for other HTML flavours like WML. 59756 59757 * GNUmakefile.am: 59758 * WebCore.order: 59759 * WebCore.pro: 59760 * WebCore.scons: 59761 * WebCore.vcproj/WebCore.vcproj: 59762 * WebCore.xcodeproj/project.pbxproj: 59763 * WebCoreSources.bkl: 59764 * html/HTMLInputElement.cpp: 59765 (WebCore::HTMLInputElement::createRenderer): 59766 (WebCore::HTMLInputElement::defaultEventHandler): 59767 (WebCore::HTMLInputElement::updatePlaceholderVisibility): 59768 (WebCore::HTMLInputElement::addSearchResult): 59769 (WebCore::HTMLInputElement::onSearch): 59770 * html/HTMLTextAreaElement.cpp: 59771 (WebCore::HTMLTextAreaElement::createRenderer): 59772 (WebCore::HTMLTextAreaElement::defaultEventHandler): 59773 * rendering/RenderTextControl.cpp: 59774 (WebCore::RenderTextControl::RenderTextControl): 59775 (WebCore::RenderTextControl::~RenderTextControl): 59776 (WebCore::RenderTextControl::styleDidChange): 59777 (WebCore::RenderTextControl::adjustInnerTextStyle): 59778 (WebCore::RenderTextControl::createSubtreeIfNeeded): 59779 (WebCore::RenderTextControl::textBlockHeight): 59780 (WebCore::RenderTextControl::textBlockWidth): 59781 (WebCore::RenderTextControl::updateFromElement): 59782 (WebCore::RenderTextControl::setInnerTextValue): 59783 (WebCore::RenderTextControl::setSelectionRange): 59784 (WebCore::RenderTextControl::visiblePositionForIndex): 59785 (WebCore::RenderTextControl::indexForVisiblePosition): 59786 (WebCore::RenderTextControl::subtreeHasChanged): 59787 (WebCore::RenderTextControl::scrollbarThickness): 59788 (WebCore::RenderTextControl::calcHeight): 59789 (WebCore::RenderTextControl::hitInnerTextBlock): 59790 (WebCore::RenderTextControl::forwardEvent): 59791 (WebCore::RenderTextControl::calcPrefWidths): 59792 (WebCore::RenderTextControl::selectionChanged): 59793 (WebCore::RenderTextControl::innerTextElement): 59794 * rendering/RenderTextControl.h: 59795 (WebCore::RenderTextControl::hasControlClip): 59796 (WebCore::RenderTextControl::canHaveChildren): 59797 (WebCore::RenderTextControl::avoidsFloats): 59798 (WebCore::RenderTextControl::isEdited): 59799 (WebCore::RenderTextControl::setEdited): 59800 * rendering/RenderTextControlMultiLine.cpp: Added. 59801 (WebCore::RenderTextControlMultiLine::RenderTextControlMultiLine): 59802 (WebCore::RenderTextControlMultiLine::~RenderTextControlMultiLine): 59803 (WebCore::RenderTextControlMultiLine::subtreeHasChanged): 59804 (WebCore::RenderTextControlMultiLine::layout): 59805 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 59806 (WebCore::RenderTextControlMultiLine::forwardEvent): 59807 (WebCore::RenderTextControlMultiLine::preferredContentWidth): 59808 (WebCore::RenderTextControlMultiLine::adjustControlHeightBasedOnLineHeight): 59809 (WebCore::RenderTextControlMultiLine::baselinePosition): 59810 (WebCore::RenderTextControlMultiLine::updateFromElement): 59811 (WebCore::RenderTextControlMultiLine::cacheSelection): 59812 (WebCore::RenderTextControlMultiLine::createInnerTextStyle): 59813 * rendering/RenderTextControlMultiLine.h: Added. 59814 (WebCore::RenderTextControlMultiLine::isTextArea): 59815 * rendering/RenderTextControlSingleLine.cpp: Added. 59816 (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine): 59817 (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine): 59818 (WebCore::RenderTextControlSingleLine::placeholderShouldBeVisible): 59819 (WebCore::RenderTextControlSingleLine::updatePlaceholderVisibility): 59820 (WebCore::RenderTextControlSingleLine::addSearchResult): 59821 (WebCore::RenderTextControlSingleLine::stopSearchEventTimer): 59822 (WebCore::RenderTextControlSingleLine::showPopup): 59823 (WebCore::RenderTextControlSingleLine::hidePopup): 59824 (WebCore::RenderTextControlSingleLine::subtreeHasChanged): 59825 (WebCore::RenderTextControlSingleLine::paint): 59826 (WebCore::RenderTextControlSingleLine::layout): 59827 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 59828 (WebCore::RenderTextControlSingleLine::forwardEvent): 59829 (WebCore::RenderTextControlSingleLine::styleDidChange): 59830 (WebCore::RenderTextControlSingleLine::capsLockStateMayHaveChanged): 59831 (WebCore::RenderTextControlSingleLine::textBlockWidth): 59832 (WebCore::RenderTextControlSingleLine::preferredContentWidth): 59833 (WebCore::RenderTextControlSingleLine::adjustControlHeightBasedOnLineHeight): 59834 (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): 59835 (WebCore::RenderTextControlSingleLine::updateFromElement): 59836 (WebCore::RenderTextControlSingleLine::cacheSelection): 59837 (WebCore::RenderTextControlSingleLine::createInnerTextStyle): 59838 (WebCore::RenderTextControlSingleLine::createInnerBlockStyle): 59839 (WebCore::RenderTextControlSingleLine::createResultsButtonStyle): 59840 (WebCore::RenderTextControlSingleLine::createCancelButtonStyle): 59841 (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility): 59842 (WebCore::RenderTextControlSingleLine::autosaveName): 59843 (WebCore::RenderTextControlSingleLine::startSearchEventTimer): 59844 (WebCore::RenderTextControlSingleLine::searchEventTimerFired): 59845 (WebCore::RenderTextControlSingleLine::valueChanged): 59846 (WebCore::RenderTextControlSingleLine::itemText): 59847 (WebCore::RenderTextControlSingleLine::itemIsEnabled): 59848 (WebCore::RenderTextControlSingleLine::itemStyle): 59849 (WebCore::RenderTextControlSingleLine::menuStyle): 59850 (WebCore::RenderTextControlSingleLine::clientInsetLeft): 59851 (WebCore::RenderTextControlSingleLine::clientInsetRight): 59852 (WebCore::RenderTextControlSingleLine::clientPaddingLeft): 59853 (WebCore::RenderTextControlSingleLine::clientPaddingRight): 59854 (WebCore::RenderTextControlSingleLine::listSize): 59855 (WebCore::RenderTextControlSingleLine::selectedIndex): 59856 (WebCore::RenderTextControlSingleLine::itemIsSeparator): 59857 (WebCore::RenderTextControlSingleLine::itemIsLabel): 59858 (WebCore::RenderTextControlSingleLine::itemIsSelected): 59859 (WebCore::RenderTextControlSingleLine::setTextFromItem): 59860 (WebCore::RenderTextControlSingleLine::fontSelector): 59861 (WebCore::RenderTextControlSingleLine::hostWindow): 59862 (WebCore::RenderTextControlSingleLine::createScrollbar): 59863 * rendering/RenderTextControlSingleLine.h: Added. 59864 (WebCore::RenderTextControlSingleLine::hasControlClip): 59865 (WebCore::RenderTextControlSingleLine::isTextField): 59866 (WebCore::RenderTextControlSingleLine::placeholderIsVisible): 59867 (WebCore::RenderTextControlSingleLine::popupIsVisible): 59868 (WebCore::RenderTextControlSingleLine::shouldPopOver): 59869 (WebCore::RenderTextControlSingleLine::valueShouldChangeOnHotTrack): 59870 * rendering/TextControlInnerElements.cpp: 59871 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): 59872 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): 59873 59874 2008-12-28 Dmitry Titov <dimich (a] chromium.org> 59875 59876 Reviewed by Darin Adler. 59877 59878 https://bugs.webkit.org/show_bug.cgi?id=22755 59879 Prepare to add create/remove timeout methods to JSWorkerContext by moving 59880 timer-specific code from JSDOMWindowBase to DOMTimer. 59881 Moved everything JS-related from DOMTimer to ScheduledAction. 59882 Now ScheduledAction is what it wanted to be all the time: a JS engine-specific 59883 container for timer callback that knows how to invoke it. 59884 DOMTimer is not anymore JS-specific. 59885 59886 This is mostly moving the code around. No intended functional changes. 59887 59888 * bindings/js/DOMTimer.cpp: 59889 (WebCore::DOMTimer::DOMTimer): 59890 (WebCore::DOMTimer::~DOMTimer): 59891 (WebCore::DOMTimer::install): 59892 (WebCore::DOMTimer::removeById): 59893 (WebCore::DOMTimer::fired): 59894 (WebCore::DOMTimer::stop): 59895 * bindings/js/DOMTimer.h: 59896 * bindings/js/JSDOMWindowBase.cpp: 59897 (WebCore::JSDOMWindowBase::installTimeout): 59898 (WebCore::JSDOMWindowBase::removeTimeout): 59899 * bindings/js/JSDOMWindowBase.h: 59900 * bindings/js/ScheduledAction.cpp: 59901 (WebCore::ScheduledAction::execute): 59902 * bindings/js/ScheduledAction.h: 59903 * dom/Document.cpp: 59904 (WebCore::Document::addTimeout): 59905 59906 2008-12-26 Zalan Bujtas <zbujtas (a] gmail.com> 59907 59908 Reviewed by Darin Adler. 59909 59910 https://bugs.webkit.org/show_bug.cgi?id=22999 59911 Check if database thread exists. 59912 59913 * storage/Database.cpp: 59914 (WebCore::Database::openAndVerifyVersion): 59915 (WebCore::Database::markAsDeletedAndClose): 59916 (WebCore::Database::tableNames): 59917 59918 2008-12-26 Alexey Proskuryakov <ap (a] webkit.org> 59919 59920 Reviewed by Darin Adler. 59921 59922 https://bugs.webkit.org/show_bug.cgi?id=23001 59923 A call to applicationCache.update() from a cached event listener should be ignored 59924 59925 Test: http/tests/appcache/idempotent-update.html 59926 59927 * loader/appcache/ApplicationCacheGroup.cpp: 59928 (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Only reset m_status after 59929 dispatching events. 59930 59931 2008-12-26 Alexey Proskuryakov <ap (a] webkit.org> 59932 59933 Reviewed by Darin Adler. 59934 59935 https://bugs.webkit.org/show_bug.cgi?id=22997 59936 ASSERTION FAILED: !m_resources.contains(url) in ApplicationCache::addResource() 59937 59938 Tests: http/tests/appcache/top-frame-1.html 59939 http/tests/appcache/top-frame-2.html 59940 http/tests/appcache/top-frame-3.html 59941 http/tests/appcache/top-frame-4.html 59942 59943 * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest): 59944 Fixed one more instance of top level frame being used for caching purposes. 59945 59946 2008-12-26 Dmitry Titov <dimich (a] chromium.org> 59947 59948 Reviewed by Darin Adler. 59949 59950 https://bugs.webkit.org/show_bug.cgi?id=22987 59951 Fix for broken test editing/execCommand/5763082.html 59952 59953 * editing/CompositeEditCommand.cpp: 59954 (WebCore::CompositeEditCommand::mergeIdenticalElements): Used local RefPtr to hold onto 59955 function parameter across multiple calls. 59956 59957 2008-12-25 Alexey Proskuryakov <ap (a] webkit.org> 59958 59959 Reviewed by Darin Adler. 59960 59961 https://bugs.webkit.org/show_bug.cgi?id=22993 59962 Application cache shouldn't be inherited by subframes 59963 59964 <rdar://problem/6284708> AppCache crashes in ApplicationCacheResource::addType() 59965 This crash happened because main resource for subframe was looked up in top frame's 59966 appcache. If not for the spec change, it could have been fixed by preventing the load 59967 altogether. 59968 59969 Test: http/tests/appcache/foreign-iframe-main.html 59970 I intend to write additional tests for the behavior change. 59971 59972 * loader/DocumentLoader.cpp: 59973 (WebCore::DocumentLoader::shouldLoadResourceFromApplicationCache): 59974 * loader/DocumentLoader.h: 59975 (WebCore::DocumentLoader::applicationCache): 59976 * loader/MainResourceLoader.cpp: 59977 (WebCore::MainResourceLoader::load): 59978 * loader/appcache/DOMApplicationCache.cpp: 59979 (WebCore::DOMApplicationCache::associatedCache): 59980 Removed DocumentLoader::topLevelApplicationCache(), and changed callers accordingly. 59981 59982 * loader/appcache/ApplicationCacheGroup.cpp: 59983 (WebCore::ApplicationCacheGroup::selectCache): 59984 (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL): 59985 Removed checks for the frame being top-level one, now that subframes are cached independently. 59986 59987 2008-12-25 Antti Koivisto <antti (a] apple.com> 59988 59989 Reviewed by Oliver Hunt. 59990 59991 <rdar://problem/6465669> Frequent !isPurgeable() assertion in WebCore::CachedResource::addClient 59992 59993 Disallow turning resources that are being revalidated to purgable state. 59994 59995 No test, the condition is difficult to produce in DRT. 59996 59997 * loader/CachedCSSStyleSheet.cpp: 59998 (WebCore::CachedCSSStyleSheet::allClientsRemoved): 59999 * loader/CachedImage.cpp: 60000 (WebCore::CachedImage::destroyDecodedData): 60001 * loader/CachedResource.cpp: 60002 (WebCore::CachedResource::isSafeToMakePurgeable): 60003 (WebCore::CachedResource::makePurgeable): 60004 * loader/CachedResource.h: 60005 * loader/CachedScript.cpp: 60006 (WebCore::CachedScript::destroyDecodedData): 60007 60008 2008-12-25 Alexey Proskuryakov <ap (a] webkit.org> 60009 60010 Qt build fix. 60011 60012 * WebCore.pro: Added ThreadGlobalData.cpp. 60013 60014 2008-12-24 Mark Rowe <mrowe (a] apple.com> 60015 60016 Build fix. 60017 60018 * WebCore.base.exp: Remove a symbol from the export file now that it is no longer generated. 60019 60020 2008-12-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 60021 60022 Unreviewed build fix to find addSubresourceURL 60023 60024 This is needed to compile on WebKit/Gtk+ 60025 60026 * css/CSSFontFaceSrcValue.cpp: 60027 60028 2008-12-23 Alexey Proskuryakov <ap (a] webkit.org> 60029 60030 Reviewed by Darin Adler. 60031 60032 https://bugs.webkit.org/show_bug.cgi?id=22980 60033 WebCore uses more thread specific keys than it really needs 60034 60035 Consolidated ThreadSpecific data into a single ThreadGlobalData structure. 60036 60037 * GNUmakefile.am: 60038 * WebCore.base.exp: 60039 * WebCore.scons: 60040 * WebCore.vcproj/WebCore.vcproj: 60041 * WebCore.xcodeproj/project.pbxproj: 60042 * WebCoreSources.bkl: 60043 * dom/EventNames.cpp: 60044 * dom/EventNames.h: 60045 (WebCore::eventNames): 60046 * page/Frame.cpp: 60047 (WebCore::Frame::Frame): 60048 * platform/ThreadGlobalData.cpp: Added. 60049 (WebCore::threadGlobalData): 60050 (WebCore::ThreadGlobalData::ThreadGlobalData): 60051 (WebCore::ThreadGlobalData::~ThreadGlobalData): 60052 * platform/ThreadGlobalData.h: Added. 60053 (WebCore::ThreadGlobalData::eventNames): 60054 (WebCore::ThreadGlobalData::emptyString): 60055 (WebCore::ThreadGlobalData::atomicStringTable): 60056 (WebCore::ThreadGlobalData::cachedConverterICU): 60057 (WebCore::ThreadGlobalData::cachedConverterTEC): 60058 * platform/text/AtomicString.cpp: 60059 (WebCore::stringTable): 60060 (WebCore::AtomicString::add): 60061 (WebCore::AtomicString::remove): 60062 (WebCore::AtomicString::find): 60063 (WebCore::AtomicString::init): 60064 * platform/text/StringImpl.cpp: 60065 (WebCore::StringImpl::empty): 60066 * platform/text/StringImpl.h: 60067 * platform/text/TextCodecICU.cpp: 60068 (WebCore::ICUConverterWrapper::~ICUConverterWrapper): 60069 (WebCore::cachedConverterICU): 60070 * platform/text/TextCodecICU.h: 60071 (WebCore::ICUConverterWrapper::ICUConverterWrapper): 60072 * platform/text/mac/TextCodecMac.cpp: 60073 (WebCore::cachedConverterTEC): 60074 * platform/text/mac/TextCodecMac.h: 60075 (WebCore::TECConverterWrapper::TECConverterWrapper): 60076 (WebCore::TECConverterWrapper::~TECConverterWrapper): 60077 60078 2008-12-23 Mark Rowe <mrowe (a] apple.com> 60079 60080 Build fix. 60081 60082 * WebCore.xcodeproj/project.pbxproj: CSSPropertyNames.h is a generated file so it needs to be explicitly copied 60083 into the PrivateHeaders directory, rather than relying on the automatic copying of headers which runs before the 60084 derived sources are generated. 60085 60086 2008-12-23 Simon Fraser <simon.fraser (a] apple.com> 60087 60088 Reviewed by Dan Bernstein 60089 60090 https://bugs.webkit.org/show_bug.cgi?id=22941 60091 60092 If the document element has opacity, we need to erase the view background to 60093 white before painting. 60094 60095 Test: fast/backgrounds/opacity-on-document-element.html 60096 60097 * rendering/RenderView.cpp: 60098 (WebCore::rendererObscuresBackground): 60099 60100 2008-12-23 Simon Fraser <simon.fraser (a] apple.com> 60101 60102 Reviewed by Dan Bernstein 60103 60104 https://bugs.webkit.org/show_bug.cgi?id=21910 60105 60106 Fix SVGImage painting by ensuring that the SVGImage resizes its FrameView correctly. 60107 Otherwise the FrameView is left at 0x0, and nothing paints. 60108 60109 * svg/graphics/SVGImage.cpp: 60110 (WebCore::SVGImage::draw): 60111 60112 2008-12-23 Darin Adler <darin (a] apple.com> 60113 60114 Reviewed by John Sullivan. 60115 60116 - improve robustness of undo/redo in HTML editing to fix the following bugs 60117 <https://bugs.webkit.org/show_bug.cgi?id=19703> Crash in WebCore::InsertNodeBeforeCommand::doUnapply() 60118 <rdar://problem/4059423> DOM operations performed on editable HTML can cause a crash later during Undo 60119 60120 Major categories of improvements: 60121 60122 1) Added null checks. 60123 2) Eliminated type casts without corresponding type checks. 60124 3) Avoided possible infinite loops by building up lists of nodes to operate on 60125 before starting to make DOM changes. 60126 4) Use more RefPtr. 60127 60128 No test at this time, but test cases should follow in separate patches. 60129 60130 * WebCore.xcodeproj/project.pbxproj: Set the role of CSSPropertyNames.h to Private so it 60131 can be used in other Private headers, specifically editing ones. 60132 60133 * css/CSSStyleSelector.cpp: 60134 (WebCore::CSSStyleSelector::locateCousinList): Adopt parentElement. 60135 (WebCore::CSSStyleSelector::locateSharedStyle): Ditto. 60136 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Ditto. 60137 60138 * dom/Element.cpp: (WebCore::Element::cloneElement): Added. 60139 * dom/Element.h: Added cloneElement and an implementation of parentElement. 60140 * dom/Node.h: Moved parentElement from here to Element.h and changed its 60141 implementation so it will return 0 when the parent is not an element 60142 (document, document fragment, etc.). 60143 60144 * editing/AppendNodeCommand.cpp: 60145 (WebCore::AppendNodeCommand::AppendNodeCommand): Made parent be an Element. 60146 Moved assertions from doApply in here. 60147 (WebCore::AppendNodeCommand::doApply): Simplified to just a single unchecked 60148 appendChild call. 60149 (WebCore::AppendNodeCommand::doUnapply): Simplified to just a single remove call. 60150 * editing/AppendNodeCommand.h: Updated. 60151 60152 * editing/ApplyStyleCommand.cpp: 60153 (WebCore::createStyleSpanElement): Eliminate casting by creating an element in a more 60154 direct way with new instead of createElementNS. 60155 (WebCore::ApplyStyleCommand::ApplyStyleCommand): Use PassRefPtr. 60156 (WebCore::ApplyStyleCommand::removeCSSStyle): Use CSSPropertyID. 60157 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Use cloneElement. 60158 * editing/ApplyStyleCommand.h: 60159 60160 * editing/BreakBlockquoteCommand.cpp: 60161 (WebCore::BreakBlockquoteCommand::doApply): Use Element* and cloneElement. 60162 60163 * editing/CompositeEditCommand.cpp: 60164 (WebCore::CompositeEditCommand::applyStyledElement): Use PassRefPtr and unsigned. 60165 (WebCore::CompositeEditCommand::removeStyledElement): Ditto. 60166 (WebCore::CompositeEditCommand::insertNodeBefore): Ditto. 60167 (WebCore::CompositeEditCommand::insertNodeAfter): Ditto. 60168 (WebCore::CompositeEditCommand::insertNodeAt): Ditto. 60169 (WebCore::CompositeEditCommand::appendNode): Ditto. 60170 (WebCore::CompositeEditCommand::removeChildrenInRange): Ditto. Also use a vector to 60171 make the list of children in case removing them has side effects. 60172 (WebCore::CompositeEditCommand::removeNode): Ditto. 60173 (WebCore::CompositeEditCommand::removeNodePreservingChildren): Ditto. 60174 (WebCore::CompositeEditCommand::removeNodeAndPruneAncestors): Ditto. 60175 (WebCore::CompositeEditCommand::splitTextNode): Ditto. 60176 (WebCore::CompositeEditCommand::splitElement): Ditto. 60177 (WebCore::CompositeEditCommand::mergeIdenticalElements): Ditto. 60178 (WebCore::CompositeEditCommand::wrapContentsInDummySpan): Ditto. 60179 (WebCore::CompositeEditCommand::splitTextNodeContainingElement): Ditto. 60180 (WebCore::CompositeEditCommand::joinTextNodes): Ditto. 60181 (WebCore::CompositeEditCommand::inputText): Ditto. 60182 (WebCore::CompositeEditCommand::insertTextIntoNode): Ditto. 60183 (WebCore::CompositeEditCommand::deleteTextFromNode): Ditto. 60184 (WebCore::CompositeEditCommand::replaceTextInNode): Ditto. 60185 (WebCore::CompositeEditCommand::insertNodeAtTabSpanPosition): Ditto. 60186 (WebCore::CompositeEditCommand::removeCSSProperty): Ditto. 60187 (WebCore::CompositeEditCommand::removeNodeAttribute): Ditto. Implement by calling 60188 setNodeAttribute instead of with its own SimpleEditCommand. 60189 (WebCore::CompositeEditCommand::setNodeAttribute): Ditto. 60190 (WebCore::CompositeEditCommand::deleteInsignificantText): Ditto. 60191 (WebCore::CompositeEditCommand::appendBlockPlaceholder): Ditto. 60192 (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded): Ditto. 60193 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Ditto. Don't 60194 bother using an undoable operation to put the break element into the paragraph 60195 element because there's no need to split them and redo this when doing undo/redo. 60196 (WebCore::CompositeEditCommand::moveParagraphs): Ditto. 60197 (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto. 60198 * editing/CompositeEditCommand.h: Ditto. 60199 60200 * editing/DeleteFromTextNodeCommand.cpp: 60201 (WebCore::DeleteFromTextNodeCommand::DeleteFromTextNodeCommand): Use unsigned. 60202 (WebCore::DeleteFromTextNodeCommand::doApply): Eliminated inappropriate assertions. 60203 (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto. 60204 * editing/DeleteFromTextNodeCommand.h: 60205 60206 * editing/DeleteSelectionCommand.cpp: 60207 (WebCore::DeleteSelectionCommand::removeNode): Use PassRefPtr. 60208 (WebCore::DeleteSelectionCommand::deleteTextFromNode): Ditto. 60209 * editing/DeleteSelectionCommand.h: 60210 60211 * editing/FormatBlockCommand.cpp: 60212 (WebCore::FormatBlockCommand::FormatBlockCommand): Use AtomicString. 60213 (WebCore::FormatBlockCommand::doApply): Use Element. 60214 * editing/FormatBlockCommand.h: 60215 60216 * editing/IndentOutdentCommand.cpp: 60217 (WebCore::createIndentBlockquoteElement): Use new to create the element 60218 instead of calling a function so we have a more specific type. 60219 (WebCore::IndentOutdentCommand::prepareBlockquoteLevelForInsertion): 60220 Use RefPtr and Element. 60221 (WebCore::IndentOutdentCommand::indentRegion): Ditto. 60222 (WebCore::IndentOutdentCommand::outdentParagraph): Ditto. 60223 * editing/IndentOutdentCommand.h: 60224 60225 * editing/InsertIntoTextNodeCommand.cpp: 60226 (WebCore::InsertIntoTextNodeCommand::InsertIntoTextNodeCommand): 60227 Use unsigned. Added an assertion. 60228 (WebCore::InsertIntoTextNodeCommand::doApply): Eliminated inappropriate assertions. 60229 (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto. 60230 * editing/InsertIntoTextNodeCommand.h: 60231 60232 * editing/InsertLineBreakCommand.cpp: 60233 (WebCore::InsertLineBreakCommand::insertNodeAfterPosition): Use Element. 60234 (WebCore::InsertLineBreakCommand::insertNodeBeforePosition): Ditto. 60235 60236 * editing/InsertListCommand.cpp: 60237 (WebCore::InsertListCommand::doApply): Use Element. 60238 60239 * editing/InsertNodeBeforeCommand.cpp: 60240 (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): Moved assertions 60241 here from doApply. 60242 (WebCore::InsertNodeBeforeCommand::doApply): Eliminated inappropriate assertions. 60243 Added a null check. 60244 (WebCore::InsertNodeBeforeCommand::doUnapply): Simplified to just a single remove call. 60245 60246 * editing/InsertParagraphSeparatorCommand.cpp: 60247 (WebCore::InsertParagraphSeparatorCommand::doApply): Use Element and cloneElement. 60248 60249 * editing/JoinTextNodesCommand.cpp: 60250 (WebCore::JoinTextNodesCommand::doApply): Eliminated inappropriate assertions. 60251 Added some runtime checks. Don't store anything in m_offset. 60252 (WebCore::JoinTextNodesCommand::doUnapply): Ditto. 60253 * editing/JoinTextNodesCommand.h: 60254 60255 * editing/MergeIdenticalElementsCommand.cpp: 60256 (WebCore::MergeIdenticalElementsCommand::MergeIdenticalElementsCommand): Moved 60257 an assertion here from doApply. 60258 (WebCore::MergeIdenticalElementsCommand::doApply): Eliminated inappropriate assertions. 60259 Added a null check. Changed implementation to use remove to avoid null parent issue. 60260 Use a vector of nodes to avoid possible infinite loop if mutation happens while iterating. 60261 (WebCore::MergeIdenticalElementsCommand::doUnapply): Ditto. 60262 60263 * editing/ModifySelectionListLevel.cpp: 60264 (WebCore::ModifySelectionListLevelCommand::appendSiblingNodeRange): Use Element*. 60265 (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto. 60266 * editing/ModifySelectionListLevel.h: 60267 60268 * editing/RemoveCSSPropertyCommand.cpp: 60269 (WebCore::RemoveCSSPropertyCommand::RemoveCSSPropertyCommand): Use PassRefPtr and 60270 CSSPropertyID. Also renamed m_decl to m_style. 60271 (WebCore::RemoveCSSPropertyCommand::doApply): Eliminated inappropriate assertions. 60272 (WebCore::RemoveCSSPropertyCommand::doUnapply): Ditto. 60273 60274 * editing/RemoveNodeAttributeCommand.cpp: Removed contents of this file. To be deleted. 60275 Use SetNodeAttributeCommand instead. 60276 * editing/RemoveNodeAttributeCommand.h: Ditto. 60277 60278 * editing/RemoveNodeCommand.cpp: 60279 (WebCore::RemoveNodeCommand::RemoveNodeCommand): Moved assertions here from doApply. 60280 Don't initialize m_refChild here; rather do it in doApply. 60281 (WebCore::RemoveNodeCommand::doApply): Eliminated inappropriate assertions. Added 60282 checks and streamlined implementation. 60283 (WebCore::RemoveNodeCommand::doUnapply): Ditto. 60284 * editing/RemoveNodeCommand.h: 60285 60286 * editing/RemoveNodePreservingChildrenCommand.cpp: 60287 (WebCore::RemoveNodePreservingChildrenCommand::doApply): Use a vector. 60288 60289 * editing/ReplaceSelectionCommand.cpp: 60290 (WebCore::ReplacementFragment::insertFragmentForTestRendering): Removed now-unneeded cast. 60291 60292 * editing/SetNodeAttributeCommand.cpp: 60293 (WebCore::SetNodeAttributeCommand::SetNodeAttributeCommand): Use AtomicString. 60294 Removed assertion that prevents us from using this to remove an attribute. 60295 (WebCore::SetNodeAttributeCommand::doApply): Eliminated inappropriate assertions. 60296 (WebCore::SetNodeAttributeCommand::doUnapply): Ditto. 60297 * editing/SetNodeAttributeCommand.h: 60298 60299 * editing/SplitElementCommand.cpp: 60300 (WebCore::SplitElementCommand::SplitElementCommand): Moved assertion here from doApply. 60301 (WebCore::SplitElementCommand::doApply): Check some more invariants and use a vector 60302 to avoid possible infinite loops. 60303 (WebCore::SplitElementCommand::doUnapply): Ditto. 60304 60305 * editing/SplitTextNodeCommand.cpp: 60306 (WebCore::SplitTextNodeCommand::SplitTextNodeCommand): Moved assertions and comment 60307 here from doApply. 60308 (WebCore::SplitTextNodeCommand::doApply): Check for null and failures when applying. 60309 (WebCore::SplitTextNodeCommand::doUnapply): Ditto. 60310 60311 * editing/SplitTextNodeContainingElementCommand.cpp: 60312 (WebCore::SplitTextNodeContainingElementCommand::doApply): Use Element. 60313 60314 * editing/WrapContentsInDummySpanCommand.cpp: 60315 (WebCore::WrapContentsInDummySpanCommand::doApply): Check for null and ignore failures. 60316 Don't reuse the dummy span. Simplified logic. 60317 (WebCore::WrapContentsInDummySpanCommand::doUnapply): Ditto. 60318 60319 * editing/htmlediting.cpp: 60320 (WebCore::isBlock): Make sure this returns true only for elements. 60321 (WebCore::enclosingBlock): Return an Element*. 60322 (WebCore::enclosingTableCell): Ditto. 60323 (WebCore::enclosingList): Return an HTMLElement*. 60324 (WebCore::outermostEnclosingList): Return an HTMLElement*. 60325 (WebCore::createDefaultParagraphElement): Return an HTMLElement*. 60326 (WebCore::createBreakElement): Return an HTMLElement*. 60327 (WebCore::createOrderedListElement): Return an HTMLElement*. 60328 (WebCore::createUnorderedListElement): Return an HTMLElement*. 60329 (WebCore::createListItemElement): Return an HTMLElement*. 60330 (WebCore::createHTMLElement): Return an HTMLElement*. 60331 * editing/htmlediting.h: 60332 60333 * editing/markup.cpp: 60334 (WebCore::createFragmentFromText): Use createBreakElement and use Element*. 60335 60336 * page/MouseEventWithHitTestResults.cpp: 60337 (WebCore::MouseEventWithHitTestResults::targetNode): Use parentElement. 60338 60339 2008-12-23 Darin Adler <darin (a] apple.com> 60340 60341 Reviewed by Dan Bernstein. 60342 60343 * dom/Node.h: Tweak comments and order of bits that Sam moved 60344 here last night. 60345 * dom/Node.cpp: Ditto. 60346 60347 2008-12-22 Julien Chaffraix <jchaffraix (a] webkit.org> 60348 60349 Reviewed by Darin Adler. 60350 60351 Bug 11106: Some XMLHttpRequest URI resolving tests fail 60352 https://bugs.webkit.org/show_bug.cgi?id=11106 60353 60354 Use the ScriptExecutionContext to resolve the URI when calling open in JavaScript. 60355 The previous code was using the containing DOMWindow to do so which would fail for 60356 XMLHttpRequest object being passed between iframe. 60357 60358 Tests: http/tests/xmlhttprequest/uri-resolution-opera-open-004.html 60359 http/tests/xmlhttprequest/uri-resolution-opera-open-005.html 60360 http/tests/xmlhttprequest/uri-resolution-opera-open-006.html 60361 http/tests/xmlhttprequest/uri-resolution-opera-open-007.html 60362 http/tests/xmlhttprequest/uri-resolution-opera-open-008.html 60363 http/tests/xmlhttprequest/uri-resolution-opera-open-009.html 60364 http/tests/xmlhttprequest/uri-resolution-opera-open-010.html 60365 60366 * bindings/js/JSXMLHttpRequestCustom.cpp: 60367 (WebCore::JSXMLHttpRequest::open): Use the ScriptExecutionContext 60368 to resolve the URL. 60369 60370 * dom/Document.cpp: 60371 (WebCore::Document::virtualCompleteURL): Virtual method added to 60372 avoid performance hit on completeURL call. 60373 60374 * dom/Document.h: 60375 * dom/ScriptExecutionContext.h: 60376 (WebCore::ScriptExecutionContext::completeURL): Non-virtual method 60377 that wrap the call to the virtual call. 60378 * dom/WorkerContext.cpp: 60379 (WebCore::WorkerContext::virtualCompleteURL): Pure virtual method. 60380 * dom/WorkerContext.h: 60381 60382 2008-12-23 Darin Adler <darin (a] apple.com> 60383 60384 Reviewed by Dan Bernstein. 60385 60386 - https://bugs.webkit.org/show_bug.cgi?id=22978 60387 a couple tweaks to the new strokeBoundingRect functions 60388 60389 * platform/graphics/cairo/PathCairo.cpp: 60390 (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext 60391 if the applier is non-null. 60392 60393 * platform/graphics/cg/PathCG.cpp: 60394 (WebCore::putBytesNowhere): Added. 60395 (WebCore::createScratchContext): Changed to use a "/dev/null" type 60396 function to discard bytes rather than using a data object. This 60397 eliminates the possibility that memory will be used if someone draws 60398 into the scratch context by accident. Also moved to the top of the 60399 file; it was in a slightly strange place before. 60400 (WebCore::Path::strokeBoundingRect): Only create a GraphicsContext 60401 if the applier is non-null. Simplify the empty path special case. 60402 60403 2008-12-22 Sam Weinig <sam (a] webkit.org> 60404 60405 Reviewed by Mark Rowe. 60406 60407 Save a word in all Elements by moving the 5 loose bits to Node, 60408 where we had 16 spare. 60409 60410 * dom/Element.cpp: 60411 (WebCore::Element::Element): 60412 * dom/Element.h: 60413 * dom/Node.cpp: 60414 (WebCore::Node::Node): 60415 * dom/Node.h: 60416 60417 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60418 60419 Reviewed by George Staikos. 60420 60421 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22972 60422 60423 Add WML <meta> element support. All needed functionality is present 60424 in Document::processHttpEquiv, already covered by tests. 60425 60426 * GNUmakefile.am: 60427 * WebCore.pro: 60428 * WebCore.vcproj/WebCore.vcproj: 60429 * WebCore.xcodeproj/project.pbxproj: 60430 * wml/WMLMetaElement.cpp: Added. 60431 (WebCore::WMLMetaElement::WMLMetaElement): 60432 (WebCore::WMLMetaElement::parseMappedAttribute): 60433 (WebCore::WMLMetaElement::insertedIntoDocument): 60434 * wml/WMLMetaElement.h: Added. 60435 * wml/WMLTagNames.in: 60436 60437 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60438 60439 Rubber-stamped by Darin Adler. 60440 60441 Don't reference specific layout tests in comments. 60442 60443 * html/HTMLFormElement.cpp: 60444 (WebCore::HTMLFormElement::createFormData): 60445 60446 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60447 60448 Reviewed by George Staikos. 60449 60450 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22965 60451 60452 Add WML <head> element support. Doesn't require a WMLHeadElement. 60453 No functional behaviour, as we already created a WMLElement for headTag, by default. 60454 It's just cleaner to list <head> in WMLTagNames, forwarding to a WMLElement constructor. 60455 60456 * wml/WMLTagNames.in: 60457 60458 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60459 60460 Reviewed by George Staikos. 60461 60462 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22971 60463 60464 Fix regression caused by the HTMLFormElement refactorization. 60465 File form elements without a name have to be included in multipart/form-data 60466 submission. Cover this behaviour with a new test case. 60467 60468 Test: http/tests/misc/empty-file-formdata.html 60469 60470 * html/HTMLFormElement.cpp: 60471 (WebCore::HTMLFormElement::createFormData): 60472 * wml/WMLTagNames.in: 60473 60474 2008-12-22 David Kilzer <ddkilzer (a] apple.com> 60475 60476 <rdar://problem/6438298> Bump schema version for app cache 60477 60478 Reviewed by Alexey Proskuryakov. 60479 60480 * loader/appcache/ApplicationCacheStorage.cpp: Increment 60481 SchemaVersion from 2 to 3. 60482 60483 2008-12-22 David Kilzer <ddkilzer (a] apple.com> 60484 60485 Use Deque in CSSStyleSheet::addSubresourceStyleURLs() 60486 60487 Reviewed by Darin Adler. 60488 60489 * css/CSSStyleSheet.cpp: 60490 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Replaced 60491 use of ListHashSet with more efficient Deque. 60492 60493 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60494 60495 Reviewed by Sam Weinig. 60496 60497 Fix obvious crash fix for WML enabled builds. 60498 60499 * css/CSSStyleSelector.cpp: 60500 (WebCore::CSSStyleSelector::adjustRenderStyle): 60501 60502 2008-12-22 David Kilzer <ddkilzer (a] apple.com> 60503 60504 Bug 11850: Webarchive fails to save images referenced in CSS 60505 60506 <https://bugs.webkit.org/show_bug.cgi?id=11850> 60507 60508 Reviewed by Darin Adler. 60509 60510 This entry contains two parts since the tests for adding a 60511 completeURL() method to StyleSheet and CSSStyleSheet (part 1) depend 60512 on Bug 11850 being fixed (part 2). 60513 60514 -- 60515 60516 Tests: http/tests/webarchive/test-css-url-encoding-shift-jis.html 60517 http/tests/webarchive/test-css-url-encoding-utf-8.html 60518 http/tests/webarchive/test-css-url-encoding.html 60519 60520 Added completeURL() methods to StyleSheet and CSSStyleSheet that 60521 match the behavior of Document::completeURL(). Most notably, 60522 CSSStyleSheet::completeURL() uses the charset of the stylesheet 60523 (if it exists) to construct URLs, just like Document::completeURL(). 60524 60525 * css/CSSParser.cpp: 60526 (WebCore::CSSParser::parseValue): Use CSSStyleSheet::completeURL(). 60527 (WebCore::CSSParser::parseContent): Ditto. 60528 (WebCore::CSSParser::parseFillImage): Ditto. 60529 (WebCore::CSSParser::parseFontFaceSrc): Ditto. 60530 (WebCore::CSSParser::parseBorderImage): Ditto. 60531 60532 * css/CSSStyleSheet.cpp: 60533 (WebCore::CSSStyleSheet::completeURL): Added. 60534 * css/CSSStyleSheet.h: 60535 (WebCore::CSSStyleSheet::completeURL): Added declaration. 60536 60537 * css/StyleSheet.cpp: 60538 (WebCore::StyleSheet::completeURL): Added. 60539 * css/StyleSheet.h: 60540 (WebCore::StyleSheet::completeURL): Added declaration. 60541 60542 * dom/Document.cpp: 60543 (WebCore::Document::completeURL): Added comment referring to the new 60544 completeURL() methods in StyleSheet and CSSStyleSheet. 60545 60546 -- 60547 60548 Tests: webarchive/test-css-url-resources-in-stylesheets.html 60549 webarchive/test-css-url-resources-inline-styles.html 60550 60551 Walk stylesheets and inline style attributes for url() references 60552 when building a list of URLs to include in a webarchive. Note that 60553 not all URLs found this way will be included in the webarchive if 60554 they were not used (and thus not downloaded) when laying out the 60555 page. 60556 60557 The key method for CSS stylesheets is 60558 CSSStyleSheet::addSubresourceStyleURLs() which iterates over all 60559 CSSStyleSheet objects recursively referenced from its own stylesheet 60560 through @import rules. Starting with the CSSRule objects in each 60561 sheet and continuing down through the CSSMutableStyleDeclaration and 60562 CSSValue objects, addSubresourceStyleURLs() methods are called to 60563 gather URLs. 60564 60565 For inline style attributes in HTML DOM elements, 60566 StyledElement::addSubresourceAttributeURLs() calls 60567 CSSMutableStyleDeclaration::addSubresourceStyleURLs() to gather URLs 60568 from each element, hence the need to call 60569 addSubresourceAttributeURLs() on superclasses when the method is 60570 implemented on the element class itself. 60571 60572 * css/CSSBorderImageValue.cpp: 60573 (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added. 60574 * css/CSSBorderImageValue.h: 60575 (WebCore::CSSBorderImageValue::addSubresourceStyleURLs): Added 60576 declaration. 60577 60578 * css/CSSFontFaceRule.cpp: 60579 (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added. 60580 * css/CSSFontFaceRule.h: 60581 (WebCore::CSSFontFaceRule::addSubresourceStyleURLs): Added 60582 declaration. 60583 60584 * css/CSSFontFaceSrcValue.cpp: 60585 (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added. 60586 * css/CSSFontFaceSrcValue.h: 60587 (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs): Added 60588 declaration. 60589 60590 * css/CSSImportRule.cpp: 60591 (WebCore::CSSImportRule::addSubresourceStyleURLs): Added. 60592 * css/CSSImportRule.h: 60593 (WebCore::CSSImportRule::addSubresourceStyleURLs): Added 60594 declaration. 60595 60596 * css/CSSMutableStyleDeclaration.cpp: 60597 (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added. 60598 Iterates over m_properties vector of CSSProperty objects calling 60599 addSubresourceStyleURLs() on each property's CSSValue object. 60600 * css/CSSMutableStyleDeclaration.h: 60601 (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs): Added 60602 declaration. 60603 60604 * css/CSSPrimitiveValue.cpp: 60605 (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added. 60606 * css/CSSPrimitiveValue.h: 60607 (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs): Added 60608 declaration. 60609 60610 * css/CSSReflectValue.cpp: 60611 (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added. 60612 * css/CSSReflectValue.h: 60613 (WebCore::CSSReflectValue::addSubresourceStyleURLs): Added 60614 declaration. 60615 60616 * css/CSSRule.h: 60617 (WebCore::CSSRule::addSubresourceStyleURLs): Added. Virtual 60618 method with empty implementation that's overridden by subclasses 60619 as needed. 60620 60621 * css/CSSStyleRule.cpp: 60622 (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added. 60623 * css/CSSStyleRule.h: 60624 (WebCore::CSSStyleRule::addSubresourceStyleURLs): Added 60625 declaration. 60626 60627 * css/CSSStyleSheet.cpp: 60628 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated to 60629 call CSSRule::addSubresourceStyleURLs on each rule to extract 60630 URLs. Removed unneeded baseURL parameter now that the 60631 completeURL() method exists. 60632 * css/CSSStyleSheet.h: 60633 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Updated 60634 declaration. 60635 60636 * css/CSSValue.h: 60637 (WebCore::CSSValue::addSubresourceStyleURLs): Added. Virtual 60638 method with empty implementation that's overridden by subclasses 60639 as needed. 60640 60641 * css/CSSValueList.cpp: 60642 (WebCore::CSSValueList::addSubresourceStyleURLs): Added. 60643 Iterates over m_values vector of CSSValue objects calling 60644 addSubresourceStyleURLs() on each. 60645 * css/CSSValueList.h: 60646 (WebCore::CSSValueList::addSubresourceStyleURLs): Added 60647 declaration. 60648 60649 * css/StyleSheet.h: 60650 (WebCore::StyleSheet::addSubresourceStyleURLs): Updated 60651 declaration to remove unneeded baseURL parameter. 60652 60653 * dom/ProcessingInstruction.cpp: 60654 (WebCore::ProcessingInstruction::addSubresourceAttributeURLs): 60655 Fixed to use the StyleBase::baseURL() method to get the 60656 stylesheet's URL instead of calling Document::completeURL(). 60657 60658 * dom/StyledElement.cpp: 60659 (WebCore::StyledElement::addSubresourceAttributeURLs): Added method 60660 to extract URLs from inline style declarations. 60661 * dom/StyledElement.h: 60662 (WebCore::StyledElement::addSubresourceAttributeURLs): Added 60663 declaration. 60664 60665 * html/HTMLBodyElement.cpp: 60666 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Call 60667 addSubresourceAttributeURLs() in superclass to extract URLs 60668 from inline style declarations. 60669 * html/HTMLEmbedElement.cpp: 60670 (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto. 60671 * html/HTMLImageElement.cpp: 60672 (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto. 60673 * html/HTMLInputElement.cpp: 60674 (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto. 60675 * html/HTMLLinkElement.cpp: 60676 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto. 60677 * html/HTMLObjectElement.cpp: 60678 (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto. 60679 * html/HTMLParamElement.cpp: 60680 (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto. 60681 * html/HTMLScriptElement.cpp: 60682 (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto. 60683 * html/HTMLStyleElement.cpp: 60684 (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto. 60685 * html/HTMLTableCellElement.cpp: 60686 (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto. 60687 * html/HTMLTableElement.cpp: 60688 (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto. 60689 * svg/SVGCursorElement.cpp: 60690 (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Ditto. 60691 * svg/SVGFEImageElement.cpp: 60692 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto. 60693 * svg/SVGImageElement.cpp: 60694 (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto. 60695 * svg/SVGScriptElement.cpp: 60696 (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto. 60697 60698 2008-12-22 Dhananjoy Chutia <dhanrd (a] gmail.com> 60699 60700 Reviewed by David Kilzer. 60701 60702 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22959 60703 Memory leak fixes for WebKit+soup 60704 60705 * platform/network/soup/ResourceHandleSoup.cpp: 60706 (WebCore::finishedCallback): 60707 60708 2008-12-22 Alexey Proskuryakov <ap (a] webkit.org> 60709 60710 Reviewed by Darin Adler. 60711 60712 <rdar://problem/6277060> ASSERTION FAILED: !m_cacheBeingUpdated if the manifest is not available 60713 60714 Tests: http/tests/appcache/404-manifest.html 60715 http/tests/appcache/fail-on-update.html 60716 60717 * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::stopLoading): 60718 Removed the incorrect assertion. 60719 60720 * loader/appcache/ApplicationCacheGroup.h: Added an explanation of somewhat nonintuitive 60721 m_currentHandle handling. 60722 60723 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60724 60725 Reviewed by Alexey Proskuryakov & George Staikos. 60726 60727 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22961 60728 60729 Add WML <fieldset> element support. 60730 Unlike HTML's <fieldset> element, WML doesn't provide a <legend> child element 60731 to describe the <fieldset>. WML instead offers a 'title' attribute on the <fieldset> 60732 element. To integrate within the existing RenderFieldset code, we just create an 60733 internal <insertedLegend> element as first child for a WML <fieldset> element, containing 60734 the title attribute value. 60735 60736 * GNUmakefile.am: 60737 * WebCore.pro: 60738 * WebCore.vcproj/WebCore.vcproj: 60739 * WebCore.xcodeproj/project.pbxproj: 60740 * css/CSSStyleSelector.cpp: 60741 (WebCore::CSSStyleSelector::adjustRenderStyle): 60742 * css/wml.css: 60743 * rendering/RenderFieldset.cpp: 60744 (WebCore::RenderFieldset::RenderFieldset): 60745 (WebCore::RenderFieldset::findLegend): 60746 * rendering/RenderFieldset.h: 60747 * rendering/RenderLegend.cpp: 60748 (WebCore::RenderLegend::RenderLegend): 60749 * rendering/RenderLegend.h: 60750 * wml/WMLFieldSetElement.cpp: Added. 60751 (WebCore::WMLFieldSetElement::WMLFieldSetElement): 60752 (WebCore::WMLFieldSetElement::~WMLFieldSetElement): 60753 (WebCore::WMLFieldSetElement::parseMappedAttribute): 60754 (WebCore::WMLFieldSetElement::insertedIntoDocument): 60755 (WebCore::WMLFieldSetElement::removedFromDocument): 60756 (WebCore::WMLFieldSetElement::createRenderer): 60757 * wml/WMLFieldSetElement.h: Added. 60758 * wml/WMLInsertedLegendElement.cpp: Added. 60759 (WebCore::WMLInsertedLegendElement::WMLInsertedLegendElement): 60760 (WebCore::WMLInsertedLegendElement::~WMLInsertedLegendElement): 60761 (WebCore::WMLInsertedLegendElement::createRenderer): 60762 * wml/WMLInsertedLegendElement.h: Added. 60763 * wml/WMLTagNames.in: 60764 60765 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60766 60767 Not reviewed. Try to fix clean Mac builds, set role=private for FormDataBuilder.h 60768 60769 * WebCore.xcodeproj/project.pbxproj: 60770 60771 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60772 60773 Rubber-stamped by George Staikos. 60774 60775 Unify all TorchMobile copyright lines. Consolidate in a single line, as requested by Mark Rowe, some time ago. 60776 60777 * css/CSSStyleSelector.cpp: 60778 * css/wml.css: 60779 * dom/DOMImplementation.cpp: 60780 * dom/Document.cpp: 60781 * dom/Document.h: 60782 * dom/XMLTokenizer.cpp: 60783 * dom/XMLTokenizerLibxml2.cpp: 60784 * dom/XMLTokenizerQt.cpp: 60785 * history/BackForwardList.cpp: 60786 * history/BackForwardList.h: 60787 * loader/FrameLoader.cpp: 60788 * loader/FrameLoader.h: 60789 * loader/MainResourceLoader.cpp: 60790 * page/Page.cpp: 60791 * page/Page.h: 60792 * platform/MIMETypeRegistry.cpp: 60793 * platform/network/FormDataBuilder.cpp: 60794 * platform/network/FormDataBuilder.h: 60795 * platform/qt/MIMETypeRegistryQt.cpp: 60796 * wml/WMLAElement.cpp: 60797 * wml/WMLAElement.h: 60798 * wml/WMLAccessElement.cpp: 60799 * wml/WMLAccessElement.h: 60800 * wml/WMLAnchorElement.cpp: 60801 * wml/WMLAnchorElement.h: 60802 * wml/WMLBRElement.cpp: 60803 * wml/WMLBRElement.h: 60804 * wml/WMLCardElement.cpp: 60805 * wml/WMLCardElement.h: 60806 * wml/WMLDoElement.cpp: 60807 * wml/WMLDoElement.h: 60808 * wml/WMLDocument.cpp: 60809 * wml/WMLDocument.h: 60810 * wml/WMLElement.cpp: 60811 * wml/WMLElement.h: 60812 * wml/WMLErrorHandling.cpp: 60813 * wml/WMLErrorHandling.h: 60814 * wml/WMLEventHandlingElement.cpp: 60815 * wml/WMLEventHandlingElement.h: 60816 * wml/WMLGoElement.cpp: 60817 * wml/WMLGoElement.h: 60818 * wml/WMLImageElement.cpp: 60819 * wml/WMLImageElement.h: 60820 * wml/WMLImageLoader.cpp: 60821 * wml/WMLImageLoader.h: 60822 * wml/WMLIntrinsicEvent.cpp: 60823 * wml/WMLIntrinsicEvent.h: 60824 * wml/WMLIntrinsicEventHandler.cpp: 60825 * wml/WMLIntrinsicEventHandler.h: 60826 * wml/WMLNoopElement.cpp: 60827 * wml/WMLNoopElement.h: 60828 * wml/WMLOnEventElement.cpp: 60829 * wml/WMLOnEventElement.h: 60830 * wml/WMLPElement.cpp: 60831 * wml/WMLPElement.h: 60832 * wml/WMLPageState.cpp: 60833 * wml/WMLPageState.h: 60834 * wml/WMLPostfieldElement.cpp: 60835 * wml/WMLPostfieldElement.h: 60836 * wml/WMLPrevElement.cpp: 60837 * wml/WMLPrevElement.h: 60838 * wml/WMLRefreshElement.cpp: 60839 * wml/WMLRefreshElement.h: 60840 * wml/WMLSetvarElement.cpp: 60841 * wml/WMLSetvarElement.h: 60842 * wml/WMLTableElement.cpp: 60843 * wml/WMLTableElement.h: 60844 * wml/WMLTaskElement.cpp: 60845 * wml/WMLTaskElement.h: 60846 * wml/WMLTemplateElement.cpp: 60847 * wml/WMLTemplateElement.h: 60848 * wml/WMLTimerElement.cpp: 60849 * wml/WMLTimerElement.h: 60850 * wml/WMLVariables.cpp: 60851 * wml/WMLVariables.h: 60852 60853 2008-12-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60854 60855 Reviewed by George Staikos. 60856 60857 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22638 60858 60859 Add POST method support to WMLGoElement. GET & POST over HTTP 60860 covered by a new set of WML HTTP layout tests. 60861 60862 Tests: http/tests/wml/go-task-get-method-accept-charset.html 60863 http/tests/wml/go-task-get-method.html 60864 http/tests/wml/go-task-post-method-accept-charset.html 60865 http/tests/wml/go-task-post-method.html 60866 60867 * wml/WMLGoElement.cpp: 60868 (WebCore::WMLGoElement::WMLGoElement): 60869 (WebCore::WMLGoElement::registerPostfieldElement): 60870 (WebCore::WMLGoElement::parseMappedAttribute): 60871 (WebCore::WMLGoElement::executeTask): 60872 (WebCore::WMLGoElement::preparePOSTRequest): 60873 (WebCore::WMLGoElement::prepareGETRequest): 60874 (WebCore::WMLGoElement::createFormData): 60875 * wml/WMLGoElement.h: 60876 * wml/WMLPostfieldElement.cpp: 60877 (WebCore::encodedString): 60878 (WebCore::WMLPostfieldElement::encodeData): 60879 * wml/WMLPostfieldElement.h: 60880 60881 2008-12-21 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 60882 60883 Reviewed by Darin Adler and George Staikos. 60884 60885 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22949 60886 60887 Refactor HTMLFormElement to share a maximum level of code between HTMLFormElement & WMLGoElement. 60888 Create a new helper class 'FormDataBuilder', which is hold as member variable in those classes. 60889 It encapsulates all functionality needed to generate a FormData object, usable for HTML/WML form 60890 submission, including boundary string generation, multi-part form handling etc. 60891 60892 No functional changes, no test cases affected. 60893 WMLGoElement will be converted in a follow-up patch. 60894 60895 * GNUmakefile.am: 60896 * WebCore.pro: 60897 * WebCore.scons: 60898 * WebCore.vcproj/WebCore.vcproj: 60899 * WebCore.xcodeproj/project.pbxproj: 60900 * WebCoreSources.bkl: 60901 * html/HTMLFormElement.cpp: 60902 (WebCore::HTMLFormElement::HTMLFormElement): 60903 (WebCore::HTMLFormElement::dataEncoding): 60904 (WebCore::HTMLFormElement::createFormData): 60905 (WebCore::HTMLFormElement::submit): 60906 (WebCore::HTMLFormElement::parseMappedAttribute): 60907 * html/HTMLFormElement.h: 60908 (WebCore::HTMLFormElement::enctype): 60909 (WebCore::HTMLFormElement::encoding): 60910 (WebCore::HTMLFormElement::setEncoding): 60911 (WebCore::HTMLFormElement::acceptCharset): 60912 * platform/network/FormDataBuilder.cpp: Added. 60913 (WebCore::FormDataBuilder::FormDataBuilder): 60914 (WebCore::FormDataBuilder::~FormDataBuilder): 60915 (WebCore::FormDataBuilder::parseEncodingType): 60916 (WebCore::FormDataBuilder::parseMethodType): 60917 (WebCore::FormDataBuilder::dataEncoding): 60918 (WebCore::appendString): 60919 (WebCore::FormDataBuilder::beginMultiPartHeader): 60920 (WebCore::FormDataBuilder::addBoundaryToMultiPartHeader): 60921 (WebCore::FormDataBuilder::addFileNameToMultiPartHeader): 60922 (WebCore::FormDataBuilder::addContentTypeToMultiPartHeader): 60923 (WebCore::FormDataBuilder::finishMultiPartHeader): 60924 (WebCore::FormDataBuilder::clear): 60925 (WebCore::FormDataBuilder::addKeyValuePairAsFormData): 60926 (WebCore::FormDataBuilder::encodeStringAsFormData): 60927 (WebCore::FormDataBuilder::generateUniqueBoundaryString): 60928 * platform/network/FormDataBuilder.h: Added. 60929 (WebCore::FormDataBuilder::isPostMethod): 60930 (WebCore::FormDataBuilder::setIsPostMethod): 60931 (WebCore::FormDataBuilder::isMultiPartForm): 60932 (WebCore::FormDataBuilder::setIsMultiPartForm): 60933 (WebCore::FormDataBuilder::encodingType): 60934 (WebCore::FormDataBuilder::setEncodingType): 60935 (WebCore::FormDataBuilder::acceptCharset): 60936 (WebCore::FormDataBuilder::setAcceptCharset): 60937 (WebCore::FormDataBuilder::encodedData): 60938 (WebCore::FormDataBuilder::multiPartData): 60939 60940 2008-12-21 Dirk Schulze <krit (a] webkit.org> 60941 60942 Reviewed by Darin Adler, Nikolas Zimmermann. 60943 60944 Move the the platform dependent strokeBBox functionality out of RenderPath 60945 into Path with strokeBoundingRect. 60946 60947 RenderPath clean-up for strokeBoundingBox 60948 [https://bugs.webkit.org/show_bug.cgi?id=22902] 60949 60950 * GNUmakefile.am: 60951 * WebCore.xcodeproj/project.pbxproj: 60952 * platform/graphics/GraphicsContext.h: 60953 * platform/graphics/Path.h: 60954 * platform/graphics/StrokeStyleApplier.h: Added. 60955 (WebCore::StrokeStyleApplier::~StrokeStyleApplier): 60956 * platform/graphics/cairo/PathCairo.cpp: 60957 (WebCore::Path::strokeBoundingRect): 60958 * platform/graphics/cg/PathCG.cpp: 60959 (WebCore::createScratchContext): 60960 (WebCore::scratchContext): 60961 (WebCore::Path::strokeBoundingRect): 60962 * platform/graphics/qt/GraphicsContextQt.cpp: 60963 (WebCore::GraphicsContext::pen): 60964 * platform/graphics/qt/PathQt.cpp: 60965 (WebCore::Path::strokeBoundingRect): 60966 * rendering/RenderPath.cpp: 60967 (WebCore::StrokeBoundingRectStyleApplier::StrokeBoundingRectStyleApplier): 60968 (WebCore::StrokeBoundingRectStyleApplier::strokeStyle): 60969 (WebCore::RenderPath::relativeBBox): 60970 * rendering/RenderPath.h: 60971 * svg/graphics/cairo/RenderPathCairo.cpp: 60972 * svg/graphics/cg/RenderPathCg.cpp: 60973 * svg/graphics/qt/RenderPathQt.cpp: 60974 60975 2008-12-20 David Kilzer <ddkilzer (a] apple.com> 60976 60977 Fix typo "CSSAferRuleValue" to "CSSAfterRuleValue" 60978 60979 * html/PreloadScanner.cpp: 60980 (WebCore::PreloadScanner::tokenizeCSS): 60981 * html/PreloadScanner.h: 60982 (WebCore::PreloadScanner::CSSState): 60983 60984 2008-12-19 Alexey Proskuryakov <ap (a] webkit.org> 60985 60986 Reviewed by Geoff Garen. 60987 60988 <rdar://problem/6454076> Random crashes on JS raytracer 60989 60990 No test, because the crash is not readily reproducible. 60991 60992 * platform/text/StringImpl.cpp: 60993 (WebCore::StringImpl::empty): 60994 * platform/text/StringImpl.h: 60995 Made empty string per-thread. 60996 60997 2008-12-19 Anders Carlsson <andersca (a] apple.com> 60998 60999 Reviewed by Sam Weinig. 61000 61001 Replace some uses of HardRetain etc with RetainPtr. 61002 61003 * platform/mac/DragImageMac.mm: 61004 * platform/mac/SharedBufferMac.mm: 61005 (WebCore::SharedBuffer::createCFData): 61006 * rendering/RenderThemeMac.mm: 61007 * svg/graphics/cg/SVGResourceFilterCg.mm: 61008 (WebCore::SVGResourceFilter::prepareFilter): 61009 (WebCore::SVGResourceFilter::applyFilter): 61010 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: 61011 * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: 61012 (WebCore::SVGResourceFilterPlatformDataMac::SVGResourceFilterPlatformDataMac): 61013 61014 2008-12-19 miggilin <mr.diggilin (a] gmail.com> 61015 61016 Reviewed by Kevin Ollivier. 61017 61018 Add Context Menu support to wx bindings. 61019 61020 https://bugs.webkit.org/show_bug.cgi?id=22675 61021 61022 * platform/ContextMenu.h: 61023 * platform/ContextMenuItem.h: 61024 (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription): 61025 * platform/wx/ContextMenuItemWx.cpp: Added. 61026 * platform/wx/ContextMenuWx.cpp: Added. 61027 * platform/wx/LocalizedStringsWx.cpp: 61028 * platform/wx/TemporaryLinkStubs.cpp: 61029 * webcore-wx.bkl: 61030 61031 61032 2008-12-19 Beth Dakin <bdakin (a] apple.com> 61033 61034 Reviewed by Darin Adler. 61035 61036 Temporary band-aide fix for <rdar://problem/6372481> In Gmail, a 61037 crash occurs at 61038 AccessibilityTable::isTableExposableThroughAccessibility() when 61039 attempting to create a link in a rich text message 61040 61041 We need to disable Accessibility Tables until we get this fixed for 61042 real to prevent rampant crashing. 61043 61044 * page/AccessibilityTable.cpp: 61045 (WebCore::AccessibilityTable::AccessibilityTable): 61046 61047 2008-12-19 Simon Fraser <simon.fraser (a] apple.com> 61048 61049 Reviewed by Darin Adler 61050 61051 https://bugs.webkit.org/show_bug.cgi?id=22938 61052 61053 When the document element is transformed, we need to paint 61054 the view background to avoid unpainted areas. 61055 61056 Test: fast/transforms/transformed-document-element.html 61057 61058 * rendering/RenderView.cpp: 61059 (WebCore::RenderView::paintBoxDecorations): 61060 61061 2008-12-19 Steve Falkenburg <sfalken (a] apple.com> 61062 61063 Fix build. 61064 61065 * WebCore.vcproj/WebCore.vcproj: 61066 61067 2008-12-19 Kevin Ollivier <kevino (a] theolliviers.com> 61068 61069 wx build fixes after recent changes. 61070 61071 * WebCoreSources.bkl: 61072 * platform/graphics/wx/ImageSourceWx.cpp: 61073 (WebCore::ImageSource::clear): 61074 * webcore-base.bkl: 61075 61076 2008-12-19 Holger Hans Peter Freyther <zecke (a] selfish.org> 61077 61078 Reviewed by Sam Weinig. 61079 61080 [GTK] Fix make distcheck again 61081 61082 These files were moved to WebCore/platform/animation 61083 and WebCore/platform/graphics/transforms. 61084 61085 * GNUmakefile.am: 61086 61087 2008-12-19 Gustavo Noronha Silva <gns (a] gnome.org> 61088 61089 Reviewed by Holger Freyther. 61090 61091 https://bugs.webkit.org/show_bug.cgi?id=22900 61092 61093 Fix AtomicString usage, so that building works. 61094 61095 * platform/network/soup/ResourceHandleSoup.cpp: 61096 61097 2008-12-19 Adam Roben <aroben (a] apple.com> 61098 61099 Windows build fix on older versions of CFNetwork after r39393 61100 61101 * platform/network/cf/ResourceHandleCFNet.cpp: 61102 (WebCore::highestSupportedCFURLConnectionClientVersion): Changed 61103 preprocessor directives not to leave in unreachable code on old 61104 versions of CFNetwork. 61105 61106 2008-12-19 Antti Koivisto <antti (a] apple.com> 61107 61108 Comment fix. 61109 61110 * platform/PurgeableBuffer.h: 61111 61112 2008-12-19 Holger Hans Peter Freyther <zecke (a] selfish.org> 61113 61114 [GTK] Build fix by adding the new files. 61115 61116 * GNUmakefile.am: 61117 61118 2008-12-19 Jade Han <jade.han (a] nokia.com> 61119 61120 Reviewed by Tor Arne Vestb. 61121 61122 [Qt] Allow conversion of JavaScript Number and Boolean types to Qt types 61123 61124 https://bugs.webkit.org/show_bug.cgi?id=22880 61125 61126 * bridge/qt/qt_runtime.cpp: 61127 (JSC::Bindings::convertValueToQVariant): 61128 61129 2008-12-19 Tor Arne Vestb <tavestbo (a] trolltech.com> 61130 61131 Reviewed by Holger Freyther. 61132 61133 Implement ImageDecoder::filenameExtension() for Qt 61134 61135 * platform/graphics/qt/ImageDecoderQt.cpp: 61136 (WebCore::ImageDecoderQt::filenameExtension): 61137 * platform/graphics/qt/ImageDecoderQt.h: 61138 * platform/graphics/qt/ImageSourceQt.cpp: 61139 (WebCore::ImageSource::filenameExtension): 61140 61141 2008-12-19 Adam Barth <abarth (a] webkit.org> 61142 61143 Reviewed by Darin Alder. 61144 61145 Implement ImageSource::filenameExtension for Cario 61146 https://bugs.webkit.org/show_bug.cgi?id=22905 61147 61148 * platform/graphics/cairo/ImageSourceCairo.cpp: 61149 (WebCore::ImageSource::filenameExtension): 61150 * platform/image-decoders/ImageDecoder.h: 61151 * platform/image-decoders/bmp/BMPImageDecoder.h: 61152 (WebCore::BMPImageDecoder::filenameExtension): 61153 * platform/image-decoders/gif/GIFImageDecoder.h: 61154 (WebCore::GIFImageDecoder::filenameExtension): 61155 * platform/image-decoders/ico/ICOImageDecoder.h: 61156 (WebCore::ICOImageDecoder::filenameExtension): 61157 * platform/image-decoders/jpeg/JPEGImageDecoder.h: 61158 (WebCore::JPEGImageDecoder::filenameExtension): 61159 * platform/image-decoders/png/PNGImageDecoder.h: 61160 (WebCore::PNGImageDecoder::filenameExtension): 61161 * platform/image-decoders/xbm/XBMImageDecoder.h: 61162 (WebCore::XBMImageDecoder::filenameExtension): 61163 61164 2008-12-18 Dan Bernstein <mitz (a] apple.com> 61165 61166 Reviewed by Sam Weinig. 61167 61168 - avoid using the ResourceHandle-level credential storage, if any, 61169 unless the client opts to use it; when use of the credential 61170 storage is disallowed, all authentication challenges are sent to 61171 the client. 61172 - let the FrameLoaderClient decide whether to use the credential 61173 storage. 61174 61175 * loader/EmptyClients.h: 61176 (WebCore::EmptyFrameLoaderClient::shouldUseCredentialStorage): Added. 61177 Returns false. 61178 * loader/FrameLoader.cpp: 61179 (WebCore::FrameLoader::shouldUseCredentialStorage): Added. Calls through 61180 to the FrameLoaderClient. 61181 * loader/FrameLoader.h: Declared shouldUseCredentialStorage(). 61182 * loader/FrameLoaderClient.h: Declared shouldUseCredentialStorage(). 61183 * loader/ResourceLoader.cpp: 61184 (WebCore::ResourceLoader::shouldUseCredentialStorage): Added. Calls 61185 through to the FrameLoader. 61186 * loader/ResourceLoader.h: 61187 (WebCore::ResourceLoader::shouldUseCredentialStorage): Implemented this 61188 ResourceHandleClient method. 61189 * loader/SubresourceLoader.cpp: 61190 (WebCore::SubresourceLoader::shouldUseCredentialStorage): Added. 61191 Overrides the ResourceLoader implementation by letting the client 61192 supply the return value. If the client does not do this, continues 61193 with the ResourceLoader behavior of asking the FrameLoader. 61194 * loader/SubresourceLoader.h: Removed an unused #include and declared 61195 shouldUseCredentialStorage(). 61196 * loader/SubresourceLoaderClient.h: 61197 (WebCore::SubresourceLoaderClient::getShouldUseCredentialStorage): 61198 Added a default implementation which returns false, meaning the client 61199 does not wish to decide whether the credential storage should be used. 61200 * platform/network/ResourceHandle.h: Removed unused forward declarations. 61201 Declared a new member function, shouldUseCredentialStorage(), on Mac and 61202 CFNetwork-using builds. 61203 * platform/network/ResourceHandleClient.h: 61204 (WebCore::ResourceHandleClient::shouldUseCredentialStorage): Added this 61205 default implementation that returns false. 61206 * platform/network/cf/ResourceHandleCFNet.cpp: 61207 (WebCore::findCFNetworkModule): Added. Returns a handle to the CFNetwork 61208 module. 61209 (WebCore::cfNetworkVersion): Added. Returns the high word of the 61210 CFNetwork library's product version. 61211 (WebCore::highestSupportedCFURLConnectionClientVersion): Added. Returns 61212 the highest version of the CFURLConnectionClient structure supported by 61213 the CFNetwork library. The only reason to check this at runtime is 61214 that WebKit may be linking at runtime against an older version of 61215 CFNetwork than the one it was built with, as is the case with nightly 61216 builds. 61217 (WebCore::shouldUseCredentialStorageCallback): Added this 61218 CFURLConnection callback which calls through to 61219 ResourceHandle::shouldUseCredentialStorage(). 61220 (WebCore::ResourceHandle::start): Pass a version 3 CFURLConnectionClient 61221 including the shouldUseCredentialStorage callback. At runtime, clamp the 61222 client structure version down to the highest supported by CFNetwork. 61223 (WebCore::ResourceHandle::shouldUseCredentialStorage): Added. Calls through 61224 to the client if there is one. Otherwise returns false. 61225 * platform/network/mac/ResourceHandleMac.mm: 61226 (WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto. 61227 (-[WebCoreResourceHandleAsDelegate connectionShouldUseCredentialStorage:]): 61228 Added this delegate method which callls through to 61229 ResourceHandle::shouldUseCredentialStorage(). 61230 61231 2008-12-18 David Kilzer <ddkilzer (a] apple.com> 61232 61233 Reset role to "Private" on 6 header files to fix clean builds after r39378 61234 61235 Reviewed by BUILD FIX. 61236 61237 * WebCore.xcodeproj/project.pbxproj: Added back "Private" role 61238 that was lost on 6 headers when they were "moved": 61239 AffineTransform.h, Animation.h, AnimationList.h, 61240 TimingFunction.h, TransformOperation.h and 61241 TransformOperations.h. 61242 61243 2008-12-18 Pamela Greene <pam (a] chromium.org> 61244 61245 Reviewed by Dan Bernstein. 61246 61247 Add initializer for m_textDirectionSubmenuInclusionBehavior. 61248 https://bugs.webkit.org/show_bug.cgi?id=22926 61249 61250 * page/Settings.cpp: 61251 (WebCore::Settings::Settings): Initialize m_textDirectionSubmenuInclusionBehavior 61252 61253 2008-12-18 Sam Weinig <sam (a] webkit.org> 61254 61255 Reviewed by John Sullivan. 61256 61257 Add new FrameLoaderClient method to indicate the first visually 61258 non-empty layout based on an heuristic. Right now that heuristic 61259 is the first layout after an image, text or plugin has been added 61260 to the render tree, but I can imagine it becoming much smarter. 61261 61262 * loader/EmptyClients.h: 61263 (WebCore::EmptyFrameLoaderClient::dispatchDidFirstVisuallyNonEmptyLayout): 61264 * loader/FrameLoader.cpp: 61265 (WebCore::FrameLoader::didFirstVisuallyNonEmptyLayout): 61266 * loader/FrameLoader.h: 61267 * loader/FrameLoaderClient.h: 61268 * page/FrameView.cpp: 61269 (WebCore::FrameViewPrivate::reset): 61270 (WebCore::FrameView::layout): 61271 (WebCore::FrameView::performPostLayoutTasks): 61272 (WebCore::FrameView::setIsVisuallyNonEmpty): 61273 * page/FrameView.h: 61274 * rendering/RenderImage.cpp: 61275 (WebCore::RenderImage::RenderImage): 61276 * rendering/RenderPartObject.cpp: 61277 (WebCore::RenderPartObject::RenderPartObject): 61278 * rendering/RenderText.cpp: 61279 (WebCore::RenderText::RenderText): 61280 61281 2008-12-18 Darin Adler <darin (a] apple.com> 61282 61283 Reviewed by Sam Weinig. 61284 61285 - fix <rdar://problem/6449841> reduce memory use of ResourceResponseBase by removing two maps 61286 61287 We were parsing the cache-control and pragma header field values into maps. 61288 I changed that so instead we only cache two bits with the data we were actually 61289 using. Later we might want to move this responsibility out of this class entirely; 61290 we can cache it at the higher level instead. 61291 61292 * loader/CachedResource.cpp: 61293 (WebCore::CachedResource::mustRevalidate): Changed to call a specific API to get at 61294 the bits in quest instead of a general "cache control directives" API. 61295 61296 * platform/network/ResourceResponseBase.cpp: 61297 (WebCore::ResourceResponseBase::setHTTPHeaderField): Remove the logic for the 61298 pragma header field since no one is using this for now. 61299 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Eliminated the return 61300 value and made this function have side effects only. Changed it so it's the caller's 61301 responsibility to check m_haveParsedCacheControl. Set m_cacheControlContainsNoCache 61302 and m_cacheControlContainsMustRevalidate rather than keeping a map around. 61303 61304 * platform/network/ResourceResponseBase.h: 61305 (WebCore::ResourceResponseBase::cacheControlContainsNoCache): Added. 61306 (WebCore::ResourceResponseBase::cacheControlContainsMustRevalidate): Added. 61307 (WebCore::ResourceResponseBase::ResourceResponseBase): Updated since I removed 61308 m_haveParsedCacheControl and renamed m_haveParsedCacheControlHeader to remove 61309 the imprecise use of the term "header". 61310 61311 2008-12-18 Steve Falkenburg <sfalken (a] apple.com> 61312 61313 Build fix. 61314 Delete 2nd copy of code in these files. 61315 61316 * platform/animation/Animation.cpp: 61317 * platform/animation/Animation.h: 61318 * platform/animation/AnimationList.cpp: 61319 * platform/animation/AnimationList.h: 61320 * platform/animation/TimingFunction.h: 61321 * platform/graphics/transforms/AffineTransform.cpp: 61322 * platform/graphics/transforms/AffineTransform.h: 61323 * platform/graphics/transforms/IdentityTransformOperation.h: 61324 * platform/graphics/transforms/MatrixTransformOperation.cpp: 61325 * platform/graphics/transforms/MatrixTransformOperation.h: 61326 * platform/graphics/transforms/RotateTransformOperation.cpp: 61327 * platform/graphics/transforms/RotateTransformOperation.h: 61328 * platform/graphics/transforms/ScaleTransformOperation.cpp: 61329 * platform/graphics/transforms/ScaleTransformOperation.h: 61330 * platform/graphics/transforms/SkewTransformOperation.cpp: 61331 * platform/graphics/transforms/SkewTransformOperation.h: 61332 * platform/graphics/transforms/TransformOperation.h: 61333 * platform/graphics/transforms/TransformOperations.cpp: 61334 * platform/graphics/transforms/TransformOperations.h: 61335 * platform/graphics/transforms/TranslateTransformOperation.cpp: 61336 * platform/graphics/transforms/TranslateTransformOperation.h: 61337 61338 2008-12-18 Dimitri Glazkov <dglazkov (a] chromium.org> 61339 61340 Reviewed by Geoffrey Garen. 61341 61342 https://bugs.webkit.org/show_bug.cgi?id=22859 61343 Abstract away the use of JSDOMWindow in CachedPage and introduce 61344 ScriptCachedPageData abstraction. 61345 61346 * GNUmakefile.am: Added ScriptCachedPageData to project. 61347 * WebCore.pro: Added ScriptCachedPageData to project. 61348 * WebCore.vcproj/WebCore.vcproj: Added ScriptCachedPageData to project. 61349 * WebCore.xcodeproj/project.pbxproj: Added ScriptCachedPageData to 61350 project. 61351 * bindings/js/ScriptCachedPageData.cpp: Added. 61352 (WebCore::ScriptCachedPageData::ScriptCachedPageData): 61353 (WebCore::ScriptCachedPageData::~ScriptCachedPageData): 61354 (WebCore::ScriptCachedPageData::restore): 61355 (WebCore::ScriptCachedPageData::clear): 61356 * bindings/js/ScriptCachedPageData.h: Added. 61357 * history/CachedPage.cpp: Replaced JSDOMWindow and ProtectedPtr with 61358 ScriptCachedPageData. 61359 (WebCore::CachedPage::CachedPage): 61360 (WebCore::CachedPage::domWindow): 61361 (WebCore::CachedPage::restore): 61362 (WebCore::CachedPage::clear): 61363 * history/CachedPage.h: Replaced JSDOMWindow and ProtectedPtr with 61364 ScriptCachedPageData. 61365 61366 2008-12-18 Chris Marrin <cmarrin (a] apple.com> 61367 61368 Reviewed by Dave Hyatt. 61369 61370 https://bugs.webkit.org/show_bug.cgi?id=22888 61371 61372 To avoid future dependency issues, all the TransformOperations and Animation related files need to be moved to platform 61373 61374 * WebCore.xcodeproj/project.pbxproj: 61375 * platform/animation: Added. 61376 * platform/animation/Animation.cpp: Copied from WebCore/rendering/style/Animation.cpp. 61377 * platform/animation/Animation.h: Copied from WebCore/rendering/style/Animation.h. 61378 * platform/animation/AnimationList.cpp: Copied from WebCore/rendering/style/AnimationList.cpp. 61379 * platform/animation/AnimationList.h: Copied from WebCore/rendering/style/AnimationList.h. 61380 * platform/animation/TimingFunction.h: Copied from WebCore/rendering/style/TimingFunction.h. 61381 * platform/graphics/AffineTransform.cpp: Removed. 61382 * platform/graphics/AffineTransform.h: Removed. 61383 * platform/graphics/transforms: Added. 61384 * platform/graphics/transforms/AffineTransform.cpp: Copied from WebCore/platform/graphics/AffineTransform.cpp. 61385 * platform/graphics/transforms/AffineTransform.h: Copied from WebCore/platform/graphics/AffineTransform.h. 61386 * platform/graphics/transforms/IdentityTransformOperation.h: Copied from WebCore/rendering/style/IdentityTransformOperation.h. 61387 * platform/graphics/transforms/MatrixTransformOperation.cpp: Copied from WebCore/rendering/style/MatrixTransformOperation.cpp. 61388 * platform/graphics/transforms/MatrixTransformOperation.h: Copied from WebCore/rendering/style/MatrixTransformOperation.h. 61389 * platform/graphics/transforms/RotateTransformOperation.cpp: Copied from WebCore/rendering/style/RotateTransformOperation.cpp. 61390 * platform/graphics/transforms/RotateTransformOperation.h: Copied from WebCore/rendering/style/RotateTransformOperation.h. 61391 * platform/graphics/transforms/ScaleTransformOperation.cpp: Copied from WebCore/rendering/style/ScaleTransformOperation.cpp. 61392 * platform/graphics/transforms/ScaleTransformOperation.h: Copied from WebCore/rendering/style/ScaleTransformOperation.h. 61393 * platform/graphics/transforms/SkewTransformOperation.cpp: Copied from WebCore/rendering/style/SkewTransformOperation.cpp. 61394 * platform/graphics/transforms/SkewTransformOperation.h: Copied from WebCore/rendering/style/SkewTransformOperation.h. 61395 * platform/graphics/transforms/TransformOperation.h: Copied from WebCore/rendering/style/TransformOperation.h. 61396 * platform/graphics/transforms/TransformOperations.cpp: Copied from WebCore/rendering/style/TransformOperations.cpp. 61397 * platform/graphics/transforms/TransformOperations.h: Copied from WebCore/rendering/style/TransformOperations.h. 61398 * platform/graphics/transforms/TranslateTransformOperation.cpp: Copied from WebCore/rendering/style/TranslateTransformOperation.cpp. 61399 * platform/graphics/transforms/TranslateTransformOperation.h: Copied from WebCore/rendering/style/TranslateTransformOperation.h. 61400 * rendering/style/Animation.cpp: Removed. 61401 * rendering/style/Animation.h: Removed. 61402 * rendering/style/AnimationList.cpp: Removed. 61403 * rendering/style/AnimationList.h: Removed. 61404 * rendering/style/IdentityTransformOperation.h: Removed. 61405 * rendering/style/MatrixTransformOperation.cpp: Removed. 61406 * rendering/style/MatrixTransformOperation.h: Removed. 61407 * rendering/style/RotateTransformOperation.cpp: Removed. 61408 * rendering/style/RotateTransformOperation.h: Removed. 61409 * rendering/style/ScaleTransformOperation.cpp: Removed. 61410 * rendering/style/ScaleTransformOperation.h: Removed. 61411 * rendering/style/SkewTransformOperation.cpp: Removed. 61412 * rendering/style/SkewTransformOperation.h: Removed. 61413 * rendering/style/TimingFunction.h: Removed. 61414 * rendering/style/TransformOperation.h: Removed. 61415 * rendering/style/TransformOperations.cpp: Removed. 61416 * rendering/style/TransformOperations.h: Removed. 61417 * rendering/style/TranslateTransformOperation.cpp: Removed. 61418 * rendering/style/TranslateTransformOperation.h: Removed. 61419 61420 2008-12-18 Cameron Zwarich <zwarich (a] apple.com> 61421 61422 Reviewed by Geoff Garen. 61423 61424 Bug 21855: REGRESSION (r37323): Gmail complains about popup blocking when opening a link 61425 <https://bugs.webkit.org/show_bug.cgi?id=21855> 61426 <rdar://problem/6278244> 61427 61428 If JavaScript is not currently executing, the handleEvent member function 61429 of JSAbstractEventListener should set the dynamic global object to the 61430 global object of the context in which the event occurred. 61431 61432 If this is not set, then JavaScriptCore will simply take the global object 61433 of the context where the event handler function was created, which may be 61434 a different frame. This will cause the popup blocker to incorrectly block 61435 windows opened from onclick events inside of an iframe whose handler was 61436 created in the outer frame, as it will check the outer frame and see that 61437 it is not processing any events. 61438 61439 * bindings/js/JSEventListener.cpp: 61440 (WebCore::JSAbstractEventListener::handleEvent): 61441 61442 2008-12-17 Simon Fraser <simon.fraser (a] apple.com> 61443 61444 Reviewed by Dave Hyatt 61445 61446 https://bugs.webkit.org/show_bug.cgi?id=22570 61447 61448 Add the ability to compute clip rects independently from 61449 caching them on the RenderLayer. When painting reflections, use 61450 such temporarily computed clipRects, otherwise the layer may cache 61451 clipRects which are invalid, since they have been computed with 61452 a rootLayer that is not the one usually used to paint. 61453 61454 Test: fast/reflections/reflection-overflow-hidden.html 61455 61456 * rendering/RenderLayer.cpp: 61457 (WebCore::RenderLayer::paintLayer): 61458 (WebCore::RenderLayer::hitTestLayer): 61459 (WebCore::RenderLayer::updateClipRects): 61460 (WebCore::RenderLayer::calculateClipRects): 61461 (WebCore::RenderLayer::calculateRects): 61462 * rendering/RenderLayer.h: 61463 (WebCore::ClipRects::ClipRects): 61464 (WebCore::ClipRects::reset): 61465 (WebCore::ClipRects::overflowClipRect): 61466 (WebCore::ClipRects::setOverflowClipRect): 61467 (WebCore::ClipRects::fixedClipRect): 61468 (WebCore::ClipRects::setFixedClipRect): 61469 (WebCore::ClipRects::posClipRect): 61470 (WebCore::ClipRects::setPosClipRect): 61471 (WebCore::ClipRects::setFixed): 61472 (WebCore::ClipRects::operator==): 61473 (WebCore::ClipRects::operator=): 61474 * rendering/RenderReplica.cpp: 61475 (WebCore::RenderReplica::paint): 61476 61477 2008-12-17 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 61478 61479 Reviewed by Simon Hausmann. 61480 61481 https://bugs.webkit.org/show_bug.cgi?id=22618 61482 61483 Fix MinGW QtWebKit linking problems and also make the 61484 QtWebKit build system more robust. 61485 61486 * WebCore.pro: 61487 61488 2008-12-17 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 61489 61490 Reviewed by Maciej Stachowiak. 61491 61492 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22866 61493 61494 wml.css is based on an older copy of html4.css. Synchronize them. 61495 Remove all entries, that are irrelevant for WML. 61496 61497 Fix <do> appearance: should behave like HTMLs <button>. 61498 61499 * css/wml.css: 61500 61501 2008-12-17 Yury Semikhatsky <yurys (a] google.com> 61502 61503 Reviewed by Timothy Hatcher. 61504 Landed by Adam Barth. 61505 61506 Added more checks that WebInspector.panels.{resources,scripts} are 61507 defined where they are accessed from other panels and WebInspector 61508 (some panels are not yet supported in Chrome). 61509 61510 * inspector/front-end/Console.js: 61511 (WebInspector.Console.prototype.addMessage): 61512 (WebInspector.Console.prototype.clearMessages): 61513 (WebInspector.Console.prototype.completions): 61514 * inspector/front-end/ObjectPropertiesSection.js: 61515 (WebInspector.ObjectPropertyTreeElement.prototype.evaluateExpression): 61516 * inspector/front-end/ScriptsPanel.js: 61517 (WebInspector.ScriptsPanel.prototype.get searchableViews): 61518 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): 61519 (WebInspector.ScriptsPanel.prototype._sourceFrameForScriptOrResource): 61520 (WebInspector.ScriptsPanel.prototype._showScriptOrResource): 61521 * inspector/front-end/SourceView.js: 61522 (WebInspector.SourceView.prototype._addBreakpoint): 61523 * inspector/front-end/inspector.js: 61524 (WebInspector.addResource): 61525 (WebInspector.removeResource): 61526 (WebInspector.showResourceForURL): 61527 61528 2008-12-17 Cary Clark < caryclark (a] google.com> 61529 61530 Reviewed by Darin Adler. 61531 Landed by Adam Barth. 61532 61533 Add ENABLE_TEXT_CARET to permit the ANDROID platform 61534 to invalidate and draw the caret in a separate thread. 61535 61536 * page/Frame.cpp: 61537 (WebCore::Frame::clearCaretRectIfNeeded): Body of 61538 function does nothing if text caret is disabled. 61539 (WebCore::Frame::selectionLayoutChanged): Do nothing 61540 if text caret is disabled and the caret only blinked. 61541 (WebCore::Frame::caretBlinkTimerFired): 61542 (WebCore::Frame::paintCaret): 61543 (WebCore::Frame::paintDragCaret): Body of 61544 functions does nothing if text caret is disabled. 61545 61546 2008-12-16 Darin Adler <darin (a] apple.com> 61547 61548 Reviewed and landed by Cameron Zwarich. 61549 61550 Change the style of AtomicString::add() to match Identifier:add(). 61551 61552 * platform/text/AtomicString.cpp: 61553 (WebCore::AtomicString::add): 61554 61555 2008-12-16 Adele Peterson <adele (a] apple.com> 61556 61557 Reviewed by Darin Adler. 61558 61559 Fix for https://bugs.webkit.org/show_bug.cgi?id=22827 61560 <rdar://problem/6247724> RenderThemeWin buttons have weird heavy text 61561 61562 * rendering/RenderThemeWin.cpp: 61563 (WebCore::fillFontDescription): Add version that takes a font size. 61564 (WebCore::RenderThemeWin::systemFont): Use the default GUI font for control fonts, but specify the size. 61565 This will match Firefox. 61566 61567 2008-12-16 Stephanie Lewis <slewis (a] apple.com> 61568 61569 Another build fix. 61570 61571 * platform/text/AtomicString.h: 61572 (WebCore::AtomicString::AtomicString): 61573 61574 2008-12-16 Stephanie Lewis <slewis (a] apple.com> 61575 61576 Windows Build Fix. 61577 61578 * platform/text/AtomicString.h: 61579 (WebCore::AtomicString::AtomicString): 61580 (WebCore::AtomicString::createCFString): 61581 61582 2008-12-16 Peter Kasting <pkasting (a] google.com> 61583 61584 Reviewed by David Hyatt. 61585 61586 https://bugs.webkit.org/show_bug.cgi?id=22885 61587 Fix memory corruption in GIFImageDecoder.cpp with certain GIFs. 61588 61589 * platform/image-decoders/gif/GIFImageDecoder.cpp: 61590 (WebCore::GIFImageDecoder::frameComplete): 61591 61592 2008-12-16 Stephanie Lewis <slewis (a] apple.com> 61593 61594 Reviewed by Geoff Garen. 61595 61596 Change HTTPHeaderMap to use an AtomicString as its key. 61597 Shaves ~1MB off of the Mozilla Memory Test 61598 No functionality difference 61599 61600 * WebCore.xcodeproj/project.pbxproj: 61601 * inspector/InspectorController.cpp: 61602 (WebCore::addHeaders): 61603 * loader/appcache/ApplicationCacheStorage.cpp: 61604 (WebCore::parseHeader): 61605 * platform/network/HTTPHeaderMap.h: 61606 * platform/network/ResourceRequestBase.cpp: 61607 (WebCore::ResourceRequestBase::httpHeaderField): 61608 (WebCore::ResourceRequestBase::setHTTPHeaderField): 61609 (WebCore::ResourceRequestBase::addHTTPHeaderField): 61610 * platform/network/ResourceRequestBase.h: 61611 * platform/network/ResourceResponseBase.cpp: 61612 (WebCore::ResourceResponseBase::httpHeaderField): 61613 (WebCore::ResourceResponseBase::setHTTPHeaderField): 61614 * platform/network/ResourceResponseBase.h: 61615 * platform/text/StringHash.h: 61616 (WebCore::CaseFoldingHash::hash): 61617 (WebCore::CaseFoldingHash::equal): 61618 * xml/XMLHttpRequest.cpp: 61619 (WebCore::isSetCookieHeader): 61620 (WebCore::XMLHttpRequest::setRequestHeader): 61621 (WebCore::XMLHttpRequest::setRequestHeaderInternal): 61622 (WebCore::XMLHttpRequest::getRequestHeader): 61623 (WebCore::XMLHttpRequest::getResponseHeader): 61624 * xml/XMLHttpRequest.h: 61625 61626 2008-12-16 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 61627 61628 Reviewed by Darin Adler. 61629 61630 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22876 61631 61632 Remove legacy randomNumber() functionality from HTMLFormElement, and use the new wtf/RandomNumber.h. 61633 Also remove an uneeded QFileInfo include while I'm at it - there is no Qt usage in this file. 61634 61635 * ForwardingHeaders/wtf/RandomNumber.h: Added. 61636 * html/HTMLFormElement.cpp: 61637 (WebCore::getUniqueBoundaryString): 61638 61639 2008-12-16 Yael Aharon <yael.aharon (a] nokia.com> 61640 61641 Reviewed by Tor Arne Vestb. 61642 61643 Qt/Win build fix 61644 61645 * platform/win/SystemTimeWin.cpp: 61646 61647 2008-12-16 Kalle Vahlman <kalle.vahlman (a] movial.com> 61648 61649 Reviewed by Holger Freyther. 61650 61651 [CURL] memory leak of ResouceHandles 61652 http://bugs.webkit.org/show_bug.cgi?id=20777 61653 61654 Fix ResourceHandle ref management to be consistent and correct. 61655 Original patch from Marco Barisione. 61656 61657 * platform/network/curl/ResourceHandleCurl.cpp: 61658 (WebCore::ResourceHandle::start): 61659 * platform/network/curl/ResourceHandleManager.cpp: 61660 (WebCore::ResourceHandleManager::removeFromCurl): 61661 (WebCore::ResourceHandleManager::add): 61662 (WebCore::ResourceHandleManager::removeScheduledJob): 61663 61664 2008-12-16 Simon Hausmann <simon.hausmann (a] nokia.com> 61665 61666 Fix the Qt build. 61667 61668 * platform/graphics/qt/ImageSourceQt.cpp: 61669 (WebCore::ImageSource::clear): Adjust to new signature. 61670 61671 2008-12-15 Mark Rowe <mrowe (a] apple.com> 61672 61673 Rubber-stamped by Cameron Zwarich. 61674 61675 <rdar://problem/6289933> Change WebKit-related projects to build with GCC 4.2 on Leopard. 61676 61677 * Configurations/Base.xcconfig: 61678 * Configurations/DebugRelease.xcconfig: 61679 61680 2008-12-15 Adele Peterson <adele (a] apple.com> 61681 61682 Reviewed by Darin Adler. 61683 61684 Fix for https://bugs.webkit.org/show_bug.cgi?id=22871 61685 <rdar://problem/6417316> RenderThemeWin buttons are too short/thin 61686 61687 * rendering/RenderButton.cpp: (WebCore::RenderButton::setupInnerStyle): 61688 Check if the button's style (not the new inner style) has appearance set to determine whether we should set padding on the inner style. 61689 61690 2008-12-15 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 61691 61692 Reviewed by Oliver Hunt. 61693 61694 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22865 61695 61696 Add complete WML <table> / <tr> / <td> element support. 61697 Proper handling of all table related attributes, including tests. 61698 61699 Tests: fast/wml/table-element-align-attribute-invalid.wml (variable reference in 'align' attribute, raises error) 61700 fast/wml/table-element-columns-attribute-invalid-number.wml (columns='0', raises error) 61701 fast/wml/table-element-columns-attribute-invalid.wml (non-numeric 'columns' attribute value, raises error) 61702 fast/wml/table-element-columns-attribute-missing.wml (missing 'columns') 61703 fast/wml/table-element-columns-attribute.wml (test 'columns' attribute and <td> count mismatches) 61704 61705 * GNUmakefile.am: 61706 * WebCore.pro: 61707 * WebCore.vcproj/WebCore.vcproj: 61708 * WebCore.xcodeproj/project.pbxproj: 61709 * rendering/RenderObject.cpp: 61710 (WebCore::RenderObject::offsetParent): 61711 * rendering/RenderTableRow.cpp: 61712 (WebCore::RenderTableRow::addChild): 61713 * wml/WMLTableElement.cpp: Added. 61714 (WebCore::WMLTableElement::WMLTableElement): 61715 (WebCore::WMLTableElement::~WMLTableElement): 61716 (WebCore::WMLTableElement::mapToEntry): 61717 (WebCore::WMLTableElement::parseMappedAttribute): 61718 (WebCore::WMLTableElement::finishParsingChildren): 61719 * wml/WMLTableElement.h: Added. 61720 * wml/WMLTagNames.in: 61721 61722 2008-12-15 Darin Adler <darin (a] apple.com> 61723 61724 Reviewed by Sam Weinig. 61725 61726 - fix <rdar://problem/6427048> crash due to infinite recursion after setting window.__proto__ = window 61727 61728 Test: fast/dom/Window/window-custom-prototype.html 61729 61730 Replaced toGlobalObject with the more generally useful unwrappedObject. 61731 61732 * bindings/js/JSDOMWindowShell.cpp: 61733 (WebCore::JSDOMWindowShell::unwrappedObject): Added. 61734 * bindings/js/JSDOMWindowShell.h: Declared unwrappedObject. 61735 * bindings/js/JSQuarantinedObjectWrapper.h: 61736 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): Ditto. 61737 61738 2008-12-15 Gustavo Noronha Silva <kov (a] kov.eti.br> 61739 61740 Reviewed by Mark Rowe. 61741 61742 https://bugs.webkit.org/show_bug.cgi?id=22686 61743 61744 GTK+ build fix. 61745 61746 * GNUmakefile.am: 61747 61748 2008-12-15 Sam Weinig <sam (a] webkit.org> 61749 61750 Reviewed by Darin Adler. 61751 61752 Fix for https://bugs.webkit.org/show_bug.cgi?id=22847 61753 Geolocation PositionOptions cannot be an arbitrary object. 61754 61755 Allow the PositionOptions to be a vanilla JS object and parse it 61756 appropriately. 61757 61758 * DerivedSources.make: Remove PositionOptions. 61759 * GNUmakefile.am: Ditto. 61760 * WebCore.pro: Ditto. 61761 * WebCore.vcproj/WebCore.vcproj: Ditto. 61762 * WebCore.xcodeproj/project.pbxproj: Ditto. 61763 * WebCoreSources.bkl: Ditto. 61764 61765 * bindings/js/JSGeolocationCustom.cpp: 61766 (WebCore::createPositionOptions): Added. Extracts the enableHighAccuracy 61767 and timeout fields from a vanilla JS object in order to create the 61768 PositionOptions object, checking for exceptions as necessary. 61769 (WebCore::JSGeolocation::getCurrentPosition): Use createPositionOptions 61770 instead of toPositionOptions. 61771 (WebCore::JSGeolocation::watchPosition): Ditto. 61772 * page/PositionOptions.idl: Removed 61773 61774 2008-12-15 Peter Kasting <pkasting (a] google.com> 61775 61776 Reviewed by David Hyatt. 61777 61778 https://bugs.webkit.org/show_bug.cgi?id=22108 61779 Large animated GIFs weren't always animating. The code that deleted 61780 the entire decoder after each frame of a large image was resulting in 61781 us forgetting the loop count, breaking animations intermittently. 61782 61783 Instead of throwing the whole decoder away, we're more careful to just 61784 delete frames we don't care about. This additionally addresses 61785 problems in the Cairo and Chromium ports with excessive peak memory 61786 use and CPU use when decoding large animated GIFs because it leads to 61787 much less redecoding (O(n) instead of O(n^2) CPU, and O(1) instead of 61788 O(n) memory). 61789 61790 This change has less impact on the CG decoder, which seems to throw 61791 away frames automatically when their external references are dropped; 61792 this means the CG decoder didn't suffer from the peak memory usage 61793 issue before (and still doesn't), but it also still burns excessive 61794 CPU redecoding earlier frames, that in theory it wouldn't need to 61795 redecode if it would judiciously save the most recent frames. At 61796 least this patch plumbs some useful info to the ImageSource so it can 61797 help guide the CG decoder heuristics in the future. 61798 61799 * platform/graphics/BitmapImage.cpp: 61800 (WebCore::frameBytes): 61801 (WebCore::BitmapImage::destroyDecodedData): 61802 (WebCore::BitmapImage::destroyDecodedDataIfNecessary): 61803 (WebCore::BitmapImage::destroyMetadataAndNotify): 61804 (WebCore::BitmapImage::clearFrame): 61805 (WebCore::BitmapImage::cacheFrame): 61806 (WebCore::BitmapImage::dataChanged): 61807 (WebCore::BitmapImage::startAnimation): 61808 (WebCore::BitmapImage::resetAnimation): 61809 (WebCore::BitmapImage::internalAdvanceAnimation): 61810 * platform/graphics/BitmapImage.h: 61811 * platform/graphics/GeneratedImage.h: 61812 (WebCore::GeneratedImage::destroyDecodedData): 61813 * platform/graphics/Image.h: 61814 * platform/graphics/ImageSource.h: 61815 * platform/graphics/cairo/ImageSourceCairo.cpp: 61816 (WebCore::ImageSource::~ImageSource): 61817 (WebCore::ImageSource::clear): 61818 * platform/graphics/cg/ImageSourceCG.cpp: 61819 (WebCore::ImageSource::~ImageSource): 61820 (WebCore::ImageSource::clear): 61821 * platform/graphics/cg/PDFDocumentImage.h: 61822 (WebCore::PDFDocumentImage::destroyDecodedData): 61823 * platform/graphics/qt/StillImageQt.h: 61824 (WebCore::StillImage::destroyDecodedData): 61825 * platform/image-decoders/ImageDecoder.h: 61826 (WebCore::RGBA32Buffer::clear): 61827 (WebCore::ImageDecoder::clearFrameBufferCache): 61828 * platform/image-decoders/gif/GIFImageDecoder.cpp: 61829 (WebCore::GIFImageDecoder::repetitionCount): 61830 (WebCore::GIFImageDecoder::clearFrameBufferCache): 61831 (WebCore::GIFImageDecoder::initFrameBuffer): 61832 * platform/image-decoders/gif/GIFImageDecoder.h: 61833 * platform/image-decoders/gif/GIFImageReader.h: 61834 (GIFImageReader::GIFImageReader): 61835 * svg/graphics/SVGImage.h: 61836 (WebCore::SVGImage::destroyDecodedData): 61837 61838 2008-12-15 Cameron Zwarich <zwarich (a] apple.com> 61839 61840 Reviewed by Darin Adler. 61841 61842 Bug 22562: REGRESSION (r37971): events not firing after going back in back/forward cache 61843 <https://bugs.webkit.org/show_bug.cgi?id=22562> 61844 <rdar://problem/6414593> 61845 61846 Restore the Frame's DOMWindow to its previous value when going back in 61847 the back/forward cache. The fact that it was not getting set before may 61848 have always caused some subtle bugs with the back/forward cache, but 61849 after r37971, it causes no events to fire after restoring a page. 61850 61851 Previously, ScriptController::clearScriptObjects() was calling 61852 clearPlatformScriptObjects(), which was not actually clearing any 61853 objects, only updating them to reflect some change in state. Since the 61854 window shell was not updated until after the call to clearScriptObjects(), 61855 this didn't actually make that much sense. 61856 61857 We rename clearPlatformScriptObjects() to reflect its actual purpose and 61858 call it after the window shell has been updated rather than before. 61859 61860 Unfortunately, there is no way to test this with a layout test because 61861 it involves the back/forward cache. 61862 61863 * bindings/js/ScriptController.cpp: 61864 (WebCore::ScriptController::updatePlatformScriptObjects): Renamed from 61865 clearPlatformScriptObjects(), because the only nonempty implementation 61866 doesn't actually clear any objects, it updates them. Also made public. 61867 (WebCore::ScriptController::clearScriptObjects): Remove the call to 61868 clearPlatformScriptObjects(). 61869 * bindings/js/ScriptController.h: 61870 * bindings/js/ScriptControllerMac.mm: 61871 (WebCore::ScriptController::updatePlatformScriptObjects): 61872 * history/CachedPage.cpp: 61873 (WebCore::CachedPage::domWindow): Added. 61874 * history/CachedPage.h: 61875 * loader/FrameLoader.cpp: 61876 (WebCore::FrameLoader::cancelAndClear): Added call to updatePlatformScriptObjects(). 61877 (WebCore::FrameLoader::begin): Added call to updatePlatformScriptObjects(). 61878 (WebCore::FrameLoader::open): Added call to updatePlatformScriptObjects(). 61879 * page/Frame.cpp: 61880 (WebCore::Frame::setDOMWindow): Added. 61881 (WebCore::Frame::pageDestroyed): Added call to updatePlatformScriptObjects(). 61882 * page/Frame.h: 61883 61884 2008-12-15 Antti Koivisto <antti (a] apple.com> 61885 61886 Reviewed by Darin Adler. 61887 61888 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation" 61889 https://bugs.webkit.org/show_bug.cgi?id=17998 61890 61891 - Enable conditional revalidation for reloads by default. 61892 - Add a parameter to FrameLoader::reload() for forcing end-to-end reload. 61893 - To avoid duplicating state remove m_cachePolicy variables from FrameLoader and DocLoader. 61894 Instead synthezise the policy on demand. 61895 61896 This speeds up reloads and makes them use way less bandwidth. 61897 61898 * WebCore.base.exp: 61899 * loader/CachePolicy.h: Rename CachePolicyRefresh to CachePolicyRevalidate. 61900 (WebCore::): 61901 * loader/DocLoader.cpp: 61902 (WebCore::DocLoader::DocLoader): 61903 (WebCore::DocLoader::checkForReload): Support CachePolicyRevalidate. 61904 (WebCore::DocLoader::requestResource): 61905 (WebCore::DocLoader::cachePolicy): 61906 * loader/DocLoader.h: Get rid of m_cachePolicy member. 61907 * loader/FrameLoader.cpp: 61908 (WebCore::ScheduledRedirection::ScheduledRedirection): 61909 Add parameter to differentiate refresh from other types of redirects. 61910 m_cachePolicy was used for signaling this before. 61911 (WebCore::isBackForwardLoadType): 61912 (WebCore::FrameLoader::FrameLoader): 61913 (WebCore::FrameLoader::changeLocation): 61914 (WebCore::FrameLoader::stopLoading): 61915 (WebCore::FrameLoader::receivedFirstData): 61916 (WebCore::FrameLoader::write): 61917 (WebCore::FrameLoader::startIconLoader): 61918 (WebCore::FrameLoader::restoreDocumentState): 61919 (WebCore::FrameLoader::scheduleHTTPRedirection): 61920 (WebCore::FrameLoader::scheduleLocationChange): 61921 (WebCore::FrameLoader::scheduleRefresh): 61922 (WebCore::FrameLoader::redirectionTimerFired): 61923 (WebCore::FrameLoader::canCachePage): 61924 (WebCore::FrameLoader::loadURL): 61925 (WebCore::FrameLoader::reload): 61926 Differentiate between revalidation and reload. 61927 No need to use setHTTPHeaderField here, addExtraFieldsToRequest will set the headers. 61928 (WebCore::FrameLoader::transitionToCommitted): 61929 (WebCore::FrameLoader::cachePolicy): Determine the cache policy based on current load type. 61930 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): 61931 (WebCore::FrameLoader::addExtraFieldsToRequest): Set Cache-control: no-cache for FrameLoadTypeReloadFromOrigin 61932 (WebCore::FrameLoader::shouldScrollToAnchor): 61933 (WebCore::FrameLoader::loadItem): 61934 (WebCore::FrameLoader::updateHistoryForReload): 61935 (WebCore::FrameLoader::updateHistoryForCommit): 61936 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 61937 * loader/FrameLoader.h: 61938 * loader/FrameLoaderTypes.h: Add FrameLoadTypeReloadFromOrigin 61939 (WebCore::): 61940 * loader/NavigationAction.cpp: 61941 (WebCore::navigationType): Support FrameLoadTypeReloadFromOrigin 61942 * loader/loader.cpp: 61943 (WebCore::Loader::Host::servePendingRequests): 61944 61945 2008-12-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 61946 61947 Reviewed by Simon Hausmann. 61948 61949 Add null checks to PlatformScreenQt 61950 61951 The other ports do the null checks and JSDOMWindowBase is 61952 at least one caller that is passing 0. 61953 61954 * platform/qt/PlatformScreenQt.cpp: 61955 (WebCore::screenDepth): 61956 (WebCore::screenDepthPerComponent): 61957 (WebCore::screenIsMonochrome): 61958 (WebCore::screenRect): 61959 (WebCore::screenAvailableRect): 61960 61961 2008-12-15 Alexey Proskuryakov <ap (a] webkit.org> 61962 61963 Reviewed by Oliver Hunt. 61964 61965 <rdar://problem/6444455> Worker Thread crash running multiple workers for a moderate amount of time 61966 61967 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): 61968 Detach the thread. Without this, one page of its stack was never unmmaped, and fragmentation 61969 made RegisterFile allocaiton fail after a while. 61970 61971 2008-12-13 Darin Adler <darin (a] apple.com> 61972 61973 Reviewed by Sam Weinig. 61974 61975 - half of https://bugs.webkit.org/show_bug.cgi?id=17425 61976 eliminate DeprecatedPtrList 61977 61978 * dom/Document.cpp: 61979 (WebCore::Document::removeImage): Change to set slots in the vector 61980 to 0 rather than removing items from a list. 61981 (WebCore::Document::dispatchImageLoadEventsNow): Rewrite to process 61982 the list. Since we now use a "set to zero" design, we don't need to 61983 be careful about where the iterator points while iterating the list, 61984 instead we just have to skip zeros. 61985 61986 * dom/Document.h: Use Vector instead of DeprecatedPtrList. 61987 61988 * dom/EventTargetNode.cpp: 61989 (WebCore::EventTargetNode::dispatchGenericEvent): Use a Vector instead 61990 of a DeprecatedPtrList for the list of nodes to handle. Also streamlined 61991 the logic a bit and used goto in a couple key places. 61992 61993 * dom/Node.cpp: 61994 (WebCore::Node::eventParentNode): Moved this function into this file 61995 because it's a virtual function so already can't be inlined. Also updated 61996 to return a ContainerNode, so it needs to be in a place where the 61997 definition of ContainerNode is visible, not the header file. 61998 61999 * dom/Node.h: Changed return type of eventParentNode to ContainerNode 62000 and moved its definition into the cpp file. 62001 62002 * dom/XMLTokenizerLibxml2.cpp: 62003 (WebCore::PendingCallbacks::~PendingCallbacks): Added a call to 62004 deleteAllValues here instead of setAutoDelete in the constructor, since 62005 we're using Deque instead of DeprecatedPtrList. 62006 (WebCore::PendingCallbacks::callAndRemoveFirstCallback): Changed the 62007 code to use an OwnPtr since the deque won't delete the callback object. 62008 62009 * editing/ApplyStyleCommand.cpp: 62010 (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Use a 62011 Vector instead of a DeprecatedPtrList. 62012 62013 * svg/SVGElement.cpp: 62014 (WebCore::SVGElement::eventParentNode): Moved this function into this file 62015 because it's a virtual function so already can't be inlined. Also updated 62016 to return a ContainerNode. 62017 62018 * svg/SVGElement.h: Changed setShadowParentNode to take a ContainerNode*, 62019 made eventParentNode return a ContainerNode*, and made m_shadowParent a 62020 ContainerNode*. 62021 62022 2008-12-14 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 62023 62024 Reviewed by George Staikos. 62025 62026 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22857 62027 62028 Jumps within a WML deck using <go> task elements fail. Manual reloading 62029 is necessary to display the page - fix cache-policy in WMLGoElement::executeTask 62030 to prevent the problem. 62031 62032 Refactor setActiveCardInDocument in two new functions: findNamedCardInDocument 62033 and determineActiveCard, to fix a side-effect of executing a <go> task: 62034 when switching cards within a deck the active card was changed before the load 62035 was fired which resulted in a flash effect on the screen, and doing unnecessary work. 62036 62037 Test: wml/go-task-animation.html 62038 62039 * wml/WMLCardElement.cpp: 62040 (WebCore::WMLCardElement::findNamedCardInDocument): 62041 (WebCore::WMLCardElement::determineActiveCard): 62042 * wml/WMLCardElement.h: 62043 * wml/WMLDocument.cpp: 62044 (WebCore::WMLDocument::finishedParsing): 62045 * wml/WMLGoElement.cpp: 62046 (WebCore::WMLGoElement::executeTask): 62047 (WebCore::WMLGoElement::prepareGETRequest): 62048 * wml/WMLGoElement.h: 62049 62050 2008-12-14 Dirk Schulze <krit (a] webkit.org> 62051 62052 Reviewed by Oliver Hunt. 62053 62054 Fixes an issue in cairo. A fully transparent color can cause wrong 62055 drawings on canvas' composite. 62056 62057 https://bugs.webkit.org/show_bug.cgi?id=22846 62058 [CAIRO] Canvas: transparent color and composite 62059 62060 Test: fast/canvas/canvas-transparency-and-composite.html 62061 62062 * platform/graphics/cairo/GraphicsContextCairo.cpp: 62063 (WebCore::GraphicsContext::fillPath): 62064 (WebCore::GraphicsContext::strokePath): 62065 62066 2008-12-13 Julien Chaffraix <jchaffraix (a] webkit.org> 62067 62068 Reviewed by Darin Adler. 62069 62070 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it 62071 https://bugs.webkit.org/show_bug.cgi?id=22665 62072 62073 Remove setCreatedByParser from frame and iframe. 62074 62075 * html/HTMLElementFactory.cpp: 62076 (WebCore::frameConstructor): 62077 (WebCore::iframeConstructor): 62078 (WebCore::objectConstructor): 62079 * html/HTMLFrameElement.cpp: 62080 (WebCore::HTMLFrameElement::HTMLFrameElement): 62081 * html/HTMLFrameElement.h: 62082 * html/HTMLFrameElementBase.cpp: 62083 (WebCore::HTMLFrameElementBase::HTMLFrameElementBase): 62084 * html/HTMLFrameElementBase.h: 62085 * html/HTMLFrameOwnerElement.cpp: 62086 (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement): 62087 * html/HTMLFrameOwnerElement.h: 62088 (WebCore::HTMLFrameOwnerElement::createdByParser): 62089 * html/HTMLIFrameElement.cpp: 62090 (WebCore::HTMLIFrameElement::HTMLIFrameElement): 62091 * html/HTMLIFrameElement.h: 62092 * html/HTMLPlugInElement.cpp: 62093 (WebCore::HTMLPlugInElement::HTMLPlugInElement): 62094 * html/HTMLTagNames.in: 62095 62096 2008-12-13 Alexey Proskuryakov <ap (a] webkit.org> 62097 62098 Reviewed by Darin Adler. 62099 62100 https://bugs.webkit.org/show_bug.cgi?id=22843 62101 Auto-generate JSWorkerContext 62102 62103 * bindings/scripts/CodeGeneratorJS.pm: 62104 * dom/WorkerContext.idl: Added. 62105 * page/DOMWindow.idl: 62106 Added ExtendsDOMGlobalObject, a new attribute for behaviors common to DOMWindow and 62107 WorkerContext. 62108 62109 * bindings/js/WorkerScriptController.cpp: 62110 (WebCore::WorkerScriptController::initScript): 62111 Made JSWorkerContext creation look more like JSDOMWindow creation, to work with generated code. 62112 62113 * DerivedSources.make: 62114 * GNUmakefile.am: 62115 * WebCore.pro: 62116 * WebCore.scons: 62117 * WebCore.vcproj/WebCore.vcproj: 62118 * WebCore.xcodeproj/project.pbxproj: 62119 * bindings/js/JSWorkerContext.cpp: Removed. 62120 * bindings/js/JSWorkerContext.h: Removed. 62121 * bindings/js/JSWorkerContextBase.cpp: Copied from WebCore/bindings/js/JSWorkerContext.cpp. 62122 (WebCore::JSWorkerContextBase::JSWorkerContextBase): 62123 (WebCore::JSWorkerContextBase::~JSWorkerContextBase): 62124 (WebCore::JSWorkerContextBase::scriptExecutionContext): 62125 (WebCore::getJSWorkerContextBaseTable): 62126 (WebCore::): 62127 (WebCore::JSWorkerContextBase::put): 62128 * bindings/js/JSWorkerContextBase.h: Copied from WebCore/bindings/js/JSWorkerContext.h. 62129 * bindings/js/JSWorkerContextCustom.cpp: Added. 62130 (WebCore::JSWorkerContext::customGetOwnPropertySlot): 62131 (WebCore::JSWorkerContext::mark): 62132 (WebCore::JSWorkerContext::self): 62133 (WebCore::JSWorkerContext::setSelf): 62134 (WebCore::JSWorkerContext::addEventListener): 62135 (WebCore::JSWorkerContext::removeEventListener): 62136 Moved code around. Note that currently, JSWorkerContextBase lookup table is empty, but we'll 62137 need to add some global objects to it in the future, as it is done in JSDOMWindowBase. 62138 62139 * page/WorkerNavigator.cpp: 62140 * page/WorkerNavigator.h: 62141 Added ENABLE(WORKERS) ifdefs. 62142 62143 2008-12-13 Darin Adler <darin (a] apple.com> 62144 62145 - fix Release build 62146 62147 * dom/Node.cpp: 62148 (WebCore::Node::rareData): Remove inappropriate inline directive. 62149 62150 2008-12-13 Darin Adler <darin (a] apple.com> 62151 62152 Reviewed by Dan Bernstein. 62153 62154 - fix https://bugs.webkit.org/show_bug.cgi?id=18734 62155 REGRESSION (r31081): Focus problems in Gmail 2/Plain text message text 62156 <rdar://problem/5892415> 62157 62158 Test: fast/forms/textarea-selection-preservation.html 62159 62160 The regression reported was caused by the fact that the renderer code had 62161 a bug where it would constantly think the newline at the end of text was 62162 missing, and so it would replace all the text even though it wasn't changing, 62163 which would destroy the selection. 62164 62165 When writing the regression test I discovered another problem: The value 62166 property in HTMLTextAreaElement was intentionally changing the selection 62167 to the end of the textarea, but doing that even when the value wasn't changing. 62168 62169 This patch fixes both and the test checks both. 62170 62171 * html/HTMLTextAreaElement.cpp: 62172 (WebCore::HTMLTextAreaElement::setValue): Exit early if the value is 62173 not changing. 62174 62175 * rendering/RenderTextControl.cpp: 62176 (WebCore::RenderTextControl::text): Add a newline character for each <br> 62177 element encountered in the control 62178 62179 2008-12-13 Darin Adler <darin (a] apple.com> 62180 62181 - file deletion part of https://bugs.webkit.org/show_bug.cgi?id=17497 62182 eliminate DeprecatedValueList 62183 62184 * GNUmakefile.am: Removed references to deleted files. 62185 * WebCore.pro: Ditto. 62186 * WebCore.scons: Ditto. 62187 * WebCore.vcproj/WebCore.vcproj: Ditto. 62188 * WebCore.xcodeproj/project.pbxproj: Ditto. 62189 * WebCoreSources.bkl: Ditto. 62190 62191 * platform/DeprecatedPtrQueue.h: Removed. 62192 * platform/DeprecatedValueList.h: Removed. 62193 * platform/DeprecatedValueListImpl.cpp: Removed. 62194 * platform/DeprecatedValueListImpl.h: Removed. 62195 62196 2008-12-13 Darin Adler <darin (a] apple.com> 62197 62198 Reviewed by Anders Carlsson. 62199 62200 - https://bugs.webkit.org/show_bug.cgi?id=17497 62201 eliminate DeprecatedValueList 62202 62203 * css/CSSStyleDeclaration.cpp: Removed unneeded include. 62204 62205 * dom/Document.cpp: 62206 (WebCore::Document::removeAllEventListenersFromAllNodes): 62207 Set the removed flag on the window event listeners in case we 62208 are in the middle of dispatching events on this window. 62209 (WebCore::Document::clear): Ditto. 62210 (WebCore::Document::handleWindowEvent): Changed to use a vector 62211 instead of a DeprecatedPtrList. 62212 (WebCore::Document::windowInlineEventListenerForType): Ditto. 62213 (WebCore::Document::removeWindowInlineEventListenerForType): Ditto. 62214 Also added a call to setRemoved, which is needed here just as in 62215 other functions that remove. 62216 (WebCore::Document::removeWindowEventListener): Ditto. 62217 (WebCore::Document::hasWindowEventListener): Ditto. 62218 62219 * dom/Document.h: Changed RegisteredEventListenerList to 62220 RegisteredEventListeners. 62221 62222 * dom/Element.cpp: 62223 (WebCore::Element::attach): Use a function to access rare data instead 62224 of getting directly at the data field. 62225 (WebCore::Element::focus): Ditto. 62226 (WebCore::Element::cancelFocusAppearanceUpdate): Ditto. 62227 62228 * dom/ElementRareData.h: Use "using" to make things that are protected 62229 in NodeRareData be public here. 62230 62231 * dom/EventTarget.h: Removed include of DeprecatedValueList and 62232 related declearations that weren't needed. Tweaked the definitions 62233 of the forbidEventDispatch functions too. 62234 62235 * dom/EventTargetNode.cpp: 62236 (WebCore::EventTargetNode::EventTargetNode): Eliminated code that 62237 was used to initialized m_regdListeners. 62238 (WebCore::EventTargetNode::~EventTargetNode): Elminated delete of 62239 m_regdListeners. Changed code to use eventListeners() instead of 62240 m_regdListeners. 62241 (WebCore::EventTargetNode::eventListeners): Added. 62242 (WebCore::EventTargetNode::insertedIntoDocument): Use eventListeners. 62243 (WebCore::EventTargetNode::removedFromDocument): Ditto. 62244 (WebCore::EventTargetNode::willMoveToNewOwnerDocument): Ditto. 62245 (WebCore::EventTargetNode::didMoveToNewOwnerDocument): Ditto. 62246 (WebCore::EventTargetNode::addEventListener): Ditto. 62247 (WebCore::EventTargetNode::removeEventListener): Ditto. 62248 (WebCore::EventTargetNode::removeAllEventListeners): Ditto. 62249 Also added code to call setRemoved on all the listeners. 62250 (WebCore::EventTargetNode::handleLocalEvents): Ditto. 62251 (WebCore::EventTargetNode::dispatchGenericEvent): Fixed indentation. 62252 (WebCore::EventTargetNode::removeInlineEventListenerForType): Use 62253 the new event listeners vector. Also added missing call to setRemoved. 62254 (WebCore::EventTargetNode::inlineEventListenerForType): Ditto. 62255 62256 * dom/EventTargetNode.h: Added a new RegisteredEventListenerVector 62257 type and replaced the old localEventListeners function with a new 62258 eventListeners function. Removed m_regdListeners. 62259 62260 * dom/Node.cpp: 62261 (WebCore::Node::childNodes): Removed unneeded std prefix. 62262 (WebCore::Node::setFocus): Use function instead of going directly 62263 at rare data. 62264 (WebCore::Node::rareDataFocused): Ditto. 62265 (WebCore::Node::registerDynamicNodeList): Removed unneeded std prefix. 62266 (WebCore::Node::getElementsByName): Ditto. 62267 (WebCore::Node::getElementsByClassName): Ditto. 62268 (WebCore::Node::compareDocumentPosition): Ditto. 62269 62270 * dom/Node.h: Removed unneeded forward declaration of 62271 RegisteredEventListener. This is now in EventTargetNode. 62272 62273 * dom/NodeRareData.h: Renamed m_focused to m_isFocused and made it 62274 private. Made m_needsFocusAppearanceUpdateSoonAfterAttach private. 62275 Added listeners and ensureListeners functions as well as isFocused, 62276 setFocused, and focus-appearance functions. Made all data members private. 62277 62278 * dom/RegisteredEventListener.cpp: Removed operator ==. 62279 * dom/RegisteredEventListener.h: Removed operator == and !=. 62280 62281 * svg/SVGElement.cpp: 62282 (WebCore::hasLoadListener): Rewrote to work with the vector. 62283 * svg/SVGUseElement.cpp: 62284 (WebCore::SVGUseElement::transferEventListenersToShadowTree): Ditto. 62285 62286 2008-12-13 Holger Hans Peter Freyther <zecke (a] selfish.org> 62287 62288 Reviewed by Dan Bernstein. 62289 62290 https://bugs.webkit.org/show_bug.cgi?id=22824 62291 62292 Change ENABLE(FONT_FAST_PATH) to USE(FONT_FAST_PATH). With r39206 62293 floatWidth always used the complex path causing a regression 62294 in the pixel tests. 62295 62296 * platform/graphics/Font.cpp: 62297 (WebCore::Font::floatWidth): Use the fast path again 62298 62299 2008-12-13 Dirk Schulze <krit (a] webkit.org> 62300 62301 Reviewed by Darin Adler. 62302 62303 Fixes behavior of gradients on empty path in canvas/Cg 62304 62305 https://bugs.webkit.org/show_bug.cgi?id=22844 62306 [Cg] Canvas fill() draws gradients even without a path 62307 62308 Test: fast/canvas/canvas-gradient-without-path.html 62309 62310 * html/CanvasRenderingContext2D.cpp: 62311 (WebCore::CanvasRenderingContext2D::fill): 62312 (WebCore::CanvasRenderingContext2D::stroke): 62313 62314 2008-12-13 Kevin Ollivier <kevino (a] theolliviers.com> 62315 62316 wx build fix. 62317 62318 * platform/graphics/wx/ImageSourceWx.cpp: 62319 (WebCore::ImageSource::filenameExtension): 62320 62321 2008-12-12 Brent Fulgham <bfulgham (a] gmail.com> 62322 62323 Reviewed by Oliver Hunt. 62324 62325 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22805 62326 62327 Provides implementation of image dragging logic for Windows Cairo 62328 back-end. 62329 62330 * platform/win/DragImageCGWin.cpp: 62331 (WebCore::deallocContext): Add a generic CGContextRef destructor. 62332 * platform/win/DragImageCairoWin.cpp: 62333 (WebCore::deallocContext): Add a generic cairo_* destructor. 62334 (WebCore::allocImage): New implementation to allocate a Cairo 62335 surface of a specified size. 62336 (WebCore::createCairoContextFromBitmap): New implementation to 62337 create a Cairo surface from a Windows BITMAP. 62338 (WebCore::scaleDragImage): Replace stub with implementation to 62339 actually create a scaled image. 62340 (WebCore::createDragImageFromImage): Replace stub with implementation 62341 to actually create an image. 62342 62343 2008-12-12 Dean Jackson <dino (a] apple.com> 62344 62345 Reviewed by Darin Adler. 62346 62347 Expose WebKitAnimationEvent, WebKitTransitionEvent, 62348 WebKitCSSTransformValue, WebKitCSSKeyframeRule and 62349 WebKitCSSKeyframesRule to Window object. 62350 This required generating constructors for the event 62351 interfaces. 62352 62353 https://bugs.webkit.org/show_bug.cgi?id=20560 62354 62355 * dom/WebKitAnimationEvent.idl: 62356 * dom/WebKitTransitionEvent.idl: 62357 * page/DOMWindow.idl: 62358 62359 2008-12-12 Dave Moore <davemoore (a] google.com> 62360 62361 Reviewed by Eric Seidel. 62362 62363 Fixed https://bugs.webkit.org/show_bug.cgi?id=22798 62364 62365 In Font::drawTextUsingSVGFont() a variable of type SVGTextRunWalkerDrawTextData 62366 is created on the stack (called data). One of its fields, charsConsumed, is 62367 unitialized, leading to random values after calling walk() on the 62368 SVGTextRunWalker created with it. I now initialize the variable 62369 62370 This bug was revealed in our Purify run. I don't know of any specific incorrect 62371 behavior caused by it but it would lead to the charsConsumed field having a 62372 a wrong value. 62373 62374 * svg/SVGFont.cpp: 62375 (WebCore::Font::drawTextUsingSVGFont): 62376 62377 2008-12-12 Beth Dakin <bdakin (a] apple.com> 62378 62379 Rubber Stamped by Steve Falkenburg. 62380 62381 Build fix. 62382 62383 * platform/KURL.h: 62384 62385 2008-12-12 Brett Wilson <brettw (a] chromium.org> 62386 62387 Reviewed by Darin Adler. 62388 62389 Add the ability so that Google-URL can optionally be used in a build 62390 of WebKit without changing the shared header. The guts of KURL are 62391 optionally ifdefed out, and the replacement code goes in a different 62392 header to avoid polluting KURL.h 62393 62394 * platform/KURL.cpp: 62395 * platform/KURL.h: 62396 (WebCore::KURL::string): 62397 (WebCore::KURL::operator const String&): 62398 (WebCore::KURL::operator JSC::UString): 62399 (WebCore::KURL::operator NSString*): 62400 (WebCore::KURL::parsed): 62401 (WebCore::KURL::utf8String): 62402 (WebCore::KURL::isNull): 62403 (WebCore::KURL::isEmpty): 62404 (WebCore::KURL::isValid): 62405 (WebCore::KURL::hostStart): 62406 (WebCore::KURL::hostEnd): 62407 (WebCore::KURL::pathStart): 62408 (WebCore::KURL::pathEnd): 62409 (WebCore::KURL::pathAfterLastSlash): 62410 62411 2008-12-11 Steve Falkenburg <sfalken (a] apple.com> 62412 62413 Delete the previous timer-queue timer in the main thread, just prior to scheduling a new timer. 62414 The code previously called DeleteTimerQueueTimer in the timer callback proc. 62415 62416 The new technique simplifies the code, since we now create and delete timers on the 62417 same thread, and don't access the timer queue or timer handles in the callback. 62418 This allows us to remove some mutex use, and more importantly, it solves a race 62419 condition that was occuring between ChangeTimerQueueTimer and DeleteTimerQueueTimer. 62420 62421 Since the timer callback isn't passed the timer handle, we were retrieving that handle 62422 via a global. If the timer callback code was entered, but then a new timer was immediately 62423 scheduled (prior to the callback acquiring the mutex and calling DeleteTimerQueueTimer), 62424 there was a small window where the timer could be re-scheduled via ChangeTimerQueueTimer 62425 and then immediately deleted once the already running callback acquired the mutex and 62426 then called DeleteTimerQueueTimer. This resulted in the newly scheduled timer never firing. 62427 62428 Reviewed by Oliver Hunt. 62429 62430 * platform/win/SharedTimerWin.cpp: 62431 (WebCore::queueTimerProc): Don't delete the timer in the callback. 62432 (WebCore::setSharedTimerFireTime): Always delete and create the timer instead of using ChangeTimerQueueTimer. 62433 (WebCore::stopSharedTimer): Call DeleteTimerQueueTimer directly. 62434 62435 2008-12-12 Kai Brning <kai (a] granus.net> 62436 62437 Reviewed and tweaked by Darin Adler. 62438 62439 - fix https://bugs.webkit.org/show_bug.cgi?id=18205 62440 DOMNode objects are garbage collected although there are strong references 62441 <rdar://problem/6441200> 62442 62443 Fixes resurrection bug for wrapper objects by using an NSMapTable with zeroing weak 62444 memory for the wrapper reference for DOMWrapperCache (DOMInternal.mm), 62445 JSWrapperCache (WebScriptObject.mm) and wrapperCache (DOMRGBColor.mm). 62446 BUILDING_ON_TIGER is used to create a Leopard-only NSMapTable or an old-style 62447 procedural map table for Tiger systems. 62448 62449 No regression tests yet since we don't currently run any tests in GC mode. 62450 62451 * bindings/objc/DOMInternal.h: added WebCore::createWrapperCache for use by all three caches 62452 * bindings/objc/DOMInternal.mm: 62453 (WebCore::createWrapperCache): Contains the compile-time check for map table creation 62454 (WebCore::getDOMWrapper): HashMap -> NSMapTable 62455 (WebCore::addDOMWrapper): ditto 62456 (WebCore::removeDOMWrapper): ditto 62457 * bindings/objc/DOMObject.mm: removed [DOMObject finalize] 62458 * bindings/objc/DOMRGBColor.mm: removed [DOMRGBColor finalize] 62459 (WebCore::getWrapperForRGB): CFMutableDictionaryRef -> NSMapTable 62460 (WebCore::setWrapperForRGB): ditto 62461 (WebCore::removeWrapperForRGB): ditto 62462 * bindings/objc/WebScriptObject.mm: 62463 (WebCore::getJSWrapper): HashMap -> NSMapTable 62464 (WebCore::addJSWrapper): ditto 62465 (WebCore::removeJSWrapper): ditto 62466 (-[WebScriptObject finalize]): removed call of removeJSWrapper() 62467 62468 2008-12-12 Dimitri Glazkov <dglazkov (a] chromium.org> 62469 62470 Reviewed by Alexey Proskuryakov. 62471 62472 https://bugs.webkit.org/show_bug.cgi?id=22813 62473 Remove unused references to JSDOMBinding, CallFrame, and JSLock. 62474 62475 * dom/Node.cpp: Removed CallFrame and JSLock header includes. 62476 * loader/FrameLoader.cpp: Removed JSDOMBinding header include. 62477 62478 2008-12-12 Holger Hans Peter Freyther <zecke (a] selfish.org> 62479 62480 Reviewed by Simon Hausmann. 62481 62482 Update the WebKit.qrc and add a script to automatically generate the file. 62483 62484 With the way rcc and qmake work this can not be done at build time 62485 as the WebKit.qrc must sit inside the directory that contains the files 62486 and at build time we may not change the content of the source directory. 62487 62488 * inspector/front-end/WebKit.qrc: Updated with new script 62489 62490 2008-12-12 Oliver Hunt <oliver (a] apple.com> 62491 62492 Reviewed by Alexey Proskuryakov. 62493 62494 REGRESSION: Canvas is broken in high dpi mode 62495 <rdar://problem/6432739> <https://bugs.webkit.org/show_bug.cgi?id=22823> 62496 62497 Simply made sure that we correctly scale the graphics context to 62498 account for the difference between logical and buffer resolution. 62499 62500 * html/HTMLCanvasElement.cpp: 62501 (WebCore::HTMLCanvasElement::createImageBuffer): 62502 (WebCore::HTMLCanvasElement::baseTransform): 62503 62504 2008-12-12 Tor Arne Vestb <tavestbo (a] trolltech.com> 62505 62506 Rubber-stamped by Oliver Hunt. 62507 62508 Share PluginView::paintMissingPluginIcon() between ports 62509 62510 Also, enable this feature for Qt/X11, Qt/Mac and GTK 62511 62512 * plugins/PluginView.cpp: 62513 (WebCore::PluginView::paintMissingPluginIcon): 62514 * plugins/gtk/PluginViewGtk.cpp: 62515 (WebCore::PluginView::paint): 62516 * plugins/mac/PluginViewMac.cpp: 62517 (WebCore::PluginView::paint): 62518 * plugins/qt/PluginViewQt.cpp: 62519 (WebCore::PluginView::paint): 62520 * plugins/win/PluginViewWin.cpp: 62521 62522 2008-12-12 Tor Arne Vestb <tavestbo (a] trolltech.com> 62523 62524 Reviewed by Simon Hausmann. 62525 62526 [Qt/Mac] Implement PluginView::updatePluginWidget() 62527 62528 We should update the window and clip rect regardless of whether or 62529 not the plugin has been loaded, for example to ensure that the 62530 missing plugin image is placed correctly. 62531 62532 * plugins/mac/PluginViewMac.cpp: 62533 (WebCore::PluginView::setNPWindowIfNeeded): 62534 (WebCore::PluginView::updatePluginWidget): 62535 62536 2008-12-12 Tor Arne Vestb <tavestbo (a] trolltech.com> 62537 62538 Rubber-stamped by Oliver Hunt. 62539 62540 Make PluginView::updatePluginWidget() non-const 62541 62542 We can do this now since frameRectsChanged() is no longer const. This 62543 also allows us to get rid of the mutables in the PluginView. 62544 62545 * platform/qt/TemporaryLinkStubs.cpp: 62546 (PluginView::updatePluginWidget): 62547 * plugins/PluginView.h: 62548 * plugins/gtk/PluginViewGtk.cpp: 62549 (WebCore::PluginView::updatePluginWidget): 62550 * plugins/mac/PluginViewMac.cpp: 62551 (WebCore::PluginView::updatePluginWidget): 62552 * plugins/qt/PluginViewQt.cpp: 62553 (WebCore::PluginView::updatePluginWidget): 62554 * plugins/win/PluginViewWin.cpp: 62555 (WebCore::PluginView::updatePluginWidget): 62556 * plugins/wx/PluginViewWx.cpp: 62557 (WebCore::PluginView::updatePluginWidget): 62558 62559 2008-12-12 Tor Arne Vestb <tavestbo (a] trolltech.com> 62560 62561 Reviewed by Simon Hausmann. 62562 62563 Implement ImageSource::filenameExtension() for the Qt port 62564 62565 We're using QImageReader::imageFormat().toLower() to check 62566 that the image format is supported, and if it is we store 62567 the resulting extension when creating the ImageDecoderQt. 62568 62569 * platform/graphics/qt/ImageDecoderQt.cpp: 62570 (WebCore::ImageDecoderQt::create): 62571 (WebCore::ImageDecoderQt::ImageDecoderQt): 62572 (WebCore::ImageDecoderQt::imageFormat): 62573 * platform/graphics/qt/ImageDecoderQt.h: 62574 * platform/graphics/qt/ImageSourceQt.cpp: 62575 (WebCore::ImageSource::setData): 62576 (WebCore::ImageSource::filenameExtension): 62577 62578 2008-12-11 Stephanie Lewis <slewis (a] apple.com> 62579 62580 Reviewed by Geoff Garen 62581 62582 Account for the size of the response and request headers as well as other overhead 62583 when calculating the size a resource takes up in the cache. Halts unbounded 62584 growth in the cache. Reduced stress test memory high water marks by > 50%. 62585 62586 Uses estimates gathered from the stress test to set the overhead size. 62587 A version of the patch was created that calculated most of the sizes, but it was 62588 decided that the patch was still at a basic level an estimate. What gains it made 62589 in accuracy was offset by the complexity involved in creating and updating the 62590 estimate. 62591 62592 * loader/Cache.cpp: 62593 (WebCore::Cache::resourceAccessed): 62594 (WebCore::Cache::TypeStatistic::addResource): 62595 (WebCore::Cache::dumpLRULists): 62596 * loader/CachedResource.cpp: 62597 (WebCore::CachedResource::overheadSize): 62598 * loader/CachedResource.h: 62599 (WebCore::CachedResource::size): 62600 62601 2008-12-11 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 62602 62603 Reviewed by Holger Freyther. 62604 62605 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22814 62606 62607 Add <wml> image element support. Based on HTML/SVGImage{Element/Loader}, with 62608 the only difference that WML defines a second source attribute 'localsrc', that 62609 takes precedence over the 'src' attribute. If loading the 'localsrc' attribute 62610 fails, the user agent should try loading the 'src' attribute. If both fail the 62611 'alt' fallback content will be used - just like in HTML. 62612 62613 Fixes: fast/wml/img-localsrc.wml (<img> and 'localsrc' attribute) 62614 fast/wml/img-src-localsrc-alt.wml ('localsrc'/'src' fallback handling) 62615 fast/wml/img-src.wml (<img> and 'src' attribute) 62616 62617 * GNUmakefile.am: 62618 * WebCore.vcproj/WebCore.vcproj: 62619 * WebCore.xcodeproj/project.pbxproj: 62620 * rendering/HitTestResult.cpp: 62621 (WebCore::HitTestResult::altDisplayString): 62622 (WebCore::HitTestResult::absoluteImageURL): 62623 * rendering/RenderImage.cpp: 62624 (WebCore::RenderImage::updateAltText): 62625 * wml/WMLImageElement.cpp: Added. 62626 (WebCore::WMLImageElement::WMLImageElement): 62627 (WebCore::WMLImageElement::~WMLImageElement): 62628 (WebCore::WMLImageElement::mapToEntry): 62629 (WebCore::WMLImageElement::parseMappedAttribute): 62630 (WebCore::WMLImageElement::attach): 62631 (WebCore::WMLImageElement::createRenderer): 62632 (WebCore::WMLImageElement::insertedIntoDocument): 62633 (WebCore::WMLImageElement::isURLAttribute): 62634 (WebCore::WMLImageElement::imageSourceAttributeName): 62635 (WebCore::WMLImageElement::altText): 62636 * wml/WMLImageElement.h: Added. 62637 (WebCore::WMLImageElement::useFallbackAttribute): 62638 (WebCore::WMLImageElement::setUseFallbackAttribute): 62639 * wml/WMLImageLoader.cpp: Added. 62640 (WebCore::WMLImageLoader::WMLImageLoader): 62641 (WebCore::WMLImageLoader::~WMLImageLoader): 62642 (WebCore::WMLImageLoader::dispatchLoadEvent): 62643 (WebCore::WMLImageLoader::sourceURI): 62644 (WebCore::WMLImageLoader::notifyFinished): 62645 * wml/WMLImageLoader.h: Added. 62646 * wml/WMLTagNames.in: 62647 62648 2008-12-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 62649 62650 Reviewed by Darin Adler. 62651 62652 https://bugs.webkit.org/show_bug.cgi?id=22043 62653 62654 Do not run into the WebCore::DocumentLoader::updateLoading 62655 ASSERT on Gtk+/CURL when trying to load tests from our LayoutTests. 62656 62657 Do not call setPrimaryLoadComplete when the 62658 activeDocumentLoader has already been replaced. This can happen 62659 when a script executed from within FramerLoader::didFinishLoading will 62660 navigate to another URL. 62661 62662 The assertion is caused by existing tests (e.g. 62663 fast/history/clicked-link-is-visited.html) reproducing this with 62664 network backends not equal to curl is tough or maybe not 62665 even possible. 62666 62667 * loader/DocumentLoader.cpp: 62668 (WebCore::DocumentLoader::setPrimaryLoadComplete): 62669 62670 2008-12-11 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 62671 62672 Reviewed by Eric Seidel. 62673 62674 - Remove some dead, commented-out code from WMLAElement. 62675 - Add missing virtual destructor for <noop>, as suggested by Alexey. 62676 - Refactor addHTMLAlignment in a static helper function to share with WML. 62677 62678 * html/HTMLElement.cpp: 62679 (WebCore::HTMLElement::addHTMLAlignment): 62680 (WebCore::HTMLElement::addHTMLAlignmentToStyledElement): 62681 * html/HTMLElement.h: 62682 * wml/WMLAElement.cpp: 62683 (WebCore::WMLAElement::defaultEventHandler): 62684 * wml/WMLNoopElement.cpp: 62685 (WebCore::WMLNoopElement::~WMLNoopElement): 62686 * wml/WMLNoopElement.h: 62687 62688 2008-12-10 Oliver Hunt <oliver (a] apple.com> 62689 62690 Reviewed by Adele Peterson. 62691 62692 <rdar://problem/6302405> Crash (null-deref) when using :before pseudoselector with content CSS rule in SVG 62693 <https://bugs.webkit.org/show_bug.cgi?id=22804> 62694 62695 This issue was caused by css generated content resulting in non-svg flowboxes 62696 being injected into SVG content. As SVG spec does not describe behaviour in 62697 this case, and neither Opera nor Firefox displays such generated content, so 62698 now we make svg text layout and rendering just ignore any such content. 62699 62700 Test: svg/css/crash-css-generated-content.xhtml 62701 62702 * rendering/SVGRootInlineBox.cpp: 62703 (WebCore::SVGRootInlineBox::buildLayoutInformation): 62704 (WebCore::SVGRootInlineBox::layoutInlineBoxes): 62705 (WebCore::SVGRootInlineBox::buildTextChunks): 62706 62707 2008-12-11 Cameron Zwarich <zwarich (a] apple.com> 62708 62709 Reviewed by Dave Hyatt. 62710 62711 Bug 21256: REGRESSION (r36906): horizontally repeating image leaves ghosts when vertical scrolling 62712 <https://bugs.webkit.org/show_bug.cgi?id=21256> 62713 <rdar://problem/6362978> 62714 62715 The ScrollView refactoring in r36906 caused the ScrollView and the 62716 platform widget to disagree about whether optimizing scrolling via 62717 blitting is allowed. The easiest way to fix this is to make ScrollView 62718 simply ask the platform widget whether this is safe on platforms that 62719 are affected. 62720 62721 It is not possible to write a layout test for this bug because it 62722 involves the back/forward cache. 62723 62724 * platform/ScrollView.cpp: 62725 (WebCore::ScrollView::ScrollView): 62726 (WebCore::ScrollView::setCanBlitOnScroll): 62727 (WebCore::ScrollView::canBlitOnScroll): 62728 (WebCore::ScrollView::platformSetCanBlitOnScroll): 62729 (WebCore::ScrollView::platformCanBlitOnScroll): 62730 * platform/ScrollView.h: 62731 * platform/mac/ScrollViewMac.mm: 62732 (WebCore::ScrollView::platformSetCanBlitOnScroll): 62733 (WebCore::ScrollView::platformCanBlitOnScroll): 62734 * platform/wx/ScrollViewWx.cpp: 62735 (WebCore::ScrollView::platformSetCanBlitOnScroll): 62736 (WebCore::ScrollView::platformCanBlitOnScroll): 62737 62738 2008-12-11 Brent Fulgham <bfulgham (a] gmail.com> 62739 62740 Reviewed by Adam Roben. 62741 62742 https://bugs.webkit.org/show_bug.cgi?id=22808 62743 62744 Correct build break due to malformed XML in Visual Studio project 62745 following @r39205 change. 62746 62747 * WebCore.vcproj/WebCore.vcproj: Correct file entry so project loads. 62748 62749 2008-12-10 Chris Marrin <cmarrin (a] apple.com> 62750 62751 Reviewed by Dave Hyatt. 62752 62753 Fixed https://bugs.webkit.org/show_bug.cgi?id=22738 62754 62755 This gets rid of the per-animation timers which were used when an animation 62756 started, ended and looped. Their job is now done by the main AnimationController's 62757 timer. It is now set to fire as needed. For instance, if there is a delay, it will 62758 fire after the delay time and then every 30ms to run the animation. The start, loop 62759 and end events are generated as needed during the firing of this timer. 62760 62761 I had to add one more bit of code. When animation timers used to fire the animation events. 62762 This would always happen from the RunLoop, so any style changes that happened in the 62763 event handler would get picked up on the next updateRendering() call. But now the start 62764 event is generated during the styleIsAvailable() call, which is in the middle of the 62765 updateRendering() cycle. And calling an event handler in the middle of updateRendering() 62766 is not allowed and causes style changes to get missed. We already have a mechanism in 62767 AnimationController to defer updateRendering() calls. So I added logic to defer all 62768 event handling to there. Now, I put any request for event handling into a list and ask 62769 for a deferred updateRendering() call. When that deferred timer fires, I go through that 62770 list, send all the events and then call updateRendering(). 62771 62772 * page/animation/AnimationBase.cpp: 62773 (WebCore::AnimationBase::AnimationBase): 62774 (WebCore::AnimationBase::updateStateMachine): 62775 (WebCore::AnimationBase::fireAnimationEventsIfNeeded): 62776 (WebCore::AnimationBase::willNeedService): 62777 (WebCore::AnimationBase::goIntoEndingOrLoopingState): 62778 * page/animation/AnimationBase.h: 62779 * page/animation/AnimationController.cpp: 62780 (WebCore::AnimationControllerPrivate::updateAnimationTimer): 62781 (WebCore::AnimationControllerPrivate::updateRenderingDispatcherFired): 62782 (WebCore::AnimationControllerPrivate::addEventToDispatch): 62783 (WebCore::AnimationControllerPrivate::animationTimerFired): 62784 (WebCore::AnimationController::addEventToDispatch): 62785 * page/animation/AnimationController.h: 62786 * page/animation/CompositeAnimation.cpp: 62787 (WebCore::CompositeAnimationPrivate::updateTransitions): 62788 (WebCore::CompositeAnimationPrivate::willNeedService): 62789 (WebCore::CompositeAnimationPrivate::getAnimationForProperty): 62790 (WebCore::CompositeAnimation::willNeedService): 62791 (WebCore::CompositeAnimation::getAnimationForProperty): 62792 * page/animation/CompositeAnimation.h: 62793 * page/animation/ImplicitAnimation.cpp: 62794 (WebCore::ImplicitAnimation::animate): 62795 (WebCore::ImplicitAnimation::onAnimationEnd): 62796 (WebCore::ImplicitAnimation::sendTransitionEvent): 62797 * page/animation/ImplicitAnimation.h: 62798 * page/animation/KeyframeAnimation.cpp: 62799 (WebCore::KeyframeAnimation::animate): 62800 (WebCore::KeyframeAnimation::sendAnimationEvent): 62801 * page/animation/KeyframeAnimation.h: 62802 (WebCore::KeyframeAnimation::setUnanimatedStyle): 62803 62804 2008-12-11 Simon Hausmann <simon.hausmann (a] nokia.com> 62805 62806 Fix the Qt build with an empty filenameExtension() implementation. 62807 62808 * platform/graphics/qt/ImageSourceQt.cpp: 62809 (WebCore::ImageSource::filenameExtension): 62810 62811 2008-12-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 62812 62813 Reviewed by Simon Hausmann. 62814 62815 Fix crash in the cairo implementation of the SVGPaintServer 62816 62817 For SVGFonts the RenderObject can be zero. The existing SVGFont 62818 test cases is exposing this bug. Qt and other ports have fixed 62819 this issue by adding null checks as well. 62820 62821 * svg/graphics/cairo/SVGPaintServerCairo.cpp: 62822 (WebCore::SVGPaintServer::renderPath): 62823 62824 2008-12-11 Holger Freyther <zecke (a] selfish.org> 62825 62826 Reviewed by Simon Hausmann. 62827 62828 https://bugs.webkit.org/show_bug.cgi?id=20953 62829 62830 Make the Qt port follow the Win, Mac, Gtk+ port in regard to Font 62831 handling. FontQt.cpp from now on is only implementing the complex path. Create 62832 FontFallbackListQt.cpp and FontPlatformDataQt.cpp to work within 62833 the framework set by the Font code. 62834 62835 Sharing the Font.cpp implementation allows the Qt port to support 62836 the CSS font faces and SVG fonts. 62837 62838 Split out the Qt4.3 Font handling into FonQt43.cpp to allow to more 62839 easily deprecate it. 62840 62841 This commit is removing a lot of #ifdefs from Font.h as the Qt Font 62842 implementation is now in line with the rest of WebCore. 62843 62844 * WebCore.pro: 62845 * platform/graphics/Font.h: Remove #ifdefs 62846 (WebCore::Font::letterSpacing): 62847 (WebCore::Font::setLetterSpacing): 62848 (WebCore::Font::isPlatformFont): 62849 * platform/graphics/FontFallbackList.h: 62850 * platform/graphics/SimpleFontData.cpp: 62851 (WebCore::SimpleFontData::SimpleFontData): 62852 (WebCore::SimpleFontData::platformGlyphInit): There is no GlyphCache 62853 on Qt, move the initialisation over. 62854 (WebCore::SimpleFontData::~SimpleFontData): 62855 * platform/graphics/SimpleFontData.h: 62856 (WebCore::SimpleFontData::getQtFont): 62857 * platform/graphics/qt/FontCacheQt.cpp: 62858 (WebCore::FontCache::getCachedFontPlatformData): Remove unused parameter 62859 (WebCore::FontCache::releaseFontData): Add to build 62860 * platform/graphics/qt/FontCustomPlatformData.cpp: 62861 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): 62862 (WebCore::FontCustomPlatformData::fontPlatformData): 62863 (WebCore::createFontCustomPlatformData): 62864 * platform/graphics/qt/FontCustomPlatformData.h: 62865 * platform/graphics/qt/FontFallbackListQt.cpp: Added. 62866 (WebCore::FontFallbackList::FontFallbackList): 62867 (WebCore::FontFallbackList::invalidate): 62868 (WebCore::FontFallbackList::releaseFontData): 62869 (WebCore::FontFallbackList::determinePitch): 62870 (WebCore::FontFallbackList::fontDataAt): 62871 (WebCore::FontFallbackList::fontDataForCharacters): 62872 (WebCore::FontFallbackList::setPlatformFont): 62873 * platform/graphics/qt/FontPlatformData.h: 62874 (WebCore::FontPlatformData::font): 62875 (WebCore::FontPlatformData::size): 62876 * platform/graphics/qt/FontPlatformDataQt.cpp: Added. 62877 (WebCore::FontPlatformData::FontPlatformData): 62878 * platform/graphics/qt/FontQt.cpp: 62879 (WebCore::Font::drawComplexText): 62880 (WebCore::Font::floatWidthForComplexText): 62881 (WebCore::Font::offsetForPositionForComplexText): 62882 (WebCore::Font::selectionRectForComplexText): 62883 (WebCore::Font::font): 62884 * platform/graphics/qt/FontQt43.cpp: Added. Moved Qt4.3 code from FontQt.cpp 62885 (WebCore::Font::drawComplexText): 62886 (WebCore::Font::floatWidthForComplexText): 62887 (WebCore::Font::offsetForPositionForComplexText): 62888 (WebCore::Font::selectionRectForComplexText): 62889 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: 62890 (WebCore::GlyphPageTreeNode::pruneTreeCustomFontData): 62891 (WebCore::GlyphPageTreeNode::pruneTreeFontData): 62892 * platform/graphics/qt/SimpleFontDataQt.cpp: 62893 (WebCore::SimpleFontData::determinePitch): 62894 (WebCore::SimpleFontData::containsCharacters): 62895 (WebCore::SimpleFontData::platformInit): 62896 (WebCore::SimpleFontData::platformGlyphInit): 62897 (WebCore::SimpleFontData::platformDestroy): 62898 * platform/qt/RenderThemeQt.cpp: 62899 (WebCore::RenderThemeQt::adjustButtonStyle): Avoid crashes. 62900 62901 2008-12-11 Holger Freyther <zecke (a] selfish.org> 62902 62903 Reviewed by Simon Hausmann. 62904 62905 https://bugs.webkit.org/show_bug.cgi?id=20953 62906 62907 For Qt it is not pratical to have a FontCache and GlyphPageTreeNode 62908 implementation. This is one of the reasons why the Qt port is currently not 62909 using WebCore/platform/graphics/Font.cpp. By allowing to not use 62910 the simple/fast-path the Qt port will be able to use it. 62911 62912 Introduce USE(FONT_FAST_PATH) and define it for every port but the 62913 Qt one. 62914 62915 * platform/graphics/Font.cpp: 62916 (WebCore::Font::drawText): 62917 (WebCore::Font::floatWidth): 62918 (WebCore::Font::selectionRectForText): 62919 (WebCore::Font::offsetForPosition): 62920 * platform/graphics/Font.h: 62921 62922 2008-12-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 62923 62924 Reviewed by Darin Adler. 62925 62926 https://bugs.webkit.org/show_bug.cgi?id=20953 62927 62928 Split out the font fast path from Fast.cpp into FontFastPath.cpp. This 62929 will allow the Qt port to share most of WebCore::Font 62930 implementation but the fast path. Qt does not provide the API to get 62931 individual Glyphs making the fast path hard to support. 62932 62933 62934 * GNUmakefile.am: 62935 * WebCore.vcproj/WebCore.vcproj: 62936 * WebCore.xcodeproj/project.pbxproj: 62937 * WebCoreSources.bkl: 62938 * platform/graphics/Font.cpp: 62939 * platform/graphics/FontFastPath.cpp: Added. 62940 (WebCore::Font::glyphDataForCharacter): 62941 62942 2008-12-11 Robert Carr <racarr (a] svn.gnome.org> 62943 62944 Reviewed by Holger Freyther. 62945 62946 https://bugs.webkit.org/show_bug.cgi?id=22560 62947 62948 Code in PlatformScreenGtk for screenDepth and screenRect can not 62949 assume that the platformWindow for the widget has a valid "window" 62950 member. For example in the case of, a new browser view opening as a 62951 child of a GtkNotebook, but never being switched to, or manually 62952 realized. Solve by using the toplevel window of the widget, rather 62953 than the widget itself. 62954 62955 * platform/gtk/PlatformScreenGtk.cpp: 62956 (WebCore::screenDepth): 62957 (WebCore::screenRect): 62958 62959 2008-12-08 Tor Arne Vestb <tavestbo (a] trolltech.com> 62960 62961 Reviewed by Darin Adler and Holger Freyther. 62962 62963 Make Widget::frameRectsChanged() and overrides non-const 62964 62965 This will hopefully allow us to get rid of some of the mutables in 62966 the classes that react to the callback by changing their own state. 62967 62968 * platform/ScrollView.cpp: 62969 (WebCore::ScrollView::frameRectsChanged): 62970 * platform/ScrollView.h: 62971 * platform/Widget.h: 62972 (WebCore::Widget::frameRectsChanged): 62973 * platform/gtk/ScrollbarGtk.cpp: Remove non-const version since 62974 this was more complex and did the same thing, changed const of 62975 the leftover frameRectsChanged() method. 62976 (ScrollbarGtk::frameRectsChanged): 62977 * platform/gtk/ScrollbarGtk.h: 62978 * plugins/PluginView.cpp: 62979 (WebCore::PluginView::frameRectsChanged): 62980 * plugins/PluginView.h: 62981 62982 2008-12-11 Holger Hans Peter Freyther <zecke (a] selfish.org> 62983 62984 Reviewed and implemented with Tor Arne Vestb. 62985 62986 Reimplement RenderTheme::caretBlinkInterval for Qt. 62987 62988 The QApplication::cursorFlashTime is in milliseconds and describes 62989 the whole cycle while WebCore expects half a cycle. 62990 62991 * platform/qt/RenderThemeQt.cpp: 62992 (WebCore::RenderThemeQt::caretBlinkInterval): 62993 * platform/qt/RenderThemeQt.h: 62994 62995 2008-12-09 Trenton Schulz <trenton.schulz (a] nokia.com> 62996 62997 Reviewed by Tor Arne Vestb. 62998 62999 [Qt/Mac] Don't call HIGetScaleFactor() if we're not on Tiger or better 63000 63001 * plugins/mac/PluginViewMac.cpp: 63002 (WebCore::tigerOrBetter): 63003 (WebCore::PluginView::globalMousePosForPlugin): 63004 63005 2008-12-10 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 63006 63007 Reviewed by Eric Seidel and George Staikos. 63008 63009 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22799 63010 63011 Add WML <template> support. The <template> element is specified at deck-level 63012 and declares a template for all <card> elements in the document. 63013 63014 * GNUmakefile.am: 63015 * WebCore.vcproj/WebCore.vcproj: 63016 * WebCore.xcodeproj/project.pbxproj: 63017 * editing/htmlediting.cpp: 63018 (WebCore::canHaveChildrenForEditing): Treat <do> just like a <button>. 63019 * wml/WMLCardElement.cpp: 63020 (WebCore::WMLCardElement::WMLCardElement): 63021 (WebCore::WMLCardElement::setTemplateElement): 63022 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): 63023 (WebCore::WMLCardElement::handleDeckLevelTaskOverridesIfNeeded): 63024 * wml/WMLCardElement.h: 63025 (WebCore::WMLCardElement::templateElement): 63026 * wml/WMLDoElement.cpp: 63027 (WebCore::WMLDoElement::insertedIntoDocument): 63028 * wml/WMLDocument.cpp: 63029 (WebCore::WMLDocument::finishedParsing): 63030 * wml/WMLErrorHandling.cpp: 63031 (WebCore::errorMessageForErrorCode): 63032 * wml/WMLErrorHandling.h: 63033 (WebCore::): 63034 * wml/WMLEventHandlingElement.cpp: 63035 (WebCore::WMLEventHandlingElement::~WMLEventHandlingElement): 63036 * wml/WMLEventHandlingElement.h: 63037 (WebCore::WMLEventHandlingElement::doElements): 63038 * wml/WMLTagNames.in: 63039 * wml/WMLTemplateElement.cpp: Added. 63040 (WebCore::WMLTemplateElement::WMLTemplateElement): 63041 (WebCore::WMLTemplateElement::~WMLTemplateElement): 63042 (WebCore::WMLTemplateElement::parseMappedAttribute): 63043 (WebCore::WMLTemplateElement::registerTemplatesInDocument): 63044 * wml/WMLTemplateElement.h: Added. 63045 * wml/WMLTimerElement.cpp: 63046 (WebCore::WMLTimerElement::timerFired): 63047 63048 2008-12-09 Dmitry Titov <dimich (a] chromium.org> 63049 63050 Reviewed by Darin Adler. 63051 63052 Fix memory leak - need to call stopActiveDOMObjects 63053 when cached pages get destroyed. 63054 https://bugs.webkit.org/show_bug.cgi?id=22753 63055 63056 * dom/Document.cpp: 63057 (WebCore::Document::detach): 63058 63059 2008-12-10 Alice Liu <alice.liu (a] apple.com> 63060 63061 Manual test for https://bugs.webkit.org/show_bug.cgi?id=20685 63062 63063 Reviewed by Darin Adler. 63064 63065 * manual-tests/drag-image-to-desktop.html: Added. 63066 63067 2008-12-10 Alice Liu <alice.liu (a] apple.com> 63068 63069 fixed https://bugs.webkit.org/show_bug.cgi?id=20685 63070 63071 Reviewed by Darin Adler. 63072 63073 Manual test case is manual-tests/drag-image-to-desktop.html 63074 63075 Added new files to projects 63076 * WebCore.vcproj/WebCore.vcproj: 63077 * WebCore.xcodeproj/project.pbxproj: 63078 63079 * page/DragController.cpp: 63080 (WebCore::DragController::startDrag): 63081 * platform/MIMETypeRegistry.cpp: 63082 (WebCore::initializeSupportedImageMIMETypes): 63083 (WebCore::initializeSupportedImageMIMETypesForEncoding): 63084 63085 These changes add a method to obtain the extension for an image 63086 * platform/graphics/BitmapImage.cpp: 63087 (WebCore::BitmapImage::filenameExtension): 63088 * platform/graphics/BitmapImage.h: 63089 * platform/graphics/Image.h: 63090 (WebCore::Image::filenameExtension): 63091 * platform/graphics/ImageSource.h: 63092 * platform/graphics/cairo/ImageSourceCairo.cpp: 63093 (WebCore::ImageSource::filenameExtension): 63094 * platform/graphics/cg/ImageSourceCG.cpp: 63095 (WebCore::ImageSource::filenameExtension): 63096 63097 These changes added a utility that returns the preferred extension for a UTI 63098 * platform/graphics/cg/ImageSourceCG.h: Added. 63099 * platform/graphics/cg/ImageSourceCGMac.mm: Added. 63100 (WebCore::MIMETypeForImageSourceType): 63101 (WebCore::preferredExtensionForImageSourceType): 63102 * platform/graphics/cg/ImageSourceCGWin.cpp: Added. 63103 (WebCore::MIMETypeForImageSourceType): 63104 (WebCore::preferredExtensionForImageSourceType): 63105 63106 * platform/mac/MIMETypeRegistryMac.mm: 63107 moved getMIMETypeForUTI to ImageSourceCGMac.mm 63108 63109 Ask image for its file extension instead of relying on MIME type and file path 63110 * platform/win/ClipboardWin.cpp: 63111 (WebCore::createGlobalImageFileDescriptor): 63112 63113 Remove extraneous code from getPreferredExtensionForMIMEType. 63114 Also moved getMIMETypeForUTI to ImageSourceCGWin.cpp 63115 * platform/win/MIMETypeRegistryWin.cpp: 63116 (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType): 63117 63118 2008-12-10 Simon Fraser <simon.fraser (a] apple.com> 63119 63120 Reviewed by Antti Koivisto 63121 63122 <rdar://problem/6431224> 63123 63124 When updating the value of a slider, don't mark the parents 63125 as needing layout, because the size of the slider can never 63126 change. This fixes full-page repaints in some cases. 63127 63128 * rendering/RenderSlider.cpp: 63129 (WebCore::RenderSlider::updateFromElement): 63130 63131 2008-12-10 Simon Fraser <simon.fraser (a] apple.com> 63132 63133 Potential build fix. The forward declaration of FloatPoint should 63134 be inside the WebCore namespace. 63135 63136 * platform/graphics/FloatPoint3D.h: 63137 63138 2008-12-10 Simon Fraser <simon.fraser (a] apple.com> 63139 63140 Reviewed by Sam Weinig. 63141 63142 https://bugs.webkit.org/show_bug.cgi?id=22793 63143 63144 Cleanup FloatPoint3D: inline the getters and setters, 63145 fix a potential divide-by-zero in normalize(), and add 63146 a FloatPoint constructor. 63147 63148 * platform/graphics/FloatPoint3D.cpp: 63149 (WebCore::FloatPoint3D::FloatPoint3D): 63150 (WebCore::FloatPoint3D::normalize): 63151 * platform/graphics/FloatPoint3D.h: 63152 (WebCore::FloatPoint3D::x): 63153 (WebCore::FloatPoint3D::setX): 63154 (WebCore::FloatPoint3D::y): 63155 (WebCore::FloatPoint3D::setY): 63156 (WebCore::FloatPoint3D::z): 63157 (WebCore::FloatPoint3D::setZ): 63158 63159 2008-12-09 Julien Chaffraix <jchaffraix (a] webkit.org> 63160 63161 Reviewed by Eric Seidel. 63162 63163 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it 63164 https://bugs.webkit.org/show_bug.cgi?id=22665 63165 63166 - Removed setCreatedByParser from style and link elements. 63167 63168 - Removed XMLTokenizer::eventuallyMarkAsCreatedByParser. 63169 63170 * dom/XMLTokenizer.cpp: 63171 * dom/XMLTokenizer.h: 63172 * dom/XMLTokenizerLibxml2.cpp: 63173 (WebCore::XMLTokenizer::startElementNs): 63174 * dom/XMLTokenizerQt.cpp: 63175 (WebCore::XMLTokenizer::parseStartElement): 63176 * html/HTMLElementFactory.cpp: 63177 (WebCore::linkConstructor): 63178 (WebCore::styleConstructor): 63179 * html/HTMLLinkElement.cpp: 63180 (WebCore::HTMLLinkElement::HTMLLinkElement): 63181 * html/HTMLLinkElement.h: 63182 * html/HTMLStyleElement.cpp: 63183 (WebCore::HTMLStyleElement::HTMLStyleElement): 63184 * html/HTMLStyleElement.h: 63185 * html/HTMLTagNames.in: 63186 * svg/SVGStyleElement.cpp: 63187 (WebCore::SVGStyleElement::SVGStyleElement): 63188 * svg/SVGStyleElement.h: 63189 * svg/svgtags.in: 63190 63191 2008-12-10 Brady Eidson <beidson (a] apple.com> 63192 63193 Reviewed by Darin 63194 63195 https://bugs.webkit.org/show_bug.cgi?id=22194 and <rdar://problem/6388378> - 63196 Dialog when going back to a page from whence you submitted a form 63197 63198 http://trac.webkit.org/changeset/37317 changed the manner in which headers are added to 63199 http requests, which caused the networking layer to have an incomplete set of headers 63200 just before consulting the Policy Delegate. This caused a cache miss and incorrectly made 63201 us believe we'd be resubmitting the form. 63202 63203 * loader/FrameLoader.cpp: 63204 (WebCore::FrameLoader::loadItem): Being careful to maintain the new behavior required by 63205 the Origin header mechanism as discussed in bug 22194, restore the previous behavior of 63206 setting all the headers before the networking layer is asked about the cache lookup. 63207 63208 2008-12-10 Dimitri Glazkov <dglazkov (a] chromium.org> 63209 63210 Reviewed by Timothy Hatcher. 63211 63212 Add back ability to end all profiling via console by invoking profileEnd 63213 with no arguments. 63214 63215 * page/Console.cpp: 63216 (WebCore::Console::profileEnd): Removed title null-checking and 63217 subsequent early exit. 63218 63219 2008-12-10 Pierre-Olivier Latour <pol (a] apple.com> 63220 63221 Reviewed by Darin Adler. 63222 63223 KeyframeAnimation::animate() needs to compute the elapsed animation time 63224 properly taking into account its paused state. 63225 63226 https://bugs.webkit.org/show_bug.cgi?id=22773 63227 63228 Test: animations/animation-drt-api-multiple-keyframes.html 63229 63230 * page/animation/KeyframeAnimation.cpp: 63231 (WebCore::KeyframeAnimation::animate): 63232 63233 2008-12-10 Simon Fraser <simon.fraser (a] apple.com> 63234 63235 Reviewed by Dan Bernstein 63236 63237 Part of 63238 https://bugs.webkit.org/show_bug.cgi?id=22570 63239 63240 Rename methods on RenderLayer for clarity: 63241 clearClipRects -> clearClipRectsIncludingDescendants 63242 clearClipRect -> clearClipRects 63243 63244 * rendering/RenderBox.cpp: 63245 (WebCore::RenderBox::destroy): 63246 * rendering/RenderLayer.cpp: 63247 (WebCore::RenderLayer::updateLayerPosition): 63248 (WebCore::RenderLayer::removeOnlyThisLayer): 63249 (WebCore::RenderLayer::insertOnlyThisLayer): 63250 (WebCore::RenderLayer::clearClipRectsIncludingDescendants): 63251 (WebCore::RenderLayer::clearClipRects): 63252 * rendering/RenderLayer.h: 63253 * rendering/RenderObject.cpp: 63254 (WebCore::RenderObject::styleWillChange): 63255 * rendering/RenderWidget.cpp: 63256 (WebCore::RenderWidget::destroy): 63257 63258 2008-12-10 Kevin Ollivier <kevino (a] theolliviers.com> 63259 63260 wx build fix after the script call stack/frame additions. 63261 63262 * WebCoreSources.bkl: 63263 63264 2008-12-10 Srinivasa Rao M. Hamse <msrinirao (a] gmail.com> 63265 63266 Reviewed by Holger Freyther. 63267 63268 F1-F12 key mappings for WebKit Gtk Port 63269 63270 * platform/gtk/KeyEventGtk.cpp: 63271 (WebCore::windowsKeyCodeForKeyEvent): 63272 63273 2008-12-10 Enrico Ros <enrico.ros (a] m31.com> 63274 63275 Reviewed by Simon Hausmann. 63276 63277 Fix the Qt build when SVG is disabled. A broken dependancy caused 63278 unnecessary rebuilds even with no changes. 63279 63280 * WebCore.pro: fix a broken build dependancy 63281 63282 2008-12-10 Hironori Bono <hbono (a] chromium.org> 63283 63284 Reviewed by Alexey Proskuryakov. 63285 63286 Bug 21820: Unable to enter the Tamil UNICODE Characters via Thamizha Phonetic IME 63287 https://bugs.webkit.org/show_bug.cgi?id=21820 63288 63289 <rdar://problem/5683248> Typing backspace to delete a diacritical mark also deletes the character before (Arabic) 63290 <rdar://problem/5702038> Backspace removes Thai Character in wrong sequence 63291 63292 Tests: editing/deleting/delete-ligature-001.html 63293 editing/deleting/delete-ligature-002.html 63294 editing/deleting/delete-ligature-003.html 63295 63296 * editing/TypingCommand.cpp: 63297 (WebCore::TypingCommand::deleteKeyPressed): Delete only the last character 63298 of a ligature which consists of multiple Unicode characters when deleting it with 63299 a backspace key. 63300 63301 2008-12-10 David Levin <levin (a] chromium.org> 63302 63303 Reviewed by Alexey Proskuryakov. 63304 63305 https://bugs.webkit.org/show_bug.cgi?id=22177 63306 Fix the windows build by removing calls to notifyFormStateChanged 63307 where they didn't appear in the original reviewed patch. 63308 63309 * html/HTMLInputElement.cpp: 63310 (WebCore::HTMLInputElement::type): 63311 (WebCore::HTMLInputElement::attach): 63312 63313 2008-12-09 Adam Barth <abarth (a] webkit.org> 63314 63315 Reviewed by Sam Weinig. 63316 63317 Add ScriptController::updateSecurityOrigin to notify the bindings 63318 that a document's securityOrigin has been updated. This is used by 63319 V8 to update its security context. 63320 63321 * bindings/js/ScriptController.cpp: 63322 (WebCore::ScriptController::updateSecurityOrigin): 63323 * bindings/js/ScriptController.h: 63324 * dom/Document.cpp: 63325 (WebCore::Document::setDomain): 63326 63327 2008-12-09 Eric Seidel <eric (a] webkit.org> 63328 63329 No review, build fix only. 63330 63331 Fix a few config issues to let the Chromium Windows WebCore build get further. 63332 63333 * WebCore.scons: 63334 63335 2008-12-09 Brett Wilson <brettw (a] chromium.org> 63336 63337 Reviewed by Dave Hyatt. 63338 63339 https://bugs.webkit.org/show_bug.cgi?id=22177 63340 63341 Add a callback on ChromeClient that the state of form elements on 63342 the page has changed. This is to allow clients implementing session 63343 saving to know when the current state is dirty. 63344 63345 * html/HTMLInputElement.cpp: 63346 (WebCore::notifyFormStateChanged): 63347 (WebCore::HTMLInputElement::setInputType): 63348 (WebCore::HTMLInputElement::type): 63349 (WebCore::HTMLInputElement::attach): 63350 (WebCore::HTMLInputElement::setValue): 63351 (WebCore::HTMLInputElement::setValueFromRenderer): 63352 (WebCore::HTMLInputElement::setFileListFromRenderer): 63353 * html/HTMLSelectElement.cpp: 63354 (WebCore::HTMLSelectElement::setSelectedIndex): 63355 * html/HTMLTextAreaElement.cpp: 63356 (WebCore::notifyFormStateChanged): 63357 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): 63358 (WebCore::HTMLTextAreaElement::updateValue): 63359 (WebCore::HTMLTextAreaElement::setValue): 63360 * loader/EmptyClients.h: 63361 (WebCore::EmptyChromeClient::formStateDidChange): 63362 * page/ChromeClient.h: 63363 63364 2008-12-09 Sam Weinig <sam (a] webkit.org> 63365 63366 Reviewed by Darin Adler. 63367 63368 https://bugs.webkit.org/show_bug.cgi?id=19762 63369 63370 Fix intermittent crash in buildbot. The CSSCursorImageValues and 63371 SVGCursorElements held onto raw SVGElement pointers without any 63372 guarantee that the element is still around. 63373 63374 We did not fix the design that resulted in this issue, we just fixed 63375 the pointer lifetimes. 63376 63377 * css/CSSCursorImageValue.cpp: 63378 (WebCore::CSSCursorImageValue::~CSSCursorImageValue): Zero out the back pointers. 63379 (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed): Set up a back pointer. 63380 (WebCore::CSSCursorImageValue::removeReferencedElement): Added. Used when the element 63381 is destroyed. 63382 * css/CSSCursorImageValue.h: Added removeReferencedElement. 63383 63384 * svg/SVGCursorElement.cpp: 63385 (WebCore::SVGCursorElement::~SVGCursorElement): Zero out the back pointers. 63386 (WebCore::SVGCursorElement::addClient): Set up a back pointer. 63387 (WebCore::SVGCursorElement::removeClient): Zero out the back pointer. 63388 63389 * svg/SVGElement.cpp: 63390 (WebCore::SVGElement::SVGElement): Initialize back pointers to zero. 63391 (WebCore::SVGElement::~SVGElement): Call both the element and cursor image value 63392 to remove the element from their sets. 63393 * svg/SVGElement.h: 63394 (WebCore::SVGElement::setCursorElement): Added. 63395 (WebCore::SVGElement::setCursorImageValue): Added. 63396 63397 2008-12-09 David Hyatt <hyatt (a] apple.com> 63398 63399 Add code that will create custom CSS scrollbars from the <body>, the document element (<html>) and the owning 63400 frame/iframe. If any of them set a custom style, it will be used. The scrollbars do not update dynamically 63401 yet as you switch from page to page (until they are destroyed and recreated). 63402 63403 Reviewed by Adele 63404 63405 * page/FrameView.cpp: 63406 (WebCore::FrameView::createScrollbar): 63407 63408 2008-12-09 Ojan Vafai <ojan (a] chromium.org> 63409 63410 Reviewed by Dave Hyatt. 63411 63412 https://bugs.webkit.org/show_bug.cgi?id=22689 63413 Match Firefox button metrics on Windows. 63414 63415 * rendering/RenderButton.cpp: 63416 (WebCore::RenderButton::addChild): 63417 (WebCore::RenderButton::styleDidChange): 63418 (WebCore::RenderButton::setupInnerStyle): 63419 * rendering/RenderButton.h: 63420 * rendering/RenderTheme.cpp: 63421 (WebCore::RenderTheme::adjustButtonInnerStyle): 63422 * rendering/RenderTheme.h: 63423 * rendering/RenderThemeWin.cpp: 63424 (WebCore::RenderThemeWin::adjustSliderThumbSize): 63425 (WebCore::RenderThemeWin::adjustButtonInnerStyle): 63426 * rendering/RenderThemeWin.h: 63427 63428 2008-12-09 Darin Fisher <darin (a] chromium.org> 63429 63430 Fixes bustages. 63431 63432 https://bugs.webkit.org/show_bug.cgi?id=22631 63433 Adding missing files from previous commit. 63434 63435 * bindings/js/ScriptCallFrame.cpp: Added. 63436 (WebCore::ScriptCallFrame::ScriptCallFrame): 63437 (WebCore::ScriptCallFrame::~ScriptCallFrame): 63438 (WebCore::ScriptCallFrame::argumentAt): 63439 * bindings/js/ScriptCallFrame.h: Added. 63440 (WebCore::ScriptCallFrame::functionName): 63441 (WebCore::ScriptCallFrame::sourceURL): 63442 (WebCore::ScriptCallFrame::lineNumber): 63443 (WebCore::ScriptCallFrame::argumentCount): 63444 * bindings/js/ScriptCallStack.cpp: Added. 63445 (WebCore::ScriptCallStack::ScriptCallStack): 63446 (WebCore::ScriptCallStack::~ScriptCallStack): 63447 (WebCore::ScriptCallStack::at): 63448 (WebCore::ScriptCallStack::size): 63449 (WebCore::ScriptCallStack::initialize): 63450 * bindings/js/ScriptCallStack.h: Added. 63451 (WebCore::ScriptCallStack::state): 63452 63453 2008-12-09 Dimitri Glazkov <dglazkov (a] chromium.org> 63454 63455 Reviewed by Timothy Hatcher. 63456 63457 https://bugs.webkit.org/show_bug.cgi?id=22631 63458 Streamline Console.cpp, abstract out the use of JSC::ExecState and 63459 JSC::ArgList by introducing ScriptCallFrame and ScriptCallStack 63460 abstractions. 63461 63462 * GNUmakefile.am: Added ScriptCallFrame and ScriptCallStack to build 63463 * WebCore.pro: Added ScriptCallFrame and ScriptCallStack to build 63464 * WebCore.vcproj/WebCore.vcproj: Added ScriptCallFrame and 63465 ScriptCallStack to project 63466 * WebCore.xcodeproj/project.pbxproj: Added ScriptCallFrame and 63467 ScriptCallStack to project 63468 * bindings/js/JSConsoleCustom.cpp: Remove custom bindings. 63469 * bindings/js/ScriptCallFrame.cpp: Added. 63470 (WebCore::ScriptCallFrame::ScriptCallFrame): 63471 (WebCore::ScriptCallFrame::~ScriptCallFrame): 63472 (WebCore::ScriptCallFrame::argumentAt): 63473 * bindings/js/ScriptCallFrame.h: Added. 63474 (WebCore::ScriptCallFrame::functionName): 63475 (WebCore::ScriptCallFrame::sourceURL): 63476 (WebCore::ScriptCallFrame::lineNumber): 63477 (WebCore::ScriptCallFrame::argumentCount): 63478 * bindings/js/ScriptCallStack.cpp: Added. 63479 (WebCore::ScriptCallStack::ScriptCallStack): 63480 (WebCore::ScriptCallStack::~ScriptCallStack): 63481 (WebCore::ScriptCallStack::at): 63482 (WebCore::ScriptCallStack::size): 63483 (WebCore::ScriptCallStack::initialize): 63484 * bindings/js/ScriptCallStack.h: Added. 63485 (WebCore::ScriptCallStack::ScriptCallStack): 63486 (WebCore::ScriptCallStack::~ScriptCallStack): 63487 (WebCore::ScriptCallStack::state): 63488 (WebCore::ScriptCallStack::at): 63489 (WebCore::ScriptCallStack::size): 63490 (WebCore::ScriptCallStack::initialize): 63491 * bindings/js/ScriptString.h: Added missing PlatformString include. 63492 (WebCore::ScriptString::ScriptString): Added default constructor. 63493 (WebCore::ScriptString::operator==): Added equality operator. 63494 (WebCore::ScriptString::operator!=): 63495 * bindings/js/ScriptValue.cpp: Added isNull and isUndefined. 63496 (WebCore::ScriptValue::isNull): 63497 (WebCore::ScriptValue::isUndefined): 63498 * bindings/js/ScriptValue.h: Added isNull and isUndefined 63499 * bindings/scripts/CodeGeneratorJS.pm: Add handling for 63500 CustomArgumentHandling attribute. 63501 * inspector/InspectorController.cpp: Refactored to use 63502 ScriptCallFrame and ScriptCallStack. 63503 (WebCore::ConsoleMessage::ConsoleMessage): 63504 (WebCore::InspectorController::addMessageToConsole): 63505 (WebCore::InspectorController::startGroup): 63506 (WebCore::InspectorController::addScriptConsoleMessage): 63507 (WebCore::InspectorController::count): 63508 (WebCore::InspectorController::startTiming): 63509 (WebCore::InspectorController::stopTiming): 63510 * inspector/InspectorController.h: Refactored to use ScriptCallFrame and 63511 ScriptCallStack. 63512 * inspector/front-end/Console.js: Modified to use argument value itself 63513 rather than f.name for stack trace. 63514 * page/Console.cpp: Refactored to use ScriptCallFrame and 63515 ScriptCallStack. 63516 (WebCore::getFirstArgumentAsString): 63517 (WebCore::Console::addMessage): 63518 (WebCore::Console::debug): 63519 (WebCore::Console::error): 63520 (WebCore::Console::info): 63521 (WebCore::Console::log): 63522 (WebCore::Console::dir): 63523 (WebCore::Console::dirxml): 63524 (WebCore::Console::trace): 63525 (WebCore::Console::assertCondition): 63526 (WebCore::Console::count): 63527 (WebCore::Console::profile): 63528 (WebCore::Console::profileEnd): 63529 (WebCore::Console::time): 63530 (WebCore::Console::timeEnd): 63531 (WebCore::Console::group): 63532 (WebCore::Console::warn): 63533 * page/Console.h: 63534 * page/Console.idl: Removed Custom attributes, added 63535 CustomArgumentHandling attributes, and tweaked argument defs. 63536 63537 2008-12-09 Darin Adler <darin (a] apple.com> 63538 63539 Try to fix non-Mac builds. 63540 63541 * GNUmakefile.am: Added NavigatorBase. 63542 * WebCore.pro: Ditto. 63543 * WebCore.scons: Ditto. 63544 * WebCore.vcproj/WebCore.vcproj: Ditto. 63545 * WebCoreSources.bkl: Ditto. 63546 63547 Unrelated tweak sitting in my tree. 63548 63549 * bindings/objc/DOMAbstractView.mm: Remove pointless override of finalize method. 63550 63551 2008-12-09 Darin Adler <darin (a] apple.com> 63552 63553 Try to fix Tiger build. 63554 63555 * platform/network/mac/NetworkStateNotifierMac.cpp: Declare CFRunLoopGetMain. 63556 63557 2008-12-09 Alexey Proskuryakov <ap (a] webkit.org> 63558 63559 Reviewed by Darin Adler. 63560 63561 https://bugs.webkit.org/show_bug.cgi?id=22719 63562 Implement Navigator object in Workers 63563 63564 Test: fast/workers/worker-navigator.html 63565 63566 * DerivedSources.make: 63567 * GNUmakefile.am: 63568 * WebCore.pro: 63569 * WebCore.vcproj/WebCore.vcproj: 63570 * WebCore.xcodeproj/project.pbxproj: 63571 Added WorkerNavigator sources. 63572 63573 * bindings/js/JSWorkerContext.cpp: (WebCore::jsWorkerContextNavigator): 63574 Worker.navigator returns a WoerkerNavigator object (it is named just Navigator in the spec, 63575 but it is not the same interface that is available on Windows). 63576 63577 * dom/Worker.cpp: 63578 (WebCore::Worker::notifyFinished): 63579 * dom/WorkerContext.cpp: 63580 (WebCore::WorkerContext::WorkerContext): 63581 (WebCore::WorkerContext::navigator): 63582 * dom/WorkerContext.h: 63583 (WebCore::WorkerContext::create): 63584 * dom/WorkerThread.cpp: 63585 (WebCore::WorkerThread::create): 63586 (WebCore::WorkerThread::WorkerThread): 63587 (WebCore::WorkerThread::workerThread): 63588 * dom/WorkerThread.h: 63589 Pass a pre-computed user agent string into worker, because it cannot call a client method 63590 directly, and pre-computing is easier than sending a synchronous message to the main thread. 63591 63592 * page/Navigator.cpp: 63593 * page/Navigator.h: 63594 * page/NavigatorBase.cpp: Added. 63595 * page/NavigatorBase.h: Added. 63596 Factor out common (and uncommon, but very similar) functionality into a base class. 63597 63598 * page/WorkerNavigator.cpp: Added. 63599 * page/WorkerNavigator.h: Added. 63600 * page/WorkerNavigator.idl: Added. 63601 Per Web Workers and HTML5, implement a small subset of what we currently have in Window.Navigator. 63602 63603 * platform/network/NetworkStateNotifier.cpp: (WebCore::networkStateNotifier): 63604 Make networkStateNotifier() static constructor thread safe. The object is created on the 63605 thread it is first called from, while callbacks are registered on the main thread. Calls to 63606 onLine() from other threads are safe, because it is just loading a boolean. 63607 63608 * platform/network/mac/NetworkStateNotifierMac.cpp: (WebCore::NetworkStateNotifier::NetworkStateNotifier): 63609 Schedule notifications on main event loop, not the current one. 63610 63611 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 63612 63613 Rubber-stamped by Alexey Proskuryakov. 63614 63615 Forgot to update Qt/WML build - add some new files to the build. 63616 63617 * WebCore.pro: 63618 63619 2008-12-09 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 63620 63621 Reviewed by Alexey Proskuryakov. 63622 63623 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22637 63624 63625 Implement the GET method for WMLGoElement, and some test covering it's behaviour. 63626 Update all build systems supporting WML that haven't been updated since a while. 63627 63628 Add WMLPostField stub implementation, needed for implementing POST method. 63629 63630 Tests: wml/go-task-get-method-external-deck-with-href.html 63631 wml/go-task-get-method-external-deck.html 63632 wml/go-task-get-method-same-deck.html 63633 63634 * GNUmakefile.am: 63635 * WebCore.vcproj/WebCore.vcproj: 63636 * WebCore.xcodeproj/project.pbxproj: 63637 * dom/Document.cpp: 63638 (WebCore::Document::resetWMLPageState): 63639 * wml/WMLCardElement.cpp: 63640 * wml/WMLCardElement.h: 63641 * wml/WMLEventHandlingElement.cpp: 63642 (WebCore::WMLCardElement::registerDoElement): 63643 * wml/WMLEventHandlingElement.h: 63644 * wml/WMLGoElement.cpp: 63645 (WebCore::WMLGoElement::WMLGoElement): 63646 (WebCore::WMLGoElement::registerPostfieldElement): 63647 (WebCore::WMLGoElement::parseMappedAttribute): 63648 (WebCore::WMLGoElement::executeTask): 63649 (WebCore::WMLGoElement::parseContentType): 63650 (WebCore::WMLGoElement::preparePOSTRequest): 63651 (WebCore::WMLGoElement::prepareGETRequest): 63652 * wml/WMLGoElement.h: 63653 * wml/WMLPostfieldElement.cpp: Added. 63654 (WebCore::WMLPostfieldElement::WMLPostfieldElement): 63655 (WebCore::WMLPostfieldElement::parseMappedAttribute): 63656 (WebCore::WMLPostfieldElement::insertedIntoDocument): 63657 * wml/WMLPostfieldElement.h: Added. 63658 (WebCore::WMLPostfieldElement::name): 63659 (WebCore::WMLPostfieldElement::value): 63660 * wml/WMLTagNames.in: 63661 63662 2008-12-08 Peter Kasting <pkasting (a] google.com> 63663 63664 Reviewed by Anders Carlsson. 63665 63666 https://bugs.webkit.org/show_bug.cgi?id=16814 63667 Allow ports to disable ActiveX->NPAPI conversion for Media Player. 63668 Improve handling of miscellaneous ActiveX objects. 63669 63670 * rendering/RenderPartObject.cpp: 63671 (WebCore::mapClassIdToServiceType): 63672 (WebCore::shouldUseChildEmbedOfObject): 63673 (WebCore::RenderPartObject::updateWidget): 63674 63675 2008-12-08 Darin Adler <darin (a] apple.com> 63676 63677 Reviewed by John Sullivan. 63678 63679 - fix https://bugs.webkit.org/show_bug.cgi?id=22409 63680 REGRESSION: cmd-shift-left/right don't switch tabs, instead select text 63681 63682 Tests: editing/execCommand/enabling-and-selection-2.html 63683 editing/execCommand/enabling-and-selection.html 63684 63685 * editing/EditorCommand.cpp: Updated table to use these functions by their new names. 63686 (WebCore::enabledVisibleSelection): Renamed this to reflect its new algorithm. 63687 An invisible selection with a position that selects no characters doesn't count 63688 as a visible selection. 63689 (WebCore::enabledVisibleSelectionAndMark): Ditto. 63690 63691 2008-12-08 David Kilzer <ddkilzer (a] apple.com> 63692 63693 Remove duplicate entries from WebCore project. 63694 63695 Reviewed by Eric Seidel. 63696 63697 Bug 22555: Sort "children" sections in Xcode project files. 63698 <https://bugs.webkit.org/show_bug.cgi?id=22555> 63699 63700 Recipe for removing duplicates: 63701 $ ./WebKitTools/Scripts/sort-Xcode-project-file project.pbxproj 63702 $ uniq < project.pbxproj | diff -u project.pbxproj - | patch -p0 project.pbxproj 63703 63704 * WebCore.xcodeproj/project.pbxproj: Removed duplicates. 63705 63706 2008-12-08 Julien Chaffraix <jchaffraix (a] webkit.org> 63707 63708 Reviewed by Darin Adler. 63709 63710 Bug 22665: Remove setCreatedByParser(bool) from the few elements that use it 63711 https://bugs.webkit.org/show_bug.cgi?id=22665 63712 63713 Remove setCreatedByParser from the script elements (HTML and SVG). 63714 63715 * dom/XMLTokenizer.cpp: 63716 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): Removed 63717 call to setCreatedByParser for the 2 elements. 63718 63719 * dom/make_names.pl: Modified to call the constructor with 63720 the createByParser parameter if 'constructorNeedsCreatedByParser' 63721 is set. 63722 63723 * html/HTMLElementFactory.cpp: 63724 (WebCore::scriptConstructor): 63725 * html/HTMLScriptElement.cpp: 63726 (WebCore::HTMLScriptElement::HTMLScriptElement): 63727 * html/HTMLScriptElement.h: 63728 * html/HTMLTagNames.in: Added constructorNeedsCreatedByParser 63729 to script. 63730 * svg/SVGScriptElement.cpp: 63731 (WebCore::SVGScriptElement::SVGScriptElement): 63732 * svg/SVGScriptElement.h: 63733 * svg/svgtags.in: Added constructorNeedsCreatedByParser 63734 to script. 63735 63736 2008-12-08 David Kilzer <ddkilzer (a] apple.com> 63737 63738 Bug 22555: Sort "children" sections in Xcode project files 63739 63740 <https://bugs.webkit.org/show_bug.cgi?id=22555> 63741 63742 Reviewed by Eric Seidel. 63743 63744 * WebCore.xcodeproj/project.pbxproj: Sorted. 63745 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: Sorted. 63746 63747 2008-12-08 Tony Chang <tony (a] chromium.org> 63748 63749 Reviewed by Eric Seidel. 63750 63751 Add a bool to GraphicsContext so that shadows can ignore 63752 transformations. This is needed by HTML canvas element 63753 where the spec says shadows are applied w/o transformations. 63754 https://bugs.webkit.org/show_bug.cgi?id=22580 63755 63756 No functional changes, thus no tests. 63757 63758 * html/CanvasRenderingContext2D.cpp: 63759 (WebCore::CanvasRenderingContext2D::setShadow): 63760 (WebCore::CanvasRenderingContext2D::applyShadow): 63761 * html/HTMLCanvasElement.cpp: 63762 (WebCore::HTMLCanvasElement::createImageBuffer): 63763 * platform/graphics/GraphicsContext.cpp: 63764 (WebCore::GraphicsContext::setShadowsIgnoreTransforms): 63765 * platform/graphics/GraphicsContext.h: 63766 * platform/graphics/GraphicsContextPrivate.h: 63767 (WebCore::GraphicsContextState::GraphicsContextState): 63768 * platform/graphics/cg/GraphicsContextCG.cpp: 63769 (WebCore::GraphicsContext::setPlatformShadow): 63770 63771 2008-12-08 Julien Chaffraix <jchaffraix (a] webkit.org> 63772 63773 Reviewed by Darin Adler. 63774 63775 Bug 17897: Not Rendering Images Imported from XHTML Document 63776 <rdar://problem/5827614> 63777 63778 When we were loading document with XMLHttpRequest that contained images, the images 63779 would not be fetched as they would not be displayed. However if we inserted such 63780 an image element into a rendered document, we would not fetch the image and thus never 63781 display it. 63782 63783 Now we check if the image has been loaded when we insert an HTMLImageElement into a 63784 document. 63785 To enable this, the image loader has an error flag. To avoid doing several attempts 63786 when we know that the image is in error, we store the failed URL. 63787 However Firefox and Opera ignore errors when the 'src' attribute changes and thus 63788 we also have an updateFromElementIgnoringPreviousError to match the other browser. 63789 63790 Tests: http/tests/misc/image-blocked-src-change.html 63791 http/tests/misc/image-blocked-src-no-change.html 63792 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded-svg.svg 63793 http/tests/xmlhttprequest/xmlhttprequest-image-not-loaded.html 63794 63795 * html/HTMLEmbedElement.cpp: 63796 (WebCore::HTMLEmbedElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError. 63797 * html/HTMLImageElement.cpp: 63798 (WebCore::HTMLImageElement::parseMappedAttribute): Ditto. 63799 (WebCore::HTMLImageElement::insertedIntoDocument): Call updateFromElement if we do not have 63800 an image. 63801 63802 * html/HTMLInputElement.cpp: 63803 (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call updateFromElementIgnoringPreviousError. 63804 * html/HTMLObjectElement.cpp: 63805 (WebCore::HTMLObjectElement::parseMappedAttribute): Ditto. 63806 * html/HTMLVideoElement.cpp: 63807 (WebCore::HTMLVideoElement::parseMappedAttribute): Ditto. 63808 * loader/ImageLoader.cpp: 63809 (WebCore::ImageLoader::setImage): Added an assertion. 63810 (WebCore::ImageLoader::updateFromElement): Added a check for load error (to avoid displaying 63811 multiple errors in the console for a single image load). 63812 63813 (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): This method clears previous error 63814 before calling updateFromElement. 63815 63816 (WebCore::ImageLoader::notifyFinished): Added an assertion. 63817 * loader/ImageLoader.h: 63818 * svg/SVGImageElement.cpp: 63819 (WebCore::SVGImageElement::svgAttributeChanged): Changed to call updateFromElementIgnoringPreviousError. 63820 63821 2008-12-08 David Hyatt <hyatt (a] apple.com> 63822 63823 Make scrollbar creation virtual on ScrollView so that FrameView can have the capability to create 63824 custom CSS scrollbars. 63825 63826 Reviewed by Eric Seidel 63827 63828 * page/FrameView.cpp: 63829 (WebCore::FrameView::createScrollbar): 63830 * page/FrameView.h: 63831 * platform/ScrollView.cpp: 63832 (WebCore::ScrollView::setHasHorizontalScrollbar): 63833 (WebCore::ScrollView::setHasVerticalScrollbar): 63834 (WebCore::ScrollView::createScrollbar): 63835 * platform/ScrollView.h: 63836 63837 2008-12-08 Dan Bernstein <mitz (a] apple.com> 63838 63839 Reviewed by John Sullivan. 63840 63841 - WebCore part of tracking the global history item for a WebView 63842 63843 * loader/FrameLoader.cpp: 63844 (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Set the page's 63845 global history item to the current back/forward list item, respecting 63846 private browsing mode. 63847 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Ditto in this 63848 case. 63849 (WebCore::FrameLoader::goToItem): Ditto in this case. 63850 (WebCore::FrameLoader::updateHistoryForStandardLoad): If this load 63851 creates a new global history item, set the page's global history item 63852 to it. 63853 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): 63854 Ditto. 63855 * page/Page.cpp: 63856 (WebCore::Page::setGlobalHistoryItem): Added this setter. 63857 * page/Page.h: Added a m_globalHistoryItem data member. 63858 (WebCore::Page::globalHistoryItem): Added this getter. 63859 63860 2008-12-08 Antti Koivisto <antti (a] apple.com> 63861 63862 Reviewed by Dave Kilzer. 63863 63864 A few stylistic fixes suggested by Dave Kilzer. 63865 63866 * css/CSSPrimitiveValue.cpp: 63867 (WebCore::CSSPrimitiveValue::createIdentifier): 63868 (WebCore::CSSPrimitiveValue::create): 63869 63870 2008-12-08 Alexey Proskuryakov <ap (a] webkit.org> 63871 63872 Reviewed by Darin Adler. 63873 63874 https://bugs.webkit.org/show_bug.cgi?id=22737 63875 Try debug version when locating CFNetwork 63876 63877 * platform/network/cf/ResourceRequestCFNet.cpp: 63878 (WebCore::findCFNetworkModule): 63879 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): 63880 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction): 63881 * platform/network/win/CookieJarCFNetWin.cpp: 63882 (WebCore::findCFNetworkModule): 63883 (WebCore::findIsHTTPOnlyFunction): 63884 63885 2008-12-08 Aaron Boodman <aa (a] chromium.org> 63886 63887 Reviewed by Stephanie Lewis. 63888 63889 https://bugs.webkit.org/show_bug.cgi?id=22301 63890 Make dispatchDidFinishLoading() always fire before didFinishLoadForFrame(). 63891 63892 * loader/FrameLoader.cpp: 63893 (WebCore::FrameLoader::finishedParsing): 63894 63895 2008-12-08 Trenton Schulz <trenton.schulz (a] nokia.com> 63896 63897 Rubber-stamped by Tor Arne Vestb. 63898 63899 Fix build warning on Mac 63900 63901 * platform/text/mac/StringImplMac.mm: 63902 63903 2008-12-08 Simon Hausmann <simon.hausmann (a] nokia.com> 63904 63905 Fix the Qt build. 63906 63907 * bridge/qt/qt_runtime.cpp: 63908 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData to RegExp 63909 constructor. 63910 63911 2008-12-08 Oliver Hunt <oliver (a] apple.com> 63912 63913 Reviewed by Alexey Proskuryakov. 63914 63915 Bug 22398: r39059: Crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler 63916 <rdar://problem/6426245> REGRESSION(r39059): Reproducible crash when clearing webkitTransitionDuration in webkitTransitionEnd event handler (22398) 63917 63918 This regression was caused by r39059 replacing the protector on the active 63919 animation with a protector on just the composition. It turns out that both 63920 protectors are necessary. 63921 63922 Test: transitions/transition-duration-cleared-in-transitionend-crash.html 63923 63924 * page/animation/AnimationBase.cpp: 63925 (WebCore::AnimationBase::animationTimerCallbackFired): 63926 63927 2008-12-08 Dmitry Titov <dimich (a] chromium.org> 63928 63929 Reviewed by Alexey Proskuryakov. 63930 63931 https://bugs.webkit.org/show_bug.cgi?id=22732 63932 Remove unused files PausedTimeouts.h,.cpp 63933 The change that deprecated this code was https://bugs.webkit.org/show_bug.cgi?id=22620 63934 63935 * GNUmakefile.am: 63936 * WebCore.pro: 63937 * WebCore.scons: 63938 * WebCore.vcproj/WebCore.vcproj: 63939 * WebCore.xcodeproj/project.pbxproj: 63940 * WebCoreSources.bkl: 63941 These are build files which had PausedTimeouts referenced. 63942 63943 * bindings/js/PausedTimeouts.cpp: Removed. 63944 * bindings/js/PausedTimeouts.h: Removed. 63945 * bindings/js/ScriptController.cpp: Removed '#include' 63946 * page/Chrome.cpp: Removed '#include' and unused variable. 63947 63948 2008-12-07 Simon Fraser <simon.fraser (a] apple.com> 63949 63950 Reviewed by Dan Bernstein 63951 63952 https://bugs.webkit.org/show_bug.cgi?id=22594 63953 63954 Fix issues which break reading inline style for -webkit-transition 63955 and -webkit-transform-origin. 63956 63957 Test: fast/css/transform-inline-style.html 63958 63959 * css/CSSMutableStyleDeclaration.cpp: 63960 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Add cases 63961 for CSSPropertyWebkitTransformOrigin and CSSPropertyWebkitTransition 63962 so that these shorthand properties are returned correctly. 63963 * css/CSSParser.cpp: 63964 (WebCore::CSSParser::parseAnimationProperty): Create CSSPrimitiveValues 63965 with the correct CSSValueAll and CSSValueNone identifiers, not the 63966 RenderStyle-level cAnimateAll, cAnimateNone. 63967 * css/CSSStyleSelector.cpp: 63968 (WebCore::CSSStyleSelector::mapAnimationProperty): Special-case CSSValueAll 63969 and CSSValueNone values to set cAnimateAll and cAnimateNone transition properties. 63970 63971 2008-12-07 Antti Koivisto <antti (a] apple.com> 63972 63973 Reviewed by Darin Adler. 63974 63975 https://bugs.webkit.org/show_bug.cgi?id=22717 63976 Make CSS values use less memory 63977 63978 Share CSSPrimitiveValue objects for commonly used values including 63979 - idents 63980 - colors 63981 - small integers 63982 63983 This reduces the amount CSSPrimitiveValue instances by > 80%. 63984 63985 * css/CSSPrimitiveValue.cpp: 63986 (WebCore::CSSPrimitiveValue::createIdentifier): 63987 (WebCore::CSSPrimitiveValue::createColor): 63988 (WebCore::CSSPrimitiveValue::create): 63989 * css/CSSPrimitiveValue.h: 63990 (WebCore::CSSPrimitiveValue::create): 63991 63992 2008-12-07 Antti Koivisto <antti (a] apple.com> 63993 63994 Reviewed by Darin Adler. 63995 63996 https://bugs.webkit.org/show_bug.cgi?id=22717 63997 Make CSS values use less memory 63998 63999 Get CSSValues off from the common StyleBase base class. They don't 64000 need a parent pointer or anything else there and there is no real 64001 reason to have them in same data structures with other CSSOM objects. 64002 64003 Disabled (instead of refactoring around the lack of common base) the ability 64004 to have style declaration blocks as CSS variable values. They don't exist in 64005 the spec so I wasn't sure if they have future or not. It would not be hard to 64006 get them back. CSS variables are in any case an experimental feature and 64007 not enabled by default. 64008 64009 * css/CSSInitialValue.h: 64010 (WebCore::CSSInitialValue::createExplicit): 64011 (WebCore::CSSInitialValue::createImplicit): 64012 * css/CSSParser.cpp: 64013 (WebCore::CSSParser::addVariableDeclarationBlock): 64014 * css/CSSParser.h: 64015 * css/CSSValue.h: 64016 (WebCore::CSSValue::~CSSValue): 64017 (WebCore::CSSValue::parserValue): 64018 * css/CSSVariablesDeclaration.cpp: 64019 (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration): 64020 (WebCore::CSSVariablesDeclaration::getVariableValue): 64021 (WebCore::CSSVariablesDeclaration::removeVariable): 64022 (WebCore::CSSVariablesDeclaration::addParsedVariable): 64023 (WebCore::CSSVariablesDeclaration::getParsedVariable): 64024 (WebCore::CSSVariablesDeclaration::getParsedVariableDeclarationBlock): 64025 * css/CSSVariablesDeclaration.h: 64026 (WebCore::CSSVariablesDeclaration::create): 64027 * css/StyleBase.h: 64028 64029 2008-12-07 Dirk Schulze <krit (a] webkit.org> 64030 64031 Reviewed by Oliver Hunt. 64032 64033 Add gradient and pattern support for strokeRect on canvas/Cg. 64034 64035 Canvas strokeRect() doesn't support gradients 64036 https://bugs.webkit.org/show_bug.cgi?id=19790 64037 64038 Test: fast/canvas/canvas-strokeRect.html 64039 64040 * platform/graphics/cg/GraphicsContextCG.cpp: 64041 (WebCore::GraphicsContext::strokeRect): 64042 64043 2008-12-06 Dirk Schulze <krit (a] webkit.org> 64044 64045 Reviewed by Oliver Hunt. 64046 64047 Add support for setTransform() in canvas. 64048 64049 <canvas> lacks transform() and setTransform() 64050 https://bugs.webkit.org/show_bug.cgi?id=16604 64051 64052 Test: fast/canvas/canvas-setTransform.html 64053 64054 * html/CanvasRenderingContext2D.cpp: 64055 (WebCore::CanvasRenderingContext2D::State::State): 64056 (WebCore::CanvasRenderingContext2D::setStrokeStyle): 64057 (WebCore::CanvasRenderingContext2D::setFillStyle): 64058 (WebCore::CanvasRenderingContext2D::scale): 64059 (WebCore::CanvasRenderingContext2D::rotate): 64060 (WebCore::CanvasRenderingContext2D::translate): 64061 (WebCore::CanvasRenderingContext2D::transform): 64062 (WebCore::CanvasRenderingContext2D::setTransform): 64063 (WebCore::CanvasRenderingContext2D::beginPath): 64064 (WebCore::CanvasRenderingContext2D::closePath): 64065 (WebCore::CanvasRenderingContext2D::moveTo): 64066 (WebCore::CanvasRenderingContext2D::lineTo): 64067 (WebCore::CanvasRenderingContext2D::quadraticCurveTo): 64068 (WebCore::CanvasRenderingContext2D::bezierCurveTo): 64069 (WebCore::CanvasRenderingContext2D::arcTo): 64070 (WebCore::CanvasRenderingContext2D::arc): 64071 (WebCore::CanvasRenderingContext2D::rect): 64072 (WebCore::CanvasRenderingContext2D::fill): 64073 (WebCore::CanvasRenderingContext2D::stroke): 64074 (WebCore::CanvasRenderingContext2D::clip): 64075 (WebCore::CanvasRenderingContext2D::isPointInPath): 64076 (WebCore::CanvasRenderingContext2D::clearRect): 64077 (WebCore::CanvasRenderingContext2D::fillRect): 64078 (WebCore::CanvasRenderingContext2D::strokeRect): 64079 (WebCore::CanvasRenderingContext2D::drawImage): 64080 (WebCore::CanvasRenderingContext2D::drawImageFromRect): 64081 (WebCore::CanvasRenderingContext2D::willDraw): 64082 (WebCore::CanvasRenderingContext2D::drawTextInternal): 64083 * html/CanvasRenderingContext2D.h: 64084 * html/CanvasRenderingContext2D.idl: 64085 * html/HTMLCanvasElement.cpp: 64086 (WebCore::HTMLCanvasElement::baseTransform): 64087 * html/HTMLCanvasElement.h: 64088 * platform/graphics/ImageBuffer.h: 64089 (WebCore::ImageBuffer::baseTransform): 64090 64091 2008-12-06 Antti Koivisto <antti (a] apple.com> 64092 64093 Reviewed by Darin Adler. 64094 64095 Also copy m_implicit field. Darin wanted this change commited separately. 64096 64097 * css/CSSProperty.h: 64098 (WebCore::CSSProperty::operator=): 64099 64100 2008-12-06 Antti Koivisto <antti (a] apple.com> 64101 64102 Reviewed by Darin Adler. 64103 64104 https://bugs.webkit.org/show_bug.cgi?id=22379 64105 Make CSSOM use less memory 64106 64107 Use vector instead of a double linked list for properties in CSSMutableStyleDeclaration. 64108 64109 Taught setter functions to use existing slots to avoid memory moves, plus some 64110 other optimizations. 64111 64112 * WebCore.xcodeproj/project.pbxproj: 64113 * css/CSSMutableStyleDeclaration.cpp: 64114 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): 64115 (WebCore::CSSMutableStyleDeclaration::operator=): 64116 (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue): 64117 (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty): 64118 (WebCore::CSSMutableStyleDeclaration::removeProperty): 64119 (WebCore::CSSMutableStyleDeclaration::getPropertyPriority): 64120 (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand): 64121 (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit): 64122 (WebCore::CSSMutableStyleDeclaration::setProperty): 64123 (WebCore::CSSMutableStyleDeclaration::setPropertyInternal): 64124 (WebCore::CSSMutableStyleDeclaration::setStringProperty): 64125 (WebCore::CSSMutableStyleDeclaration::setImageProperty): 64126 (WebCore::CSSMutableStyleDeclaration::parseDeclaration): 64127 (WebCore::CSSMutableStyleDeclaration::addParsedProperties): 64128 (WebCore::CSSMutableStyleDeclaration::addParsedProperty): 64129 (WebCore::CSSMutableStyleDeclaration::setLengthProperty): 64130 (WebCore::CSSMutableStyleDeclaration::length): 64131 (WebCore::CSSMutableStyleDeclaration::item): 64132 (WebCore::CSSMutableStyleDeclaration::cssText): 64133 (WebCore::CSSMutableStyleDeclaration::setCssText): 64134 (WebCore::CSSMutableStyleDeclaration::merge): 64135 (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet): 64136 (WebCore::CSSMutableStyleDeclaration::copy): 64137 (WebCore::CSSMutableStyleDeclaration::findPropertyWithId): 64138 * css/CSSMutableStyleDeclaration.h: 64139 (WebCore::CSSMutableStyleDeclarationConstIterator::operator*): 64140 (WebCore::CSSMutableStyleDeclarationConstIterator::operator->): 64141 (WebCore::CSSMutableStyleDeclarationConstIterator::operator!=): 64142 (WebCore::CSSMutableStyleDeclarationConstIterator::operator==): 64143 (WebCore::CSSMutableStyleDeclaration::create): 64144 (WebCore::CSSMutableStyleDeclaration::begin): 64145 (WebCore::CSSMutableStyleDeclaration::end): 64146 (WebCore::CSSMutableStyleDeclarationConstIterator::CSSMutableStyleDeclarationConstIterator): 64147 (WebCore::CSSMutableStyleDeclarationConstIterator::~CSSMutableStyleDeclarationConstIterator): 64148 (WebCore::CSSMutableStyleDeclarationConstIterator::operator=): 64149 (WebCore::CSSMutableStyleDeclarationConstIterator::operator++): 64150 (WebCore::CSSMutableStyleDeclarationConstIterator::operator--): 64151 * css/CSSProperty.h: 64152 (WTF::): 64153 * css/CSSStyleDeclaration.cpp: 64154 (WebCore::CSSStyleDeclaration::diff): 64155 (WebCore::CSSStyleDeclaration::copyPropertiesInSet): 64156 * css/CSSStyleSelector.cpp: 64157 (WebCore::CSSStyleSelector::resolveVariablesForDeclaration): 64158 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 64159 (WebCore::CSSStyleSelector::applyDeclarations): 64160 * dom/EventTarget.h: 64161 * editing/ApplyStyleCommand.cpp: 64162 (WebCore::StyleChange::init): 64163 (WebCore::ApplyStyleCommand::isHTMLStyleNode): 64164 (WebCore::ApplyStyleCommand::removeHTMLFontStyle): 64165 (WebCore::ApplyStyleCommand::removeCSSStyle): 64166 * editing/Editor.cpp: 64167 (WebCore::Editor::selectionStartHasStyle): 64168 (WebCore::updateState): 64169 * editing/ReplaceSelectionCommand.cpp: 64170 (WebCore::ReplaceSelectionCommand::handleStyleSpans): 64171 * editing/markup.cpp: 64172 (WebCore::appendStartMarkup): 64173 64174 2008-12-06 Simon Fraser <simon.fraser (a] apple.com> 64175 64176 Reviewed by Antti Koivisto, Dan Bernstein 64177 64178 https://bugs.webkit.org/show_bug.cgi?id=22088 64179 64180 Fix logic related to repainting when transform changes: 64181 If an object has a layer, and the transform changes, then we need 64182 to do a repaintIncludingDescendants(), not just a repaint. 64183 64184 Test: fast/repaint/transform-repaint-descendants.html 64185 64186 * rendering/RenderObject.cpp: 64187 (WebCore::RenderObject::styleWillChange): 64188 64189 2008-12-06 Simon Fraser <simon.fraser (a] apple.com> 64190 64191 Reviewed by Dan Bernstein 64192 64193 https://bugs.webkit.org/show_bug.cgi?id=15739 64194 64195 When painting the selection on a replaced element, paint 64196 using local coordinates so that the selection is correctly 64197 painted for transformed elements. 64198 64199 Test: fast/replaced/selection-rect-transform.html 64200 64201 * rendering/RenderReplaced.cpp: 64202 (WebCore::RenderReplaced::paint): 64203 64204 2008-12-06 Simon Fraser <simon.fraser (a] apple.com> 64205 64206 Reviewed by Dave Hyatt 64207 64208 https://bugs.webkit.org/show_bug.cgi?id=15671 64209 64210 Fix caret rendering to behave correctly with transforms: 64211 * Rename caretRect() methods to localCaretRect() and 64212 absoluteCaretBounds() as appropriate 64213 * Fix localCaretRect() methods to return a rect in the 64214 appropriate coordinates. 64215 * Pass tx, ty down through the paintCaret() methods, after fixing them 64216 up to account for differences between contents coords, and renderer-local 64217 coords (via RenderBlock::offsetForContents()). 64218 * Remove m_caretPositionOnLayout from SelectionController, and instead 64219 call invalidateSelection() from RenderLayer::scrollToOffset(), because 64220 we can no longer assume simple x/y offsets from scrolling with transforms. 64221 * Move the logic to compute which RenderObject actually paints the caret into 64222 SelectionController::caretRenderer(), rather than having it in RenderBlock. 64223 * SelectionController now computes and caches a local caret rect. For invalidation, 64224 it computes the absolute bounds of that (possibly transformed) local rect. 64225 The local rect is computed in the coordinate system of the RenderObject that 64226 will paint the caret (this may require offsetting from the actual renderer 64227 at the start of the selection). 64228 * Fix LayoutState(RenderObject* root) to take transforms into account 64229 * Make offsetFromContainer() a virtual method on RenderObject, and implement 64230 the RenderObject version. It's used to map from selection start renderer 64231 to caret renderer. 64232 64233 Test: fast/transforms/transformed-caret.html 64234 64235 * WebCore.base.exp: 64236 * editing/DeleteSelectionCommand.cpp: 64237 (WebCore::DeleteSelectionCommand::mergeParagraphs): 64238 * editing/SelectionController.cpp: 64239 (WebCore::SelectionController::SelectionController): 64240 (WebCore::absoluteCaretY): 64241 (WebCore::SelectionController::modify): 64242 (WebCore::SelectionController::xPosForVerticalArrowNavigation): 64243 (WebCore::SelectionController::layout): 64244 (WebCore::SelectionController::caretRenderer): 64245 (WebCore::SelectionController::localCaretRect): 64246 (WebCore::SelectionController::absoluteCaretBounds): 64247 (WebCore::SelectionController::caretRepaintRect): 64248 (WebCore::SelectionController::recomputeCaretRect): 64249 (WebCore::SelectionController::invalidateCaretRect): 64250 (WebCore::SelectionController::paintCaret): 64251 (WebCore::SelectionController::caretRendersInsideNode): 64252 * editing/SelectionController.h: 64253 * editing/VisiblePosition.cpp: 64254 (WebCore::VisiblePosition::localCaretRect): 64255 (WebCore::VisiblePosition::absoluteCaretBounds): 64256 (WebCore::VisiblePosition::xOffsetForVerticalNavigation): 64257 * editing/VisiblePosition.h: 64258 * editing/mac/SelectionControllerMac.mm: 64259 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 64260 * html/HTMLElement.cpp: 64261 (WebCore::HTMLElement::isContentEditable): 64262 * page/AccessibilityRenderObject.cpp: 64263 (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange): 64264 * page/Frame.cpp: 64265 (WebCore::Frame::firstRectForRange): 64266 (WebCore::Frame::selectionLayoutChanged): 64267 (WebCore::Frame::paintCaret): 64268 (WebCore::Frame::paintDragCaret): 64269 (WebCore::Frame::revealSelection): 64270 (WebCore::Frame::revealCaret): 64271 * page/Frame.h: 64272 * rendering/LayoutState.cpp: 64273 (WebCore::LayoutState::LayoutState): 64274 * rendering/RenderBlock.cpp: 64275 (WebCore::RenderBlock::paintCaret): 64276 (WebCore::RenderBlock::paintObject): 64277 (WebCore::RenderBlock::positionForCoordinates): 64278 (WebCore::RenderBlock::offsetForContents): 64279 * rendering/RenderBlock.h: 64280 * rendering/RenderBox.cpp: 64281 (WebCore::RenderBox::localCaretRect): 64282 * rendering/RenderBox.h: 64283 * rendering/RenderFlow.cpp: 64284 (WebCore::RenderFlow::localCaretRect): 64285 * rendering/RenderFlow.h: 64286 * rendering/RenderLayer.cpp: 64287 (WebCore::RenderLayer::scrollToOffset): 64288 * rendering/RenderObject.cpp: 64289 (WebCore::RenderObject::localCaretRect): 64290 * rendering/RenderObject.h: 64291 * rendering/RenderSVGInlineText.cpp: 64292 (WebCore::RenderSVGInlineText::localCaretRect): 64293 * rendering/RenderSVGInlineText.h: 64294 * rendering/RenderText.cpp: 64295 (WebCore::RenderText::RenderText): 64296 (WebCore::RenderText::localCaretRect): 64297 * rendering/RenderText.h: 64298 64299 2008-12-06 David Kilzer <ddkilzer (a] apple.com> 64300 64301 Bug 22711: Current svn (build 39065) fails to compile 64302 64303 <https://bugs.webkit.org/show_bug.cgi?id=22711> 64304 64305 BUILD FIX for r39065: Forgot parentheses after "document". 64306 64307 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives 64308 <https://bugs.webkit.org/show_bug.cgi?id=22666> 64309 64310 * svg/SVGFEImageElement.cpp: 64311 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Changed 64312 document to document(). 64313 64314 2008-12-06 Dmitry Titov <dimich (a] chromium.org> 64315 64316 Reviewed by Alexey Proskuryakov. 64317 64318 https://bugs.webkit.org/show_bug.cgi?id=22710 64319 Memory leak due to circular reference Document->DOMTimer->ScheduledAction->[JS objects]->Document 64320 64321 * bindings/js/DOMTimer.cpp: 64322 (WebCore::DOMTimer::stop): Delete ScheduledAction, which contains a protected object. 64323 64324 2008-12-06 David Kilzer <ddkilzer (a] apple.com> 64325 64326 Bug 22666: Clean up data structures used when collecting URLs of subresources for webarchives 64327 64328 <https://bugs.webkit.org/show_bug.cgi?id=22666> 64329 64330 Reviewed by Darin Adler. 64331 64332 When creating a webarchive from WebCore::LegacyWebArchive::create(), 64333 HashSet<String>, Vector<KURL> and Vector<String> were all used to 64334 store a list of URLs for resources found in the document. Instead 64335 use a single ListHashSet<KURL> to store the list and resolve the 64336 relative URLs as they're added. We use a new inline method called 64337 WebCore::addSubresourceURL() to add KURL objects to the ListHashSet 64338 to prevent "null" KURL objects from crashing in the KURL hashing 64339 function. 64340 64341 * WebCore.base.exp: Changed export of 64342 WebCore::Node::getSubresourceURLs() to take a ListHashSet<KURL> 64343 argument instead of a Vector<KURL>. 64344 64345 * WebCore.xcodeproj/project.pbxproj: Marked KURLHash.h as a private 64346 header for use in WebKit. 64347 64348 * css/CSSStyleSheet.cpp: 64349 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Renamed from 64350 addSubresourceURLStrings(). Changed to use ListHashSet<KURL> 64351 instead of HashSet<String>. Cleaned up code. 64352 * css/CSSStyleSheet.h: 64353 (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Ditto. 64354 * css/StyleSheet.h: 64355 (WebCore::StyleSheet::addSubresourceStyleURLs): Ditto. 64356 64357 * dom/Node.cpp: 64358 (WebCore::Node::getSubresourceURLs): Changed to use 64359 ListHashSet<KURL> instead of Vector<KURL>. Cleaned up code. 64360 * dom/Node.h: 64361 (WebCore::Node::getSubresourceURLs): Ditto. 64362 (WebCore::Node::addSubresourceAttributeURLs): Renamed from 64363 getSubresourceAttributeStrings(). Changed to use ListHashSet<KURL> 64364 instead of Vector<String>. 64365 (WebCore::addSubresourceURL): Added. Safely adds new KURL objects 64366 to a ListHashSet<KURL> object. A "null" KURL object will cause the 64367 hash function to crash since it contains a null StringImpl. Used in 64368 Node::addSubresourceAttributeURLs() and addSubresourceStyleURLs() in 64369 the style subsystem. 64370 64371 * dom/ProcessingInstruction.cpp: 64372 (WebCore::ProcessingInstruction::addSubresourceAttributeURLs): 64373 Renamed from getSubresourceAttributeStrings(). Changed to use 64374 ListHashSet<KURL> instead of Vector<String>. Use 64375 WebCore::addSubresourceURL() to add new KURL objects. 64376 * dom/ProcessingInstruction.h: Ditto. 64377 * html/HTMLBodyElement.cpp: 64378 (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): Ditto. 64379 * html/HTMLBodyElement.h: Ditto. 64380 * html/HTMLEmbedElement.cpp: 64381 (WebCore::HTMLEmbedElement::addSubresourceAttributeURLs): Ditto. 64382 * html/HTMLEmbedElement.h: Ditto. 64383 * html/HTMLImageElement.cpp: 64384 (WebCore::HTMLImageElement::addSubresourceAttributeURLs): Ditto. 64385 * html/HTMLImageElement.h: Ditto. 64386 * html/HTMLInputElement.cpp: 64387 (WebCore::HTMLInputElement::addSubresourceAttributeURLs): Ditto. 64388 * html/HTMLInputElement.h: Ditto. 64389 * html/HTMLLinkElement.cpp: 64390 (WebCore::HTMLLinkElement::addSubresourceAttributeURLs): Ditto. 64391 * html/HTMLLinkElement.h: Ditto. 64392 * html/HTMLObjectElement.cpp: 64393 (WebCore::HTMLObjectElement::addSubresourceAttributeURLs): Ditto. 64394 * html/HTMLObjectElement.h: Ditto. 64395 * html/HTMLParamElement.cpp: 64396 (WebCore::HTMLParamElement::addSubresourceAttributeURLs): Ditto. 64397 * html/HTMLParamElement.h: Ditto. 64398 * html/HTMLScriptElement.cpp: 64399 (WebCore::HTMLScriptElement::addSubresourceAttributeURLs): Ditto. 64400 * html/HTMLScriptElement.h: Ditto. 64401 * html/HTMLStyleElement.cpp: 64402 (WebCore::HTMLStyleElement::addSubresourceAttributeURLs): Ditto. 64403 * html/HTMLStyleElement.h: Ditto. 64404 * html/HTMLTableCellElement.cpp: 64405 (WebCore::HTMLTableCellElement::addSubresourceAttributeURLs): Ditto. 64406 * html/HTMLTableCellElement.h: Ditto. 64407 * html/HTMLTableElement.cpp: 64408 (WebCore::HTMLTableElement::addSubresourceAttributeURLs): Ditto. 64409 * html/HTMLTableElement.h: Ditto. 64410 64411 * loader/archive/cf/LegacyWebArchive.cpp: 64412 (WebCore::LegacyWebArchive::create): Changed from using 64413 HashSet<String> to ListHashSet<KURL> for tracking unique 64414 subresources. Changed from using Vector<KURL> to ListHashSet<KURL> 64415 when calling WebCore::Node::getSubresourceURLs(). Cleaned up code. 64416 64417 * svg/SVGCursorElement.cpp: 64418 (WebCore::SVGCursorElement::addSubresourceAttributeURLs): Renamed 64419 from getSubresourceAttributeStrings(). Changed to use 64420 ListHashSet<KURL> instead of Vector<String>. Use 64421 WebCore::addSubresourceURL() to add new KURL objects. 64422 * svg/SVGCursorElement.h: Ditto. 64423 * svg/SVGFEImageElement.cpp: 64424 (WebCore::SVGFEImageElement::addSubresourceAttributeURLs): Ditto. 64425 * svg/SVGFEImageElement.h: Ditto. 64426 * svg/SVGImageElement.cpp: 64427 (WebCore::SVGImageElement::addSubresourceAttributeURLs): Ditto. 64428 * svg/SVGImageElement.h: Ditto. 64429 * svg/SVGScriptElement.cpp: 64430 (WebCore::SVGScriptElement::addSubresourceAttributeURLs): Ditto. 64431 * svg/SVGScriptElement.h: Ditto. 64432 64433 2008-12-05 Brett Wilson <brettw (a] chromium.org> 64434 64435 Reviewed by Darin Adler. 64436 64437 Make the page group use the proper link hashing functions rather than 64438 calling the string hash functions directly. Add Chromium-specfic ifdefs 64439 in the visited link computation functions to allow integration. 64440 64441 * page/PageGroup.cpp: 64442 (WebCore::PageGroup::isLinkVisited): 64443 (WebCore::PageGroup::addVisitedLink): 64444 * platform/LinkHash.cpp: 64445 (WebCore::visitedLinkHash): 64446 * platform/LinkHash.h: 64447 64448 2008-12-05 Chris Marrin <cmarrin (a] apple.com> 64449 64450 Reviewed by Dave Hyatt. 64451 64452 Fix for https://bugs.webkit.org/show_bug.cgi?id=22635 64453 For iteration and end events, previous fixes to prevent the deletion of 64454 Animation objects (ref counting and hanging onto a ref during event callbacks) 64455 was sufficient to prevent dangling pointers. But start events are sent in 64456 the styleAvailable() call, which iterates over CompositeAnimation objects, 64457 which are not ref counted. So that object can get destroyed in the event 64458 handler while still active. So I added refcounting for CompositeAnimations. 64459 64460 Additionally, when am iterating over the CompositingAnimation list, it can 64461 be deleted, which mutates the list. So I now make one pass over the list 64462 building a vector of CompositeAnimation objects that need to be called and 64463 then iterate over that vector to make the actual calls. 64464 64465 Finally, to make sure the lifetime of the CompositeAnimation exceeds that of 64466 the Animation objects it owns, I now keep a ref to the CompositeAnimation 64467 in the timer callback for the iteration and end events. That means I no 64468 longer need to keep a ref to the Animation objects themselves in that timer 64469 callback, since the CompositeAnimation already has one. 64470 64471 Tests: animations/animation-iteration-event-destroy-renderer.html 64472 animations/animation-start-event-destroy-renderer.html 64473 64474 * page/animation/AnimationBase.cpp: 64475 (WebCore::AnimationBase::updateStateMachine): 64476 (WebCore::AnimationBase::animationTimerCallbackFired): 64477 * page/animation/AnimationController.cpp: 64478 (WebCore::AnimationControllerPrivate::~AnimationControllerPrivate): 64479 (WebCore::AnimationControllerPrivate::accessCompositeAnimation): 64480 (WebCore::AnimationControllerPrivate::clear): 64481 (WebCore::AnimationControllerPrivate::styleAvailable): 64482 (WebCore::AnimationControllerPrivate::updateAnimationTimer): 64483 (WebCore::AnimationControllerPrivate::animationTimerFired): 64484 (WebCore::AnimationControllerPrivate::isAnimatingPropertyOnRenderer): 64485 (WebCore::AnimationControllerPrivate::suspendAnimations): 64486 (WebCore::AnimationControllerPrivate::resumeAnimations): 64487 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): 64488 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): 64489 (WebCore::AnimationController::updateAnimations): 64490 (WebCore::AnimationController::setAnimationStartTime): 64491 (WebCore::AnimationController::setTransitionStartTime): 64492 * page/animation/CompositeAnimation.cpp: 64493 (WebCore::CompositeAnimationPrivate::animationController): 64494 (WebCore::CompositeAnimationPrivate::isWaitingForStyleAvailable): 64495 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate): 64496 (WebCore::CompositeAnimationPrivate::clearRenderer): 64497 (WebCore::CompositeAnimation::clearRenderer): 64498 (WebCore::CompositeAnimation::animationController): 64499 (WebCore::CompositeAnimation::isWaitingForStyleAvailable): 64500 * page/animation/CompositeAnimation.h: 64501 (WebCore::CompositeAnimation::create): 64502 64503 2008-12-05 David Kilzer <ddkilzer (a] apple.com> 64504 64505 Bug 22609: Provide a build-time choice when generating hash tables for properties of built-in DOM objects 64506 64507 <https://bugs.webkit.org/show_bug.cgi?id=22609> 64508 <rdar://problem/6331749> 64509 64510 Reviewed by Darin Adler. 64511 64512 Initial patch by Yosen Lin. Adapted for ToT WebKit by David Kilzer. 64513 64514 Added back the code that generates a "compact" hash (instead of a 64515 perfect hash) as a build-time option using the 64516 ENABLE(PERFECT_HASH_SIZE) macro as defined in Lookup.h. 64517 64518 * bindings/scripts/CodeGeneratorJS.pm: 64519 (GenerateImplementation): Compute the number of elements that will 64520 be stored in each hash table and pass it to GenerateHashTable(). 64521 (GenerateHashTable): Added new second parameter representing the 64522 number of elements to store in the compact hash table. Added back 64523 code to compute compact hash tables. Generate both hash table sizes 64524 and emit conditionalized code based on ENABLE(PERFECT_HASH_SIZE). 64525 64526 2008-12-05 Brett Wilson <brettw (a] chromium.org> 64527 64528 Fix build bustage from previous patch. 64529 64530 * css/CSSSelector.h: 64531 64532 2008-12-05 Brett Wilson <brettw (a] chromium.org> 64533 64534 Reviewed by Eric Seidel. 64535 64536 Add a missing include for OwnPtr to make CSSSelector compile without 64537 precompiled headers. 64538 64539 * css/CSSSelector.h: 64540 64541 2008-12-05 Finnur Thorarinsson <finnur.webkit (a] gmail.com> 64542 64543 Reviewed by Darin Adler. 64544 64545 Bug 22579: Providing a function to ScrollbarClient.h which allows us to get at the tickmarks 64546 without relying on high-level WebCore types, as requested by Dave Hyatt. 64547 64548 No functional changes, thus no test cases. 64549 64550 * page/FrameView.cpp: 64551 (WebCore::FrameView::getTickmarks): 64552 * page/FrameView.h: 64553 * platform/ScrollbarClient.h: 64554 64555 2008-12-05 Dean Jackson <dino (a] apple.com> 64556 64557 Reviewed by David Hyatt. 64558 64559 Make sure Window event listeners also tell the 64560 Document about the event type, so noisy events 64561 will be dispatched even if nothing in the document 64562 is listening. 64563 https://bugs.webkit.org/show_bug.cgi?id=20572 64564 64565 * dom/Document.cpp: 64566 (WebCore::Document::addWindowEventListener): 64567 64568 2008-12-05 Adam Roben <aroben (a] apple.com> 64569 64570 Windows build fix after r39026 64571 64572 * platform/network/cf/ResourceRequestCFNet.cpp: 64573 (WebCore::ResourceRequest::doUpdatePlatformRequest): 64574 (WebCore::ResourceRequest::doUpdateResourceRequest): 64575 Add some missing .get()s. 64576 64577 2008-12-05 Alexey Proskuryakov <ap (a] webkit.org> 64578 64579 Tiger build fix. 64580 64581 * platform/network/mac/ResourceRequestMac.mm: Define NSUInteger. 64582 64583 2008-12-05 Alexey Proskuryakov <ap (a] webkit.org> 64584 64585 Reviewed by Darin Adler. 64586 64587 <rdar://problem/6405599> Tiger Mail crashes when using "Mail Contents of This Page" 64588 in Safari before opening a mail message in Mail 64589 64590 * platform/mac/WebCoreObjCExtras.mm: 64591 (WebCoreObjCFinalizeOnMainThread): 64592 Don't call initializeThreading: we now expect the caller to do it, to simplify keeping 64593 Tiger and post-Tiger behavior in line. 64594 64595 * bindings/objc/DOMRGBColor.mm: 64596 (+[DOMRGBColor initialize]): 64597 * bindings/objc/WebScriptObject.mm: 64598 (+[WebScriptObject initialize]): 64599 * page/mac/AccessibilityObjectWrapper.mm: 64600 (+[AccessibilityObjectWrapper initialize]): 64601 * platform/mac/SharedBufferMac.mm: 64602 (+[WebCoreSharedBufferData initialize]): 64603 Call JSC::initializeThreading(); 64604 64605 2008-12-05 Alexey Proskuryakov <ap (a] webkit.org> 64606 64607 Reviewed by Darin Adler. 64608 64609 <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled 64610 64611 * platform/network/ResourceRequestBase.cpp: 64612 (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray): 64613 * platform/network/ResourceRequestBase.h: 64614 * platform/network/cf/ResourceRequestCFNet.cpp: 64615 (WebCore::findCFURLRequestSetContentDispositionEncodingFallbackArrayFunction): 64616 (WebCore::findCFURLRequestCopyContentDispositionEncodingFallbackArrayFunction): 64617 (WebCore::setContentDispositionEncodingFallbackArray): 64618 (WebCore::copyContentDispositionEncodingFallbackArray): 64619 (WebCore::ResourceRequest::doUpdatePlatformRequest): 64620 (WebCore::ResourceRequest::doUpdateResourceRequest): 64621 * platform/network/mac/ResourceRequestMac.mm: 64622 (WebCore::ResourceRequest::doUpdateResourceRequest): 64623 (WebCore::ResourceRequest::doUpdatePlatformRequest): 64624 Added a way to specify encoding fallback list for Content-Disposition header. 64625 64626 * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Generate and 64627 pass a list of encodings to try when decoding Content-Disposition header, as described 64628 in comments. 64629 64630 2008-12-05 Alexey Proskuryakov <ap (a] webkit.org> 64631 64632 Reviewed by Darin Adler. 64633 64634 https://bugs.webkit.org/show_bug.cgi?id=22672 64635 ASSERT(m_table) when xhr.onabort creates another xhr or calls setTimeout 64636 64637 Test: http/tests/xmlhttprequest/send-on-abort.html 64638 64639 * dom/ScriptExecutionContext.cpp: 64640 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): 64641 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): 64642 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): 64643 (WebCore::ScriptExecutionContext::stopActiveDOMObjects): 64644 Add a comment explaining that ActiveDOMObject methods shouldn't execute arbitrary JS. 64645 64646 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::stop): Don't dispatch events. This 64647 reverts a recent change that made the behavior slightly closer to Firefox - but the 64648 compatibility effect should be very minor if any, and Firefox itself behaves inconsistently. 64649 64650 2008-12-05 Tobias Knig <tobias.koenig (a] nokia.com> 64651 64652 Reviewed by Simon Hausmann. 64653 64654 Record required package dependencies for the Qt build for a correct 64655 pkg-config file. 64656 64657 * WebCore.pro: 64658 64659 2008-12-05 Tor Arne Vestb <tavestbo (a] trolltech.com> 64660 64661 Rubber-stamped by Simon Hausmann. 64662 64663 [Qt/Mac] Blacklist QuickTime plugin until we support the QuickDraw drawing model 64664 64665 * plugins/mac/PluginPackageMac.cpp: 64666 (WebCore::PluginPackage::fetchInfo): 64667 (WebCore::PluginPackage::isPluginBlacklisted): 64668 64669 2008-12-05 Jungshik Shin <jshin (a] chromium.org> 64670 64671 Reviewed by Alexey Proskuryakov. 64672 64673 https://bugs.webkit.org/show_bug.cgi?id=22472 64674 64675 Revises charset alias map for TextCodecICU. 64676 - Uses windows-949 and windows-874 instead of windows-949-2000 and windows-874-2000 64677 - Replaces 'windows874' in a couple of place with 'windows-874' (for the canonical name) 64678 - Maps 'dos-874' to 'windows-874'. Currently, it's aliases to 'cp874', which is in turn 64679 mapped to 'TIS-620'. 'TIS-620' is manually aliased to 'windows-874'. We'd better directly 64680 alias 'dos-874' to 'windows-874'. 64681 - Replaces 'EUC-CN' with 'GBK' when it's used as the canonical name. 64682 Similar to the above case, we're getting rid of indirection that eventually leads to 'GBK' by 64683 directly going to 'GBK'. 64684 - Adds 'x-uhc' as an alias for 'windows-949'. It's used in some web pages. 64685 64686 Tests: fast/encoding/char-decoding-mac.html 64687 fast/encoding/char-decoding.html 64688 64689 * platform/text/TextCodecICU.cpp: 64690 (WebCore::TextCodecICU::registerExtendedEncodingNames): 64691 64692 2008-12-04 Kevin Watters <kevinwatters (a] gmail.com> 64693 64694 Reviewed by Kevin Ollivier. 64695 64696 Add a MIME mapping for the .htm extension to wx and GTK ports. 64697 64698 https://bugs.webkit.org/show_bug.cgi?id=22668 64699 64700 * platform/gtk/MIMETypeRegistryGtk.cpp: 64701 (WebCore::): 64702 * platform/wx/MimeTypeRegistryWx.cpp: 64703 (WebCore::): 64704 64705 2008-12-04 Kevin Watters <kevinwatters (a] gmail.com> 64706 64707 Reviewed by Kevin Ollivier. 64708 64709 Implement basic text paste support in wx and add notImplemented stubs 64710 to catch other methods. 64711 64712 https://bugs.webkit.org/show_bug.cgi?id=22667 64713 64714 * platform/wx/PasteboardWx.cpp: 64715 (WebCore::Pasteboard::canSmartReplace): 64716 (WebCore::Pasteboard::plainText): 64717 (WebCore::Pasteboard::documentFragment): 64718 (WebCore::Pasteboard::writeImage): 64719 64720 2008-12-04 Kevin Ollivier <kevino (a] theolliviers.com> 64721 64722 wx build fix for !USE(WXGC) build config. 64723 64724 * platform/graphics/wx/PathWx.cpp: 64725 (WebCore::Path::contains): 64726 (WebCore::Path::addLineTo): 64727 (WebCore::Path::addQuadCurveTo): 64728 (WebCore::Path::addBezierCurveTo): 64729 (WebCore::Path::addArcTo): 64730 (WebCore::Path::closeSubpath): 64731 (WebCore::Path::addArc): 64732 (WebCore::Path::addRect): 64733 (WebCore::Path::addEllipse): 64734 (WebCore::Path::transform): 64735 (WebCore::Path::apply): 64736 (WebCore::Path::isEmpty): 64737 64738 2008-12-04 Kevin Watters <kevinwatters (a] gmail.com> 64739 64740 Reviewed by Kevin Ollivier. 64741 64742 Turn off styled controls until we can implement them properly. 64743 64744 https://bugs.webkit.org/show_bug.cgi?id=22662 64745 64746 * platform/wx/RenderThemeWx.cpp: 64747 (WebCore::RenderThemeWx::isControlStyled): 64748 64749 2008-12-04 Kevin Watters <kevinwatters (a] gmail.com> 64750 64751 Reviewed by Kevin Ollivier. 64752 64753 wx implementations for Path API. 64754 64755 https://bugs.webkit.org/show_bug.cgi?id=22661 64756 64757 * platform/graphics/wx/PathWx.cpp: 64758 (WebCore::Path::~Path): 64759 (WebCore::Path::contains): 64760 (WebCore::Path::addLineTo): 64761 (WebCore::Path::addQuadCurveTo): 64762 (WebCore::Path::addBezierCurveTo): 64763 (WebCore::Path::addArcTo): 64764 (WebCore::Path::closeSubpath): 64765 (WebCore::Path::addArc): 64766 (WebCore::Path::addRect): 64767 (WebCore::Path::addEllipse): 64768 (WebCore::Path::transform): 64769 (WebCore::Path::isEmpty): 64770 64771 2008-12-04 Julien Chaffraix <jchaffraix (a] webkit.org> 64772 64773 Reviewed by Eric Seidel. 64774 64775 Bug 22564: Make HTML elements' constructors take a QualifiedName 64776 https://bugs.webkit.org/show_bug.cgi?id=22564 64777 64778 Updated the remaining constructors. 64779 64780 * bindings/js/JSImageConstructor.cpp: 64781 (WebCore::constructImage): 64782 * dom/Document.cpp: 64783 (WebCore::Document::getCSSCanvasElement): 64784 * editing/DeleteButton.cpp: 64785 (WebCore::DeleteButton::DeleteButton): 64786 * html/HTMLAppletElement.cpp: 64787 (WebCore::HTMLAppletElement::HTMLAppletElement): 64788 * html/HTMLAppletElement.h: 64789 * html/HTMLAreaElement.cpp: 64790 (WebCore::HTMLAreaElement::HTMLAreaElement): 64791 * html/HTMLAreaElement.h: 64792 * html/HTMLBaseFontElement.cpp: 64793 (WebCore::HTMLBaseFontElement::HTMLBaseFontElement): 64794 * html/HTMLBaseFontElement.h: 64795 * html/HTMLCanvasElement.cpp: 64796 (WebCore::HTMLCanvasElement::HTMLCanvasElement): 64797 * html/HTMLCanvasElement.h: 64798 * html/HTMLElementFactory.cpp: 64799 (WebCore::hrConstructor): 64800 (WebCore::paragraphConstructor): 64801 (WebCore::basefontConstructor): 64802 (WebCore::fontConstructor): 64803 (WebCore::anchorConstructor): 64804 (WebCore::imageConstructor): 64805 (WebCore::mapConstructor): 64806 (WebCore::areaConstructor): 64807 (WebCore::canvasConstructor): 64808 (WebCore::appletConstructor): 64809 (WebCore::embedConstructor): 64810 (WebCore::objectConstructor): 64811 (WebCore::paramConstructor): 64812 (WebCore::scriptConstructor): 64813 (WebCore::tableConstructor): 64814 (WebCore::tableCaptionConstructor): 64815 (WebCore::tableRowConstructor): 64816 * html/HTMLEmbedElement.cpp: 64817 (WebCore::HTMLEmbedElement::HTMLEmbedElement): 64818 * html/HTMLEmbedElement.h: 64819 * html/HTMLFontElement.cpp: 64820 (WebCore::HTMLFontElement::HTMLFontElement): 64821 * html/HTMLFontElement.h: 64822 * html/HTMLHRElement.cpp: 64823 (WebCore::HTMLHRElement::HTMLHRElement): 64824 * html/HTMLHRElement.h: 64825 * html/HTMLImageElement.cpp: 64826 (WebCore::HTMLImageElement::HTMLImageElement): 64827 * html/HTMLImageElement.h: 64828 * html/HTMLMapElement.cpp: 64829 (WebCore::HTMLMapElement::HTMLMapElement): 64830 * html/HTMLMapElement.h: 64831 * html/HTMLObjectElement.cpp: 64832 (WebCore::HTMLObjectElement::HTMLObjectElement): 64833 * html/HTMLObjectElement.h: 64834 * html/HTMLParagraphElement.cpp: 64835 (WebCore::HTMLParagraphElement::HTMLParagraphElement): 64836 * html/HTMLParagraphElement.h: 64837 * html/HTMLParamElement.cpp: 64838 (WebCore::HTMLParamElement::HTMLParamElement): 64839 * html/HTMLParamElement.h: 64840 * html/HTMLParser.cpp: 64841 (WebCore::HTMLParser::handleError): 64842 (WebCore::HTMLParser::mapCreateErrorCheck): 64843 (WebCore::HTMLParser::handleIsindex): 64844 * html/HTMLScriptElement.cpp: 64845 (WebCore::HTMLScriptElement::HTMLScriptElement): 64846 * html/HTMLScriptElement.h: 64847 * html/HTMLTableCaptionElement.cpp: 64848 (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement): 64849 * html/HTMLTableCaptionElement.h: 64850 * html/HTMLTableElement.cpp: 64851 (WebCore::HTMLTableElement::HTMLTableElement): 64852 (WebCore::HTMLTableElement::createCaption): 64853 (WebCore::HTMLTableElement::insertRow): 64854 * html/HTMLTableElement.h: 64855 * html/HTMLTableRowElement.cpp: 64856 (WebCore::HTMLTableRowElement::HTMLTableRowElement): 64857 * html/HTMLTableRowElement.h: 64858 * html/HTMLTableSectionElement.cpp: 64859 (WebCore::HTMLTableSectionElement::insertRow): 64860 * html/HTMLViewSourceDocument.cpp: 64861 (WebCore::HTMLViewSourceDocument::createContainingTable): 64862 (WebCore::HTMLViewSourceDocument::addLine): 64863 * loader/ImageDocument.cpp: 64864 (WebCore::ImageDocumentElement::ImageDocumentElement): 64865 64866 2008-12-04 Eric Seidel <eric (a] webkit.org> 64867 64868 No review, build fix only. 64869 64870 Add file missing from last commit. 64871 64872 * bindings/js/ScriptState.h: Added. 64873 64874 2008-12-04 Dimitri Glazkov <dglazkov (a] chromium.org> 64875 64876 Reviewed by Geoff Garen. 64877 64878 Implement ScriptState abstraction (initially, a simple typedef) 64879 as means of carrying exception information across bindings boundaries 64880 and in a script engine-independent way. 64881 64882 * WebCore.vcproj/WebCore.vcproj: 64883 * WebCore.xcodeproj/project.pbxproj: 64884 * bindings/js/JSDOMBinding.cpp: 64885 (WebCore::scriptStateFromNode): 64886 * bindings/js/JSDOMBinding.h: 64887 * bindings/js/JSNodeFilterCondition.h: 64888 * bindings/js/ScriptState.h: Added. 64889 * dom/NodeFilter.cpp: 64890 (WebCore::NodeFilter::acceptNode): 64891 * dom/NodeFilter.h: 64892 (WebCore::NodeFilter::acceptNode): 64893 * dom/NodeFilterCondition.cpp: 64894 (WebCore::NodeFilterCondition::acceptNode): 64895 * dom/NodeFilterCondition.h: 64896 * dom/NodeIterator.cpp: 64897 (WebCore::NodeIterator::nextNode): 64898 (WebCore::NodeIterator::previousNode): 64899 * dom/NodeIterator.h: 64900 (WebCore::NodeIterator::nextNode): 64901 (WebCore::NodeIterator::previousNode): 64902 * dom/Traversal.cpp: 64903 (WebCore::Traversal::acceptNode): 64904 * dom/Traversal.h: 64905 * dom/TreeWalker.cpp: 64906 (WebCore::TreeWalker::parentNode): 64907 (WebCore::TreeWalker::firstChild): 64908 (WebCore::TreeWalker::lastChild): 64909 (WebCore::TreeWalker::previousSibling): 64910 (WebCore::TreeWalker::nextSibling): 64911 (WebCore::TreeWalker::previousNode): 64912 (WebCore::TreeWalker::nextNode): 64913 * dom/TreeWalker.h: 64914 (WebCore::TreeWalker::parentNode): 64915 (WebCore::TreeWalker::firstChild): 64916 (WebCore::TreeWalker::lastChild): 64917 (WebCore::TreeWalker::previousSibling): 64918 (WebCore::TreeWalker::nextSibling): 64919 (WebCore::TreeWalker::previousNode): 64920 (WebCore::TreeWalker::nextNode): 64921 64922 2008-12-04 Pierre-Olivier Latour <pol (a] apple.com> 64923 64924 Reviewed by Dan Bernstein. 64925 64926 Fixed pauseTransitionAtTimeOnElementWithId() in DRT asserting when passed invalid property name 64927 and potential similar issue with pauseAnimationAtTimeOnElementWithId(). 64928 64929 https://bugs.webkit.org/show_bug.cgi?id=22641 64930 64931 * page/animation/CompositeAnimation.cpp: 64932 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime): 64933 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime): 64934 64935 2008-12-04 Dimitri Glazkov <dglazkov (a] chromium.org> 64936 64937 Reviewed by Darin Adler. 64938 64939 Remove unused Completion.h include. 64940 64941 * html/CanvasRenderingContext2D.cpp: Removed Completion.h include. 64942 64943 2008-11-13 David Hyatt <hyatt (a] apple.com> 64944 64945 Fix a bug in ScrollView's refactoring. An isVisible check should have been isSelfVisible. 64946 64947 Reviewed by Darin Adler 64948 64949 * platform/ScrollView.cpp: 64950 (WebCore::ScrollView::setParentVisible): 64951 64952 2008-12-04 Friedemann Kleint <friedemann.kleint (a] nokia.com> 64953 64954 Reviewed by Tor Arne Vestb. 64955 64956 Fix small translation glitch in the Qt file chooser. 64957 64958 * platform/qt/FileChooserQt.cpp: 64959 (WebCore::FileChooser::basenameForWidth): 64960 64961 2008-12-04 Tor Arne Vestb <tavestbo (a] trolltech.com> 64962 64963 Rubber-stamped by Simon Hausmann. 64964 64965 Blacklist Silverlight plugin on Qt/Mac until supported 64966 64967 Currently the plugin crashes with a corrupted stack trace, possibly 64968 related to https://bugs.webkit.org/show_bug.cgi?id=20635 64969 64970 * plugins/mac/PluginPackageMac.cpp: 64971 (WebCore::PluginPackage::fetchInfo): 64972 (WebCore::PluginPackage::isPluginBlacklisted): 64973 64974 2008-12-03 Dmitry Titov <dimich (a] chromium.org> 64975 64976 Reviewed by Alexey Proskuryakov. 64977 64978 Fix non-Mac build. 64979 64980 * page/Chrome.cpp: (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 64981 64982 2008-12-03 David Levin <levin (a] chromium.org> 64983 64984 Reviewed by Alexey Proskuryakov. 64985 64986 Remove uses of document() in XMLHttpRequest where simple. 64987 https://bugs.webkit.org/show_bug.cgi?id=22619 64988 64989 * xml/XMLHttpRequest.cpp: 64990 (WebCore::XMLHttpRequest::responseXML): 64991 Return NULL in the worker case which is according to spec (and avoids using document()). 64992 64993 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 64994 (WebCore::XMLHttpRequest::initSend): 64995 Use scriptExecutionContext() instead of document(). 64996 64997 2008-12-03 David Levin <levin (a] chromium.org> 64998 64999 Reviewed by Alexey Proskuryakov. 65000 65001 Make ScriptExecutionContextTaskWorkerTask::performTask a pure virtual function. 65002 https://bugs.webkit.org/show_bug.cgi?id=22642 65003 65004 * dom/Document.cpp: 65005 (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer): 65006 (WebCore::ScriptExecutionContextTaskTimer::fired): 65007 (WebCore::PerformTaskContext::PerformTaskContext): 65008 (WebCore::performTask): 65009 (WebCore::Document::postTask): 65010 * dom/Document.h: 65011 * dom/ScriptExecutionContext.cpp: 65012 * dom/ScriptExecutionContext.h: 65013 * dom/WorkerContext.cpp: 65014 (WebCore::ScriptExecutionContextTaskWorkerTask::create): 65015 (WebCore::ScriptExecutionContextTaskWorkerTask::ScriptExecutionContextTaskWorkerTask): 65016 (WebCore::ScriptExecutionContextTaskWorkerTask::performTask): 65017 (WebCore::WorkerContext::postTask): 65018 * dom/WorkerContext.h: 65019 65020 2008-12-03 Dmitry Titov <dimich (a] chromium.org> 65021 65022 Reviewed by Alexey Proskuryakov. 65023 65024 Using ActiveDOMObject as base class for DOMTimer. 65025 https://bugs.webkit.org/show_bug.cgi?id=22620 65026 65027 Using ActiveDOMObject simplifies the code because ActiveDOMObject 65028 is wired for stop/pause/resume on loading/unloading/caching the page etc 65029 so the timer-specific code that does the same can be removed. 65030 In addition, timers can be now paused/resumed 'in place' which 65031 makes it unnecessary to 'serialize' them into special PausedTimeouts 65032 instance, so pause/resumeTimeouts implementation in JSDOMWindowBase can also be removed. 65033 Also, moving TimeoutMap from JSDOMWindowBase to Document matches lifetime 65034 of timeouts and makes it possible to not roundtrip them via PausedTimeouts 65035 every time when JSDOMWindow wrapper is destroyed while the page is in the b/f cache. 65036 65037 Timeouts are now paused with other ActiveDOMObjects: 65038 - before creating CachedPage in FrameLoader::commitProvisionalLoad() 65039 - in JavaScriptDebugServer::setJavaScriptPaused 65040 - during modal UI operations in Chrome::* 65041 this is equivalent to previous usage of JSDOMWindowBase::pauseTimeouts() 65042 65043 Timeouts are stopped to prevent future firing from: 65044 - FrameLoader::clear() 65045 - FrameLoader::frameDetached() 65046 this is equivalent to previous usage of JSDOMWindowBase::clearAllTimeouts() 65047 65048 This is also one of the steps to having timers in Workers. See the plan of 65049 the next steps in the bug above. 65050 65051 * bindings/js/DOMTimer.cpp: 65052 (WebCore::DOMTimer::DOMTimer): 65053 (WebCore::DOMTimer::fired): 65054 (WebCore::DOMTimer::hasPendingActivity): 65055 (WebCore::DOMTimer::contextDestroyed): 65056 (WebCore::DOMTimer::stop): 65057 (WebCore::DOMTimer::suspend): 65058 (WebCore::DOMTimer::resume): 65059 (WebCore::DOMTimer::canSuspend): Implemented ActiveDOMObject methods. 65060 65061 * bindings/js/DOMTimer.h: 65062 * bindings/js/JSDOMBinding.cpp: ActiveDOMObject can have no JS wrapper 65063 (WebCore::markActiveObjectsForContext): 65064 65065 * bindings/js/JSDOMWindowBase.cpp: 65066 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 65067 (WebCore::JSDOMWindowBase::clear): 65068 (WebCore::JSDOMWindowBase::installTimeout): 65069 (WebCore::JSDOMWindowBase::removeTimeout): 65070 (WebCore::JSDOMWindowBase::timerFired): 65071 (WebCore::JSDOMWindowBase::disconnectFrame): 65072 * bindings/js/JSDOMWindowBase.h: 65073 * bindings/js/ScriptController.cpp: 65074 * bindings/js/ScriptController.h: 65075 65076 * dom/Document.cpp: Document now holds a hash map id->timeout 65077 (WebCore::Document::addTimeout): 65078 (WebCore::Document::removeTimeout): 65079 (WebCore::Document::findTimeout): 65080 * dom/Document.h: 65081 * history/CachedPage.cpp: 65082 (WebCore::CachedPage::CachedPage): 65083 (WebCore::CachedPage::restore): 65084 (WebCore::CachedPage::clear): 65085 * history/CachedPage.h: 65086 * inspector/JavaScriptDebugServer.cpp: 65087 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): 65088 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 65089 * inspector/JavaScriptDebugServer.h: 65090 65091 * loader/FrameLoader.cpp: 65092 (WebCore::FrameLoader::commitProvisionalLoad): 65093 removed clearAllTimeouts since all ActiveDOMObjects will be stopped in FrameLoader::clear(); 65094 I don't see how the old comment can be correct - the code in the same method proceeds to invoke 'onunload' 65095 and then calls into client which can be external code and can cause any active object created in onunload 65096 to fire. We can stop them all before firing onunload but it does not make a lot of sense. 65097 I have a test to go with the next patch which verifies that timers set in onunload do not fire. 65098 65099 (WebCore::FrameLoader::open): 65100 * page/Chrome.cpp: 65101 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 65102 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 65103 65104 2008-12-03 Justin Garcia <justin.garcia (a] apple.com> 65105 65106 Reviewed by Beth Dakin. 65107 65108 <rdar://problem/6018653> Extra blank line when pasting paragraph in plain text 65109 65110 In SnowLeopard, Mail occasionally adds an empty, unstyled paragraph at the 65111 end of pasted content so that users don't get stuck with non-standard pargraph 65112 spacing. This content threw off our handling of interchange newlines. Any interchange 65113 newline, regardless of it's position in the incoming fragment was considered to be 65114 "at the start" of the fragment, and would result in us inserting in a newline before 65115 inserted content. This patch makes the checks for interchange newlines more strict, 65116 and treats interchange newlines found elsewhere as normal <br>s. 65117 65118 * editing/ReplaceSelectionCommand.cpp: 65119 (WebCore::ReplacementFragment::ReplacementFragment): 65120 (WebCore::ReplacementFragment::removeInterchangeNodes): 65121 * editing/VisiblePosition.cpp: 65122 (WebCore::VisiblePosition::init): 65123 (WebCore::VisiblePosition::canonicalPosition): 65124 * editing/VisiblePosition.h: 65125 65126 2008-12-03 Eric Seidel <eric (a] webkit.org> 65127 65128 Rubber-stamped by David Hyatt. 65129 65130 Bring the WebCore chromium build a couple steps closer to building. 65131 65132 * WebCore.scons: 65133 65134 2008-12-03 Kevin Ollivier <kevino (a] theolliviers.com> 65135 65136 wx build fix. 65137 65138 * WebCoreSources.bkl: 65139 65140 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65141 65142 Reviewed by George Staikos. 65143 65144 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22636 65145 65146 Implement WML variable substitution & validation. 65147 Created a framework for scriptable WML layout tests, that are able to test variable substiution & validation. 65148 65149 Tests: wml/variable-reference-invalid-character.html 65150 wml/variable-reference-valid.html 65151 65152 * wml/WMLVariables.cpp: 65153 (WebCore::isValidFirstVariableNameCharacter): 65154 (WebCore::isValidVariableNameCharacter): 65155 (WebCore::isValidVariableEscapingModeString): 65156 (WebCore::isValidVariableName): 65157 (WebCore::containsVariableReference): 65158 (WebCore::substituteVariableReferences): 65159 * wml/WMLVariables.h: 65160 65161 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65162 65163 Reviewed by Cameron Zwarich. 65164 65165 Further preparations for WML layout tests. 65166 - Enable variable substitution in Text.cpp - if the parent is a WMLElement derived class. 65167 - Dump WMLMessageSource messages to the console, just like it's done for JSMessageSource 65168 - Add helper method in Document.idl, to reset the WML page state to a well-known default state. 65169 (will be used in the upcoming LayoutTests/wml testcases) 65170 65171 * dom/Document.cpp: 65172 (WebCore::Document::resetWMLPageState): 65173 * dom/Document.h: 65174 * dom/Document.idl: 65175 * dom/Text.cpp: 65176 (WebCore::Text::insertedIntoDocument): 65177 * dom/Text.h: 65178 * page/Console.cpp: 65179 (WebCore::Console::addMessage): 65180 * wml/WMLPageState.h: Readd heper function 65181 (WebCore::WMLPageState::hasVariables): 65182 65183 2008-12-03 Antti Koivisto <antti (a] apple.com> 65184 65185 Reviewed by Sam Weinig. 65186 65187 Don't leak selectors in case selector list parsing failed. 65188 65189 * css/CSSGrammar.y: 65190 * css/CSSParser.cpp: 65191 (WebCore::CSSParser::~CSSParser): 65192 65193 2008-12-03 Chris Marrin <cmarrin (a] apple.com> 65194 65195 Reviewed by Dave Hyatt. 65196 65197 Fix https://bugs.webkit.org/show_bug.cgi?id=22520 65198 65199 This is a regression (causes a crash of LayoutTests/animations/transform-animation-event-destroy-element.html). 65200 This patch fixes the testcase. 65201 65202 This is another case of animations getting destroyed in the end animation callback and causing dangling 65203 pointers on return. This one involves iterating over the CompositeAnimation, which has been destroyed. 65204 So I now check for a null m_object pointer (which is nullified when the CompositeAnimation is destroyed) 65205 and skip that call. 65206 65207 * page/animation/AnimationBase.cpp: 65208 (WebCore::AnimationBase::updateStateMachine): 65209 65210 2008-12-03 Antti Koivisto <antti (a] apple.com> 65211 65212 Reviewed by Darin Adler. 65213 65214 https://bugs.webkit.org/show_bug.cgi?id=22379 65215 Make CSSOM use less memory 65216 65217 Reduce size of the CSSSelector by one more pointer by using an array 65218 instead of a linked list to store them. 65219 65220 * WebCore.xcodeproj/project.pbxproj: 65221 * css/CSSGrammar.y: 65222 * css/CSSParser.cpp: 65223 (WebCore::CSSParser::CSSParser): 65224 (WebCore::CSSParser::parseSelector): 65225 (WebCore::CSSParser::createStyleRule): 65226 * css/CSSParser.h: 65227 (WebCore::CSSParser::reusableSelectorVector): 65228 * css/CSSSelector.h: 65229 (WebCore::CSSSelector::CSSSelector): 65230 (WebCore::CSSSelector::~CSSSelector): 65231 (WebCore::CSSSelector::isLastInSelectorList): 65232 (WebCore::CSSSelector::setLastInSelectorList): 65233 * css/CSSStyleRule.cpp: 65234 (WebCore::CSSStyleRule::CSSStyleRule): 65235 (WebCore::CSSStyleRule::~CSSStyleRule): 65236 (WebCore::CSSStyleRule::selectorText): 65237 * css/CSSStyleRule.h: 65238 (WebCore::CSSStyleRule::adoptSelectorVector): 65239 (WebCore::CSSStyleRule::selectorList): 65240 * css/CSSStyleSelector.cpp: 65241 (WebCore::CSSRuleSet::addRulesFromSheet): 65242 * dom/Node.cpp: 65243 (WebCore::forEachSelector): 65244 (WebCore::selectorNeedsNamespaceResolution): 65245 (WebCore::Node::querySelector): 65246 (WebCore::Node::querySelectorAll): 65247 * dom/SelectorNodeList.cpp: 65248 (WebCore::createSelectorNodeList): 65249 * dom/SelectorNodeList.h: 65250 65251 2008-12-03 Alexey Proskuryakov <ap (a] webkit.org> 65252 65253 Reviewed by Darin Adler. 65254 65255 https://bugs.webkit.org/show_bug.cgi?id=22630 65256 Assertion failure in XMLHttpRequest::contextDestroyed 65257 65258 Test: http/tests/xmlhttprequest/close-window.html 65259 65260 * loader/FrameLoader.cpp: 65261 (WebCore::FrameLoader::clear): 65262 (WebCore::FrameLoader::commitProvisionalLoad): 65263 Move stopping active objects to clear(), so that closing a window is also covered. 65264 65265 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::abort): Protect the object in abort(), 65266 because internalAbort() deref()'s. 65267 65268 2008-12-03 Dean Jackson <dino (a] apple.com> 65269 65270 Reviewed by Dan Bernstein. 65271 65272 Implement CSS 3 <angle> turn unit and support it 65273 in rotations. 65274 https://bugs.webkit.org/show_bug.cgi?id=22497 65275 65276 * css/CSSGrammar.y: 65277 * css/CSSParser.cpp: 65278 (WebCore::CSSParser::validUnit): 65279 (WebCore::unitFromString): 65280 (WebCore::CSSParser::lex): 65281 * css/CSSPrimitiveValue.cpp: 65282 (WebCore::CSSPrimitiveValue::cssText): 65283 (WebCore::CSSPrimitiveValue::parserValue): 65284 * css/CSSPrimitiveValue.h: 65285 (WebCore::CSSPrimitiveValue::): 65286 * css/CSSStyleSelector.cpp: 65287 (WebCore::CSSStyleSelector::createTransformOperations): 65288 * css/tokenizer.flex: 65289 65290 2008-12-03 Dirk Schulze <krit (a] webkit.org> 65291 65292 Reviewed by Nikolas Zimmermann. 65293 65294 Make use of the gradient code in GraphicsContext and get rid of most of the 65295 platform dependent code. 65296 65297 SVG should use the new Gradient support on GraphicsContext 65298 https://bugs.webkit.org/show_bug.cgi?id=20543 65299 65300 * GNUmakefile.am: 65301 * WebCore.pro: 65302 * WebCore.vcproj/WebCore.vcproj: 65303 * WebCore.xcodeproj/project.pbxproj: 65304 * platform/graphics/FloatSize.h: 65305 (WebCore::FloatSize::shrunkTo): 65306 * svg/SVGLinearGradientElement.cpp: 65307 (WebCore::SVGLinearGradientElement::buildGradient): 65308 * svg/SVGRadialGradientElement.cpp: 65309 (WebCore::SVGRadialGradientElement::buildGradient): 65310 * svg/graphics/SVGPaintServer.h: 65311 * svg/graphics/SVGPaintServerGradient.cpp: 65312 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): 65313 (WebCore::SVGPaintServerGradient::~SVGPaintServerGradient): 65314 (WebCore::SVGPaintServerGradient::gradient): 65315 (WebCore::SVGPaintServerGradient::setGradient): 65316 (WebCore::findTextRootObject): 65317 (WebCore::createMaskAndSwapContextForTextGradient): 65318 (WebCore::clipToTextMask): 65319 (WebCore::SVGPaintServerGradient::setup): 65320 (WebCore::SVGPaintServerGradient::renderPath): 65321 (WebCore::SVGPaintServerGradient::teardown): 65322 * svg/graphics/SVGPaintServerGradient.h: 65323 (WebCore::SVGPaintServerGradient::setGradientStops): 65324 (WebCore::SVGPaintServerGradient::gradientStops): 65325 * svg/graphics/SVGPaintServerLinearGradient.h: 65326 * svg/graphics/SVGPaintServerRadialGradient.h: 65327 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: Removed. 65328 * svg/graphics/cg/SVGPaintServerCg.cpp: 65329 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: Removed. 65330 * svg/graphics/qt/SVGPaintServerGradientQt.cpp: Removed. 65331 * svg/graphics/qt/SVGPaintServerLinearGradientQt.cpp: Removed. 65332 * svg/graphics/qt/SVGPaintServerRadialGradientQt.cpp: Removed. 65333 65334 2008-12-03 Sam Weinig <sam (a] webkit.org> 65335 65336 Reviewed by Mark Rowe. 65337 65338 Fix formatting. 65339 65340 * css/CSSSelector.h: 65341 (WebCore::CSSSelector::createRareData): 65342 65343 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65344 65345 Reviewed by Adam Roben. 65346 65347 As Adam Roben noticed, synchronize MessageSource enum with Console.js, and add a comment. 65348 65349 * inspector/front-end/Console.js: 65350 * page/Console.h: 65351 65352 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65353 65354 Reviewed by Alexey Proskuryakov. 65355 65356 Next steps to make LayoutTests work: 65357 Never access the main frame from WMLRefreshElement/WMLCardElement, but 65358 the current documents frame (WML layout tests will run in an <iframe>) 65359 65360 Prepare WMLErrorHandling for the case that no tokenizer is available anymore 65361 -> report errors through Console::addMessage(), so they get logged in the 65362 expected layout test results. 65363 65364 * wml/WMLCardElement.cpp: 65365 (WebCore::WMLCardElement::setActiveCardInDocument): 65366 * wml/WMLErrorHandling.cpp: 65367 (WebCore::reportWMLError): 65368 (WebCore::errorMessageForErrorCode): 65369 * wml/WMLErrorHandling.h: 65370 * wml/WMLRefreshElement.cpp: 65371 (WebCore::WMLRefreshElement::executeTask): 65372 * page/Console.cpp: Handle WMLMessageSource. 65373 (WebCore::printMessageSourceAndLevelPrefix): 65374 * page/Console.h: Add WMLMessageSource. 65375 (WebCore::): 65376 65377 2008-12-03 Tor Arne Vestb <tavestbo (a] trolltech.com> 65378 65379 Reviewed by Simon Hausmann. 65380 65381 Allow passing jsNull and jsUndefined to Qt plugins 65382 65383 Currently limited to functions with QString and QVariant arguments, 65384 and properties of these types. Both jsNull and jsUndefined ends up 65385 as default-constructed QStrings and QVariants, which means you can 65386 check for isEmpty() and isValid() in the native plugin code. 65387 65388 Based on patches by Jade Han <jade.han (a] nokia.com> 65389 65390 * bridge/qt/qt_runtime.cpp: 65391 (JSC::Bindings::convertValueToQVariant): 65392 (JSC::Bindings::findMethodIndex): 65393 65394 2008-12-03 Trenton Schulz <trenton.schulz (a] nokia.com> 65395 65396 Reviewed by Simon Hausmann. 65397 65398 Fix the build with Qt for Mac OS X. 65399 65400 * platform/PurgeableBuffer.h: Use the dummy wrappers for now. 65401 65402 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65403 65404 Reviewed by Alexey Proskuryakov. 65405 65406 Fix error handling in WMLSetvarElement. If an invalid variable reference is contained 65407 in the 'name' attribute of <setvar>, a 'WMLErrorInvalidVariableName' error should be 65408 reported, instead of 'WMLErrorInvalidVariableReference'. 65409 65410 * wml/WMLElement.cpp: 65411 (WebCore::WMLElement::parseValueSubstitutingVariableReferences): 65412 (WebCore::WMLElement::parseValueForbiddingVariableReferences): 65413 * wml/WMLElement.h: 65414 * wml/WMLSetvarElement.cpp: 65415 (WebCore::WMLSetvarElement::parseMappedAttribute): 65416 * wml/WMLSetvarElement.h: 65417 (WebCore::WMLSetvarElement::name): 65418 (WebCore::WMLSetvarElement::value): 65419 65420 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65421 65422 Reviewed by Alexey Proskuryakov. 65423 65424 Preparations to get WML layout tests going. 65425 Make WMLPageState an OwnPtr to Page, and let Page create it on demand. 65426 65427 * page/Page.cpp: 65428 (WebCore::Page::Page): 65429 (WebCore::Page::wmlPageState): 65430 * page/Page.h: 65431 * wml/WMLDocument.cpp: 65432 (WebCore::WMLDocument::WMLDocument): 65433 (WebCore::WMLDocument::finishedParsing): 65434 (WebCore::wmlPageStateForDocument): 65435 * wml/WMLPageState.h: Don't inherit from RefCounted anymore. 65436 (WebCore::WMLPageState::hasVariables): Remove helper function. 65437 65438 2008-12-03 Alexey Proskuryakov <ap (a] webkit.org> 65439 65440 Reviewed by Mark Rowe. 65441 65442 https://bugs.webkit.org/show_bug.cgi?id=22627 65443 fast/workers/worker-terminate.html fails randomly 65444 65445 The problem is that worker termination uses script timeouts, so an InterruptedExecutionError 65446 is raised, and it sometimes reaches the main thread. 65447 65448 * dom/WorkerMessagingProxy.cpp: 65449 (WebCore::WorkerExceptionTask::create): 65450 (WebCore::WorkerExceptionTask::WorkerExceptionTask): 65451 (WebCore::WorkerExceptionTask::performTask): 65452 (WebCore::WorkerMessagingProxy::postWorkerException): 65453 * dom/WorkerMessagingProxy.h: 65454 Ignore exceptions that happen in terminated workers. 65455 65456 2008-12-03 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65457 65458 Reviewed by Alexey Proskuryakov. 65459 65460 Remove some unncessary includes. 65461 65462 * wml/WMLAccessElement.cpp: 65463 * wml/WMLDocument.h: 65464 * wml/WMLRefreshElement.cpp: 65465 65466 2008-12-03 Alexey Proskuryakov <ap (a] webkit.org> 65467 65468 Rubber-stamped by Cameron Zwarich and Adam Roben. 65469 65470 Fix a typo: m_executionForbidded. 65471 65472 * bindings/js/WorkerScriptController.cpp: 65473 (WebCore::WorkerScriptController::WorkerScriptController): 65474 (WebCore::WorkerScriptController::evaluate): 65475 (WebCore::WorkerScriptController::forbidExecution): 65476 * bindings/js/WorkerScriptController.h: 65477 65478 2008-12-03 Dean McNamee <deanm (a] chromium.org> 65479 65480 Bug 22623: Uninitialized memory access in cache parsing code 65481 <https://bugs.webkit.org/show_bug.cgi?id=22623> 65482 65483 Reviewed by David Kilzer. 65484 65485 Initialize m_haveParsedCacheControlHeader and m_haveParsedPragmaHeader. 65486 65487 * platform/network/ResourceResponseBase.h: 65488 (WebCore::ResourceResponseBase::ResourceResponseBase): 65489 65490 2008-12-03 Antti Koivisto <antti (a] apple.com> 65491 65492 Probable build fix. 65493 65494 * WebCoreSources.bkl: 65495 65496 2008-12-03 Antti Koivisto <antti (a] apple.com> 65497 65498 Forgot to commit these. 65499 65500 * dom/Node.cpp: 65501 (WebCore::forEachTagSelector): 65502 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): 65503 (WebCore::Node::querySelector): 65504 * dom/SelectorNodeList.cpp: 65505 (WebCore::createSelectorNodeList): 65506 65507 2008-12-03 Antti Koivisto <antti (a] apple.com> 65508 65509 Reviewed by Dan Bernstein and Mark Rowe. 65510 65511 https://bugs.webkit.org/show_bug.cgi?id=22379 65512 Make CSSOM use less memory 65513 65514 Reduce size of the CSSSelector by 3/8 by moving rarely used fields to a rare data 65515 struct. Browsing around with some instrumentation showed that ~0.1% of all selectors 65516 encountered had rare data. 65517 65518 This also eliminates the CSSNthSelector subclass which will make possible to store 65519 CSSSelectors in an array instead of a linked list for futher memory savings. 65520 65521 * css/CSSGrammar.y: 65522 * css/CSSNthSelector.cpp: Removed. 65523 * css/CSSNthSelector.h: Removed. 65524 * css/CSSParser.cpp: 65525 (WebCore::CSSParser::createFloatingSelector): 65526 * css/CSSParser.h: 65527 * css/CSSSelector.cpp: 65528 (WebCore::CSSSelector::specificity): 65529 (WebCore::CSSSelector::operator==): 65530 (WebCore::CSSSelector::selectorText): 65531 (WebCore::CSSSelector::setTagHistory): 65532 (WebCore::CSSSelector::attribute): 65533 (WebCore::CSSSelector::setAttribute): 65534 (WebCore::CSSSelector::setArgument): 65535 (WebCore::CSSSelector::setSimpleSelector): 65536 (WebCore::CSSSelector::parseNth): 65537 (WebCore::CSSSelector::matchNth): 65538 (WebCore::CSSSelector::RareData::parseNth): 65539 (WebCore::CSSSelector::RareData::matchNth): 65540 * css/CSSSelector.h: 65541 (WebCore::CSSSelector::CSSSelector): 65542 (WebCore::CSSSelector::~CSSSelector): 65543 (WebCore::CSSSelector::tagHistory): 65544 (WebCore::CSSSelector::hasAttribute): 65545 (WebCore::CSSSelector::argument): 65546 (WebCore::CSSSelector::simpleSelector): 65547 (WebCore::CSSSelector::RareData::RareData): 65548 (WebCore::CSSSelector::createRareData): 65549 (WebCore::CSSSelector::): 65550 * css/CSSStyleSelector.cpp: 65551 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 65552 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 65553 65554 2008-12-03 Jian Li <jianli (a] chromium.org> 65555 65556 Reviewed by Alexey Proskuryakov. 65557 65558 Remove unneeded included file in WorkerThread.cpp. 65559 https://bugs.webkit.org/show_bug.cgi?id=22613 65560 65561 * dom/WorkerThread.cpp: No need to include JSWorkerContext.h. 65562 65563 2008-12-02 Alexey Proskuryakov <ap (a] webkit.org> 65564 65565 Reviewed by Maciej Stachowiak. 65566 65567 https://bugs.webkit.org/show_bug.cgi?id=22543 65568 Consolidate ActiveDOMObject page cache interaction 65569 65570 Test: http/tests/xmlhttprequest/abort-on-leaving-page.html 65571 65572 * dom/ActiveDOMObject.cpp: 65573 (WebCore::ActiveDOMObject::canSuspend): 65574 (WebCore::ActiveDOMObject::suspend): 65575 (WebCore::ActiveDOMObject::resume): 65576 * dom/ActiveDOMObject.h: 65577 * dom/ScriptExecutionContext.cpp: 65578 (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects): 65579 (WebCore::ScriptExecutionContext::suspendActiveDOMObjects): 65580 (WebCore::ScriptExecutionContext::resumeActiveDOMObjects): 65581 * dom/ScriptExecutionContext.h: 65582 Added methods for suspending and resuming active objects. 65583 65584 * dom/Worker.cpp: 65585 (WebCore::Worker::canSuspend): 65586 (WebCore::Worker::stop): 65587 * dom/Worker.h: 65588 Workers cannot be suspended yet. This is a change in behavior, as workers used to keep 65589 running until their owner was destroyed. 65590 65591 * loader/FrameLoader.cpp: 65592 (WebCore::FrameLoader::stopLoading): No longer call stopActiveDOMObjects() here, because 65593 their activity is not necessarily loading. 65594 (WebCore::FrameLoader::canCachePage): Can only cache if all active objects can be suspended. 65595 Previously, stopLoading() cancelled outstanding XMLHttpRequests, which made the page 65596 uncacheable due to no-null main document error. 65597 (WebCore::FrameLoader::commitProvisionalLoad): Suspend or stop active objects, depending on 65598 whether the document will be cached. 65599 (WebCore::FrameLoader::frameDetached): Stop active objects to let them clean up before their 65600 context is destroyed. 65601 65602 * xml/XMLHttpRequest.h: added canSuspend(). 65603 * xml/XMLHttpRequest.cpp: 65604 (WebCore::XMLHttpRequest::canSuspend): Only XHRs that are not loading can be suspended. 65605 (WebCore::XMLHttpRequest::stop): Call abort() instead of internalAbort() to dispatch events 65606 for Firefox compatibility. This is a change in behavior that helps test that requests do 65607 get aborted. 65608 (WebCore::XMLHttpRequest::contextDestroyed): The request must have been stopped by now, so 65609 assert that. 65610 65611 2008-12-02 Chris Fleizach <cfleizach (a] apple.com> 65612 65613 Reviewed by Beth Dakin. 65614 65615 Bug 22606: Can <th> serves as the AXTitleUIElement for <td>? 65616 65617 Test: accessibility/th-as-title-ui.html 65618 65619 * page/AccessibilityObject.h: 65620 (WebCore::AccessibilityObject::isGroup): 65621 * page/AccessibilityRenderObject.cpp: 65622 (WebCore::AccessibilityRenderObject::isGroup): 65623 * page/AccessibilityRenderObject.h: 65624 * page/AccessibilityTableCell.cpp: 65625 (WebCore::AccessibilityTableCell::rowIndexRange): 65626 (WebCore::AccessibilityTableCell::columnIndexRange): 65627 (WebCore::AccessibilityTableCell::titleUIElement): 65628 * page/AccessibilityTableCell.h: 65629 * page/mac/AccessibilityObjectWrapper.mm: 65630 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 65631 65632 2008-12-02 Simon Fraser <simon.fraser (a] apple.com> 65633 65634 Reviewed by Dave Hyatt 65635 65636 https://bugs.webkit.org/show_bug.cgi?id=22472 65637 65638 Override absoluteClippedOverflowRect() in RenderReplaced to return a rect 65639 that is large enough to encompass the selection, so that the repainting of 65640 selected replaced elements works correctly. 65641 65642 Test: fast/repaint/selected-replaced.html 65643 65644 * rendering/RenderReplaced.cpp: 65645 (WebCore::RenderReplaced::selectionRect): 65646 (WebCore::RenderReplaced::localSelectionRect): 65647 (WebCore::RenderReplaced::absoluteClippedOverflowRect): 65648 * rendering/RenderReplaced.h: 65649 65650 2008-12-02 Gregory Hughes <ghughes (a] apple.com> 65651 65652 Reviewed by Beth Dakin. 65653 65654 Bug 22513: ZOOM: text selection does not send correct zoom bounds 65655 65656 When zoomed, text selection must send the zoom bounds in flipped 65657 screen coordinates. 65658 65659 * editing/mac/SelectionControllerMac.mm: 65660 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 65661 * page/mac/WebCoreViewFactory.h: 65662 65663 2008-12-02 Dean Jackson <dino (a] apple.com> 65664 65665 Reviewed by Sam Weinig. 65666 65667 Remove support for 'now' from CSS (was 65668 erroneously added to transition and animation delay) 65669 https://bugs.webkit.org/show_bug.cgi?id=22571 65670 65671 * css/CSSParser.cpp: 65672 (WebCore::CSSParser::parseAnimationDelay): 65673 * css/CSSStyleSelector.cpp: 65674 (WebCore::CSSStyleSelector::mapAnimationDelay): 65675 * css/CSSValueKeywords.in: 65676 65677 2008-12-02 Eric Seidel <eric (a] webkit.org> 65678 65679 Build fix, no review. 65680 65681 Fix the Mac and gtk builds: 65682 Don't use a float to hold a double. 65683 Remove a now duplicate symbol. 65684 65685 * page/Frame.cpp: 65686 (WebCore::Frame::selectionLayoutChanged): 65687 * platform/gtk/TemporaryLinkStubs.cpp: 65688 65689 2008-12-02 Chris Fleizach <cfleizach (a] apple.com> 65690 65691 Bug 22596: Some elements don't report AXBlockQuoteLevel 65692 https://bugs.webkit.org/show_bug.cgi?id=22596 65693 65694 Reviewed by John Sullivan. 65695 65696 * page/mac/AccessibilityObjectWrapper.mm: 65697 (blockquoteLevel): 65698 (AXAttributeStringSetBlockquoteLevel): 65699 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 65700 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 65701 65702 2008-12-02 Dean McNamee <deanm (a] chromium.org> 65703 65704 Reviewed by Eric Seidel. 65705 65706 Correctly handle a theme returning a non-blinking interval. We should 65707 not set any timers when the interval is 0 (non-blinking), otherwise we 65708 repeatedly set and destroy a blinking timer, causing a paint and timer 65709 storm. This is applicable to GTK and Windows, where a user can set a 65710 non-blinking caret in their system preferences. 65711 65712 Renamed caretBlinkFrequency to the more accurate caretBlinkInterval. 65713 65714 * page/Frame.cpp: 65715 (WebCore::Frame::selectionLayoutChanged): 65716 * platform/Theme.h: 65717 (WebCore::Theme::caretBlinkInterval): 65718 * platform/gtk/RenderThemeGtk.cpp: 65719 (WebCore::RenderThemeGtk::caretBlinkInterval): 65720 * platform/gtk/RenderThemeGtk.h: 65721 * rendering/RenderTheme.h: 65722 (WebCore::RenderTheme::caretBlinkInterval): 65723 65724 2008-12-02 David Levin <levin (a] chromium.org> 65725 65726 Reviewed by Eric Seidel. 65727 65728 https://bugs.webkit.org/show_bug.cgi?id=22538 65729 65730 startsWith uses find which searches through the whole string if no match is found. 65731 Using reverseFind with an index of 0 has the benefit of only searching for the match 65732 at the beginning of the string. This may only be a small benefit in the overall program, 65733 but it may help in some cases when the string is big. 65734 65735 No observable change in behavior, so no test. 65736 65737 * platform/text/StringImpl.h: 65738 (WebCore::StringImpl::startsWith): 65739 65740 2008-10-29 Eric Seidel <eric (a] webkit.org> 65741 65742 Reviewed by Darin Adler. 65743 65744 Wrap a JSC-only hack in a USE(JSC) block to fix the v8 build. 65745 https://bugs.webkit.org/show_bug.cgi?id=21951 65746 65747 * svg/SVGElementInstance.cpp: 65748 (WebCore::SVGElementInstance::forgetWrapper): 65749 65750 2008-12-02 Eric Seidel <eric (a] webkit.org> 65751 65752 Reviewed by Darin Adler. 65753 65754 Add an ASSERT to try and catch the root cause of: 65755 https://bugs.webkit.org/show_bug.cgi?id=22168 65756 http://code.google.com/p/chromium/issues/detail?id=4122 65757 65758 * editing/TextIterator.cpp: 65759 (WebCore::TextIterator::emitText): 65760 65761 2008-12-02 Brent Fulgham <bfulgham (a] gmail.com> 65762 65763 Reviewed by Adam Roben. 65764 65765 Remove some CG-specific code from the Windows Cairo build. 65766 https://bugs.webkit.org/show_bug.cgi?id=22586 65767 65768 No new test cases since this update should create no user-visible 65769 changes, and should be fully covered by the existing regression 65770 tests. 65771 65772 * WebCore.vcproj/WebCore.vcproj: Remove FontDatabase from 65773 * platform/graphics/cairo/GraphicsContextCairo.cpp: 65774 (WebCore::focusRingColor): Add stub method 65775 * platform/win/TemporaryLinkStubs.cpp: 65776 (WebCore::populateFontDatabase): Add stub method. 65777 65778 2008-12-01 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 65779 65780 Reviewed by Tor Arne Vestb. 65781 65782 MinGW compilation fix for PluginPackageWin.cpp 65783 65784 https://bugs.webkit.org/show_bug.cgi?id=22585 65785 65786 * plugins/win/PluginPackageWin.cpp: 65787 (WebCore::PluginPackage::fetchInfo): 65788 65789 2008-12-02 Adam Roben <aroben (a] apple.com> 65790 65791 Build fix for Windows projects with NOMINMAX defined globally 65792 65793 * platform/win/COMPtr.h: Don't redefine NOMINMAX if it's already 65794 defined. 65795 65796 2008-12-02 Simon Hausmann <hausmann (a] webkit.org> 65797 65798 Reviewed by Tor Arne Vestb. 65799 65800 Build JavaScriptCore into libQtWebKit.so through a direct build 65801 instead of a static library. When linking a static library into 65802 a shared library qmake generates an incorrect .prl file, which 65803 causes all sorts of different build problems when linking against 65804 QtWebKit. Fixing this in qmake requires bigger changes that are 65805 currently not possible, so we need to work around this limitation 65806 for now. The advantages of the separate build did not outweight the 65807 build problems it caused. 65808 65809 * WebCore.pro: include JavaScriptCore.pri, re-enable prl support 65810 and rename the lut generator to domlut to avoid a conflict with 65811 JavaScriptCore.pri's lut generator. 65812 65813 2008-12-02 David Levin <levin (a] chromium.org> 65814 65815 Reviewed by Alexey Proskuryakov. 65816 65817 https://bugs.webkit.org/show_bug.cgi?id=22588 65818 Move securityOrigin() from Document and WorkerContext into ScriptExecutionContext. 65819 65820 No observable change in behavior, so no test. 65821 65822 * dom/Document.cpp: 65823 (WebCore::Document::open): 65824 (WebCore::Document::domain): 65825 (WebCore::Document::setDomain): 65826 (WebCore::Document::initSecurityContext): 65827 (WebCore::Document::setSecurityOrigin): 65828 * dom/Document.h: 65829 * dom/ScriptExecutionContext.cpp: 65830 (WebCore::ScriptExecutionContext::setSecurityOrigin): 65831 * dom/ScriptExecutionContext.h: 65832 (WebCore::ScriptExecutionContext::securityOrigin): 65833 * dom/WorkerContext.cpp: 65834 (WebCore::WorkerContext::WorkerContext): 65835 * dom/WorkerContext.h: 65836 These changes are for the move of securityOrigin(). 65837 65838 * xml/XMLHttpRequest.cpp: 65839 (WebCore::XMLHttpRequest::createRequest): 65840 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): 65841 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 65842 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): 65843 (WebCore::XMLHttpRequest::setRequestHeader): 65844 (WebCore::XMLHttpRequest::getAllResponseHeaders): 65845 (WebCore::XMLHttpRequest::getResponseHeader): 65846 (WebCore::XMLHttpRequest::processSyncLoadResults): 65847 (WebCore::XMLHttpRequest::willSendRequest): 65848 (WebCore::XMLHttpRequest::accessControlCheck): 65849 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 65850 Change XMLHttpRequest to use ScriptExecutionContext instead of Document to access securityOrigin(). 65851 65852 2008-12-02 Andr Pnitz <apoenitz (a] trolltech.com> 65853 65854 Reviewed by Simon Hausmann. 65855 65856 Disable the creation of debug information for the Qt build when done 65857 inside Qt. With 670 mb it was slowing down gdb start significantly 65858 for third-party applications that usually don't need it. 65859 65860 * WebCore.pro: 65861 65862 2008-12-01 Beth Dakin <bdakin (a] apple.com> 65863 65864 Reviewed by Dan Bernstein. 65865 65866 Fix for https://bugs.webkit.org/show_bug.cgi?id=13736 REGRESSION 65867 (r19811): Using the down arrow in a textarea gets "stuck" at the 65868 end of a wrapped line 65869 And corresponding: <rdar://problem/5347931> 65870 65871 The basic problem here is that Position::getInlineBoxAndOffset() 65872 failed to look beyond a single renderer. This patch looks for a 65873 better match beyond the first renderer when the affinity is 65874 downstream and we failed to find a "perfect" match. 65875 * dom/Position.cpp: 65876 (WebCore::isNonTextLeafChild): 65877 (WebCore::searchAheadForBetterMatch): 65878 (WebCore::Position::getInlineBoxAndOffset): 65879 65880 This is a fix I made based on code inspection. It looks like the 65881 old code here and skipped over the parent as a possible match. 65882 * rendering/RenderObject.cpp: 65883 (WebCore::RenderObject::nextInPreOrderAfterChildren): 65884 65885 2008-12-01 Brent Fulgham <bfulgham (a] gmail.com> 65886 65887 Reviewed by Adam Roben. 65888 65889 Add WML related files to Visual Studio projects. 65890 https://bugs.webkit.org/show_bug.cgi?id=22561 65891 65892 * WebCore.vcproj/WebCore.vcproj: 65893 1. Add files from the wml directory to the set of windows files. 65894 2. Extend include paths with new wml directory. 65895 3. Add new autogenerated WML files to DerivedSources. 65896 4. Alphabetize preprocesor includes (holdover from earlier debugging). 65897 65898 2008-12-01 Steve Falkenburg <sfalken (a] apple.com> 65899 65900 Revise node/selection image fix. 65901 Moved updateLayout call so selection rect is fetched after the layout. 65902 65903 Reviewed by Adam Roben. 65904 65905 * page/win/FrameCGWin.cpp: 65906 (WebCore::imageFromRect): 65907 (WebCore::imageFromSelection): 65908 (WebCore::Frame::nodeImage): 65909 65910 2008-12-01 Steve Falkenburg <sfalken (a] apple.com> 65911 65912 Support needed to implement renderedImage for Windows. 65913 https://bugs.webkit.org/show_bug.cgi?25648 65914 65915 Reviewed by Adam Roben. 65916 65917 * page/Frame.h: 65918 * page/win/FrameCGWin.cpp: 65919 (WebCore::imageFromRect): 65920 (WebCore::imageFromSelection): 65921 (WebCore::Frame::nodeImage): 65922 * page/win/FrameCairoWin.cpp: 65923 (WebCore::imageFromNode): 65924 65925 2008-12-01 Simon Fraser <simon.fraser (a] apple.com> 65926 65927 Reviewed by Dan Bernstein 65928 65929 https://bugs.webkit.org/show_bug.cgi?id=22581 65930 65931 Fix the painting of the caps lock indicator for transformed text inputs, 65932 by replacing a call to absoluteContentBox() with code that computes the 65933 painting rect for the input contents. 65934 65935 * rendering/RenderTextControl.cpp: 65936 (WebCore::RenderTextControl::paint): 65937 65938 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65939 65940 Reviewed by George Staikos. 65941 65942 Add two new helper functions to WMLElement, parseValueSubstitutingVariableReferences/parseValueForbiddingVariableReferences. 65943 65944 Convert all elements to parse their attribute values using these new helper functions. This simplifies the 65945 actual attribute parsing code in all WMLElement derived classes, as most WML attribute values either report 65946 an error if there's a variable reference used in the attribute value, or if it's invalid. 65947 65948 Split the WMLErrorInvalidVariableReference error which covered both 'invalid syntax' / 'wrong location' 65949 in two seperated error codes: WMLErrorInvalidVariableReference / WMLErrorInvalidVariableReferenceLocation. 65950 65951 * wml/WMLAccessElement.cpp: 65952 (WebCore::WMLAccessElement::parseMappedAttribute): 65953 * wml/WMLDoElement.cpp: 65954 (WebCore::WMLDoElement::defaultEventHandler): 65955 (WebCore::WMLDoElement::parseMappedAttribute): 65956 * wml/WMLElement.cpp: 65957 (WebCore::WMLElement::parseValueSubstitutingVariableReferences): 65958 (WebCore::WMLElement::parseValueForbiddingVariableReferences): 65959 * wml/WMLElement.h: 65960 * wml/WMLErrorHandling.cpp: 65961 (WebCore::reportWMLError): 65962 * wml/WMLErrorHandling.h: 65963 (WebCore::): 65964 * wml/WMLOnEventElement.cpp: 65965 (WebCore::WMLOnEventElement::parseMappedAttribute): 65966 * wml/WMLPrevElement.cpp: 65967 (WebCore::WMLPrevElement::executeTask): 65968 * wml/WMLSetvarElement.cpp: 65969 (WebCore::WMLSetvarElement::parseMappedAttribute): 65970 * wml/WMLTimerElement.cpp: 65971 (WebCore::WMLTimerElement::parseMappedAttribute): 65972 65973 2008-12-01 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 65974 65975 Reviewed by George Staikos. 65976 65977 Fix switching active cards within a document. No way to test, until <go> support is implemented. 65978 65979 * wml/WMLCardElement.cpp: 65980 (WebCore::WMLCardElement::showCard): 65981 (WebCore::WMLCardElement::hideCard): 65982 (WebCore::WMLCardElement::setActiveCardInDocument): 65983 * wml/WMLCardElement.h: 65984 65985 2008-12-01 David Kilzer <ddkilzer (a] apple.com> 65986 65987 Fix logic error in LegacyWebArchive::create() from r38884. 65988 65989 * loader/archive/cf/LegacyWebArchive.cpp: 65990 (WebCore::LegacyWebArchive::create): Only continue if the 65991 subresource is actually added. 65992 65993 2008-12-01 David Kilzer <ddkilzer (a] apple.com> 65994 65995 Bug 22466: REGRESSION (35867): Many resources missing when saving webarchive of webkit.org 65996 65997 <https://bugs.webkit.org/show_bug.cgi?id=22466> 65998 <rdar://problem/6403593> 65999 66000 Reviewed by Brady Eidson. 66001 66002 Test: http/tests/webarchive/test-preload-resources.html 66003 66004 * loader/archive/cf/LegacyWebArchive.cpp: 66005 (WebCore::LegacyWebArchive::create): Check the WebCore cache for 66006 resources if DocumentLoader::subresource() doesn't return them. 66007 Note that the DocumentLoader::subresource() method returned 66008 preloaded resources before r35867, but this caused a regression in 66009 Mail. 66010 66011 2008-12-01 Julien Chaffraix <jchaffraix (a] webkit.org> 66012 66013 Reviewed by Eric Seidel. 66014 66015 Bug 22564: Make HTML elements' constructors take a QualifiedName 66016 https://bugs.webkit.org/show_bug.cgi?id=22564 66017 66018 - Modified the remaining HTML elements' constructors to take a QualifiedName. 66019 66020 - Added an assertion that the QualifiedName given corresponds to the element constructed. 66021 66022 * bindings/js/JSAudioConstructor.cpp: 66023 (WebCore::constructAudio): 66024 * html/HTMLAudioElement.cpp: 66025 (WebCore::HTMLAudioElement::HTMLAudioElement): 66026 * html/HTMLAudioElement.h: 66027 * html/HTMLBRElement.cpp: 66028 (WebCore::HTMLBRElement::HTMLBRElement): 66029 * html/HTMLBRElement.h: 66030 * html/HTMLElement.cpp: 66031 (WebCore::HTMLElement::setInnerText): 66032 * html/HTMLElementFactory.cpp: 66033 (WebCore::brConstructor): 66034 (WebCore::quoteConstructor): 66035 (WebCore::marqueeConstructor): 66036 (WebCore::audioConstructor): 66037 (WebCore::videoConstructor): 66038 (WebCore::sourceConstructor): 66039 * html/HTMLMarqueeElement.cpp: 66040 (WebCore::HTMLMarqueeElement::HTMLMarqueeElement): 66041 * html/HTMLMarqueeElement.h: 66042 * html/HTMLQuoteElement.cpp: 66043 (WebCore::HTMLQuoteElement::HTMLQuoteElement): 66044 * html/HTMLQuoteElement.h: 66045 * html/HTMLSourceElement.cpp: 66046 (WebCore::HTMLSourceElement::HTMLSourceElement): 66047 * html/HTMLSourceElement.h: 66048 * html/HTMLVideoElement.cpp: 66049 (WebCore::HTMLVideoElement::HTMLVideoElement): 66050 * html/HTMLVideoElement.h: 66051 * rendering/RenderTextControl.cpp: 66052 (WebCore::RenderTextControl::updateFromElement): 66053 66054 2008-12-01 Julien Chaffraix <jchaffraix (a] webkit.org> 66055 66056 Reviewed by Antti Koivisto. 66057 66058 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory 66059 https://bugs.webkit.org/show_bug.cgi?id=22441 66060 66061 Add an assertion to the modified HTML elements' constructor 66062 to check that the QualifiedName parameter is the one that 66063 matches the Element's. 66064 66065 * html/HTMLBaseElement.cpp: 66066 (WebCore::HTMLBaseElement::HTMLBaseElement): 66067 * html/HTMLBlockquoteElement.cpp: 66068 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement): 66069 * html/HTMLBodyElement.cpp: 66070 (WebCore::HTMLBodyElement::HTMLBodyElement): 66071 * html/HTMLButtonElement.cpp: 66072 (WebCore::HTMLButtonElement::HTMLButtonElement): 66073 * html/HTMLDListElement.cpp: 66074 (WebCore::HTMLDListElement::HTMLDListElement): 66075 * html/HTMLDirectoryElement.cpp: 66076 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement): 66077 * html/HTMLDivElement.cpp: 66078 (WebCore::HTMLDivElement::HTMLDivElement): 66079 * html/HTMLFieldSetElement.cpp: 66080 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement): 66081 * html/HTMLFormElement.cpp: 66082 (WebCore::HTMLFormElement::HTMLFormElement): 66083 * html/HTMLFrameElement.cpp: 66084 (WebCore::HTMLFrameElement::HTMLFrameElement): 66085 * html/HTMLFrameSetElement.cpp: 66086 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement): 66087 * html/HTMLHeadElement.cpp: 66088 (WebCore::HTMLHeadElement::HTMLHeadElement): 66089 * html/HTMLHtmlElement.cpp: 66090 (WebCore::HTMLHtmlElement::HTMLHtmlElement): 66091 * html/HTMLIFrameElement.cpp: 66092 (WebCore::HTMLIFrameElement::HTMLIFrameElement): 66093 * html/HTMLInputElement.cpp: 66094 (WebCore::HTMLInputElement::HTMLInputElement): 66095 * html/HTMLIsIndexElement.cpp: 66096 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): 66097 * html/HTMLKeygenElement.cpp: 66098 (WebCore::HTMLKeygenElement::HTMLKeygenElement): 66099 * html/HTMLLIElement.cpp: 66100 (WebCore::HTMLLIElement::HTMLLIElement): 66101 * html/HTMLLabelElement.cpp: 66102 (WebCore::HTMLLabelElement::HTMLLabelElement): 66103 * html/HTMLLegendElement.cpp: 66104 (WebCore::HTMLLegendElement::HTMLLegendElement): 66105 * html/HTMLLinkElement.cpp: 66106 (WebCore::HTMLLinkElement::HTMLLinkElement): 66107 * html/HTMLMenuElement.cpp: 66108 (WebCore::HTMLMenuElement::HTMLMenuElement): 66109 * html/HTMLMetaElement.cpp: 66110 (WebCore::HTMLMetaElement::HTMLMetaElement): 66111 * html/HTMLOListElement.cpp: 66112 (WebCore::HTMLOListElement::HTMLOListElement): 66113 * html/HTMLOptGroupElement.cpp: 66114 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): 66115 * html/HTMLOptionElement.cpp: 66116 (WebCore::HTMLOptionElement::HTMLOptionElement): 66117 * html/HTMLSelectElement.cpp: 66118 (WebCore::HTMLSelectElement::HTMLSelectElement): 66119 * html/HTMLStyleElement.cpp: 66120 (WebCore::HTMLStyleElement::HTMLStyleElement): 66121 * html/HTMLTextAreaElement.cpp: 66122 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): 66123 * html/HTMLTitleElement.cpp: 66124 (WebCore::HTMLTitleElement::HTMLTitleElement): 66125 * html/HTMLUListElement.cpp: 66126 (WebCore::HTMLUListElement::HTMLUListElement): 66127 66128 2008-12-01 Chris Marrin <cmarrin (a] apple.com> 66129 66130 Reviewed by Darin Adler. 66131 66132 https://bugs.webkit.org/show_bug.cgi?id=22046 66133 66134 Fixed another case of crashing because the animation object is getting deleted when 66135 it's in the middle of a callback. I actually moved where I am retaining the pointer 66136 up out of the lower level AnimationBase code and into the timer callback that calls 66137 them. So now the pointer is valid throughout the entire sequence of callback code. 66138 66139 The testcase for https://bugs.webkit.org/show_bug.cgi?id=22052 also exhibits a 66140 crash which this patch fixes. 66141 66142 * page/animation/AnimationBase.cpp: 66143 (WebCore::AnimationBase::updateStateMachine): 66144 (WebCore::AnimationBase::animationTimerCallbackFired): 66145 * page/animation/CompositeAnimation.cpp: 66146 (WebCore::CompositeAnimationPrivate::setAnimationStartTime): 66147 (WebCore::CompositeAnimationPrivate::setTransitionStartTime): 66148 (WebCore::CompositeAnimationPrivate::styleAvailable): 66149 * page/animation/ImplicitAnimation.cpp: 66150 (WebCore::ImplicitAnimation::sendTransitionEvent): 66151 * page/animation/KeyframeAnimation.cpp: 66152 (WebCore::KeyframeAnimation::sendAnimationEvent): 66153 (WebCore::KeyframeAnimation::resumeOverriddenAnimations): 66154 66155 2008-12-01 Tor Arne Vestb <tavestbo (a] trolltech.com> 66156 66157 Reviewed by Simon Hausmann. 66158 66159 [Qt/Mac] Initialize NPAPI plugins before getting their entry points 66160 66161 The old behavior (calling NP_GetEntryPoints before NP_Initialize) was 66162 copied from Windows, but caused Silverlight on Mac to crash when loaded. 66163 66164 Apparently the call order of NP_Initialize and NP_GetEntryPoints is 66165 reversed on Mac. See https://bugzilla.mozilla.org/show_bug.cgi?id=344425 66166 66167 Reported-by: Peter Johnson <peter (a] zattoo.com> 66168 66169 * plugins/mac/PluginPackageMac.cpp: 66170 (WebCore::PluginPackage::load): 66171 66172 2008-11-30 Chris Fleizach <cfleizach (a] apple.com> 66173 66174 Reviewed by John Sullivan. 66175 66176 https://bugs.webkit.org/show_bug.cgi?id=22510 66177 Crash at WebCore::AccessibilityRenderObject::activeDescendant() on Google Reader with ARIA (22510) 66178 66179 A nil pointer needed to be checked 66180 66181 * page/AccessibilityRenderObject.cpp: 66182 (WebCore::AccessibilityRenderObject::activeDescendant): 66183 66184 2008-11-30 Alexey Proskuryakov <ap (a] webkit.org> 66185 66186 Reviewed by Dan Bernstein. 66187 66188 https://bugs.webkit.org/show_bug.cgi?id=22530 66189 Assertion failures seen on buildbot due to uninitialized WorkerThread::m_threadID 66190 66191 * dom/WorkerThread.cpp: 66192 (WebCore::WorkerThread::start): Protect worker startup with a mutex to ensure that this 66193 function runs to completion before the thread begins execution. 66194 (WebCore::WorkerThread::workerThread): Updated comments. 66195 (WebCore::WorkerThread::stop): Ditto. 66196 * dom/WorkerThread.h: Renamed m_workerContextMutex to m_threadCreationMutex, because it now 66197 protects startup as a whole. 66198 66199 * storage/DatabaseThread.cpp: 66200 * storage/DatabaseThread.h: 66201 * storage/LocalStorageThread.cpp: 66202 * storage/LocalStorageThread.h: 66203 Fixed the same m_threadID problem. 66204 66205 2008-11-29 Brent Fulgham <bfulgham (a] gmail.com> 66206 66207 Reviewed by Alexey Proskuryakov. 66208 66209 Remove Visual Studio project dependencies on non-redistributable 66210 components in the Debug_Cairo and Release_Cairo build targets. 66211 See https://bugs.webkit.org/show_bug.cgi?id=22527 66212 66213 * WebCore.vcproj/WebCore.vcproj: 66214 66215 2008-11-29 Sam Weinig <sam (a] webkit.org> 66216 66217 Rubber-stamped by Alexey Proskuryakov. 66218 66219 Fix some sorting 66220 66221 * WebCore.xcodeproj/project.pbxproj: 66222 66223 2008-11-28 Sam Weinig <sam (a] webkit.org> 66224 66225 Reviewed by Alexey Proskuryakov. 66226 66227 Fix for https://bugs.webkit.org/show_bug.cgi?id=21063 66228 NULL pointer crash in dispatchEvent(null); 66229 66230 Test: fast/events/dispatchEvent-crash.html 66231 66232 * dom/MessagePort.cpp: 66233 (WebCore::MessagePort::dispatchEvent): 66234 * dom/Worker.cpp: 66235 (WebCore::Worker::dispatchEvent): 66236 * dom/WorkerContext.cpp: 66237 (WebCore::WorkerContext::dispatchEvent): 66238 * loader/appcache/DOMApplicationCache.cpp: 66239 (WebCore::DOMApplicationCache::dispatchEvent): 66240 * xml/XMLHttpRequest.cpp: 66241 (WebCore::XMLHttpRequest::dispatchEvent): 66242 * xml/XMLHttpRequestUpload.cpp: 66243 (WebCore::XMLHttpRequestUpload::dispatchEvent): 66244 66245 2008-11-29 Dan Bernstein <mitz (a] apple.com> 66246 66247 Reviewed by Alexey Proskuryakov. 66248 66249 - fix https://bugs.webkit.org/show_bug.cgi?id=22454 66250 <rdar://problem/6405550> REGRESSION (3.2-TOT): Crash below FontFallbackList::fontDataAt on jacobian.org 66251 66252 Test: http/tests/misc/font-face-in-multiple-segmented-faces.html 66253 66254 The crash happened because style recalculation was invoked by 66255 CSSFontSelector after one CSSSegmentedFontFace had pruned its tables but 66256 before another CSSSegmentedFontFace using the same CSSFontFace had done 66257 so. The fix is to let all CSSSegmentedFontFaces using the CSSFontFace 66258 prune their tables before telling the CSSFontSelector to recalc style. 66259 66260 * css/CSSFontFace.cpp: 66261 (WebCore::CSSFontFace::fontLoaded): 66262 * css/CSSFontSelector.cpp: 66263 (WebCore::CSSFontSelector::fontLoaded): 66264 * css/CSSFontSelector.h: 66265 * css/CSSSegmentedFontFace.cpp: 66266 (WebCore::CSSSegmentedFontFace::fontLoaded): 66267 66268 2008-11-29 Alexey Proskuryakov <ap (a] webkit.org> 66269 66270 Reviewed by Eric Seidel. 66271 66272 https://bugs.webkit.org/show_bug.cgi?id=14968 66273 document.open() erroneously returns void instead of the new Document 66274 66275 Test: fast/dom/HTMLDocument/document-open-return-value.html 66276 66277 * bindings/js/JSHTMLDocumentCustom.cpp: (WebCore::JSHTMLDocument::open): 66278 Return the document on which this method was invoked, per HTML5. 66279 66280 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66281 66282 Reviewed by Cameron Zwarich. 66283 66284 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22550 66285 66286 Add <timer> element support. It provides a way to execute a task with a delay. 66287 The user is notified by firing the task associated with the <card>'s ontimer attribute. 66288 Only one timer element is allowed per <card> (fix wrong error message in reportWMLError) 66289 66290 * WebCore.xcodeproj/project.pbxproj: 66291 * wml/WMLCardElement.cpp: 66292 (WebCore::WMLCardElement::WMLCardElement): 66293 (WebCore::WMLCardElement::setIntrinsicEventTimer): 66294 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): 66295 * wml/WMLCardElement.h: 66296 * wml/WMLDoElement.cpp: 66297 (WebCore::WMLDoElement::defaultEventHandler): 66298 * wml/WMLErrorHandling.cpp: 66299 (WebCore::reportWMLError): 66300 * wml/WMLPageState.h: 66301 (WebCore::WMLPageState::getVariable): 66302 * wml/WMLPrevElement.cpp: 66303 (WebCore::WMLPrevElement::executeTask): 66304 * wml/WMLRefreshElement.cpp: 66305 (WebCore::WMLRefreshElement::executeTask): 66306 * wml/WMLTagNames.in: 66307 * wml/WMLTimerElement.cpp: Added. 66308 (WebCore::WMLTimerElement::WMLTimerElement): 66309 (WebCore::WMLTimerElement::parseMappedAttribute): 66310 (WebCore::WMLTimerElement::insertedIntoDocument): 66311 (WebCore::WMLTimerElement::timerFired): 66312 (WebCore::WMLTimerElement::start): 66313 (WebCore::WMLTimerElement::stop): 66314 (WebCore::WMLTimerElement::storeIntervalToPageState): 66315 * wml/WMLTimerElement.h: Added. 66316 66317 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66318 66319 Reviewed by Holger Freyther. 66320 66321 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22549 66322 66323 Add <do> element support. It provides a way to bind a task element to a <template>/<card> element. 66324 Changes numerous of layout tests which contain <do> elements, as they render as buttons now. 66325 66326 * WebCore.xcodeproj/project.pbxproj: 66327 * rendering/RenderButton.cpp: 66328 (WebCore::RenderButton::updateFromElement): 66329 * wml/WMLCardElement.cpp: 66330 (WebCore::WMLCardElement::registerDoElement): 66331 * wml/WMLCardElement.h: 66332 * wml/WMLDoElement.cpp: Added. 66333 (WebCore::WMLDoElement::WMLDoElement): 66334 (WebCore::WMLDoElement::defaultEventHandler): 66335 (WebCore::WMLDoElement::parseMappedAttribute): 66336 (WebCore::WMLDoElement::insertedIntoDocument): 66337 (WebCore::WMLDoElement::createRenderer): 66338 (WebCore::WMLDoElement::recalcStyle): 66339 * wml/WMLDoElement.h: Added. 66340 (WebCore::WMLDoElement::registerTask): 66341 (WebCore::WMLDoElement::isActive): 66342 (WebCore::WMLDoElement::label): 66343 (WebCore::WMLDoElement::name): 66344 (WebCore::WMLDoElement::setActive): 66345 (WebCore::WMLDoElement::setNoop): 66346 * wml/WMLNoopElement.cpp: 66347 (WebCore::WMLNoopElement::insertedIntoDocument): 66348 * wml/WMLTagNames.in: 66349 * wml/WMLTaskElement.cpp: 66350 (WebCore::WMLTaskElement::insertedIntoDocument): 66351 66352 2008-11-28 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66353 66354 Reviewed by Sam Weinig. 66355 66356 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22545 66357 66358 Add onenterforward/onenterbackward/ontimer support for <card> elements. 66359 66360 No testing possible at the moment because WMLGoElement is not yet implemented. 66361 After that we can add tests covering the <card> event handling. 66362 66363 * wml/WMLCardElement.cpp: 66364 (WebCore::WMLCardElement::WMLCardElement): 66365 (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): 66366 (WebCore::WMLCardElement::parseMappedAttribute): 66367 (WebCore::WMLCardElement::setActiveCardInDocument): 66368 * wml/WMLCardElement.h: 66369 (WebCore::WMLCardElement::isNewContext): 66370 (WebCore::WMLCardElement::isOrdered): 66371 * wml/WMLDocument.cpp: 66372 (WebCore::WMLDocument::finishedParsing): 66373 * wml/WMLIntrinsicEvent.cpp: 66374 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent): 66375 * wml/WMLIntrinsicEvent.h: 66376 (WebCore::WMLIntrinsicEvent::create): 66377 66378 2008-11-27 Laszlo Gombos <laszlo.1.gombos (a] nokia.com> 66379 66380 Reviewed by Tor Arne Vestb. 66381 66382 Regression seen on QtWebKit - causes a build failure on Win using MinGW 66383 66384 https://bugs.webkit.org/show_bug.cgi?id=22536 66385 66386 * WebCore.pro: 66387 66388 2008-11-28 Simon Hausmann <hausmann (a] webkit.org> 66389 66390 Reviewed by Tor Arne Vestb. 66391 66392 Fix compilation and linking on Windows CE. 66393 66394 Use WIN_OS instead of WIN and therefore exclude determineModuleVersionFromDescription() 66395 from the Windows'ish build. 66396 66397 Link against the newly required mmtimer. 66398 66399 * WebCore.pro: 66400 * plugins/PluginPackage.cpp: 66401 66402 2008-11-28 David Levin <levin (a] chromium.org> 66403 66404 Reviewed by Alexey Proskuryakov. 66405 66406 http://bugs.webkit.org/show_bug.cgi?id=22524 66407 66408 Made static initializations in XMLHttpRequest.cpp thread-safe in preparation for usage 66409 of XMLHttpRequest by Workers (on threads). 66410 66411 No observable change in behavior, so no test. 66412 66413 * xml/XMLHttpRequest.cpp: 66414 (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): 66415 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod): 66416 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders): 66417 (WebCore::PreflightResultCacheItem::allowsRequest): 66418 (WebCore::createXMLHttpRequestStaticData): 66419 (WebCore::initializeXMLHttpRequestStaticData): 66420 (WebCore::XMLHttpRequest::XMLHttpRequest): 66421 (WebCore::XMLHttpRequest::isSafeRequestHeader): 66422 (WebCore::XMLHttpRequest::isOnAccessControlResponseHeaderWhitelist): 66423 * xml/XMLHttpRequest.h: 66424 66425 2008-11-27 Cameron Zwarich <zwarich (a] apple.com> 66426 66427 Not reviewed. 66428 66429 r38825, was committed without checking whether anything in WebCore 66430 uses JSFunction::m_body. Use the appropriate getters and setters 66431 instead. 66432 66433 * inspector/JavaScriptDebugServer.cpp: 66434 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 66435 66436 2008-11-27 Alexey Proskuryakov <ap (a] webkit.org> 66437 66438 Reviewed by Dan Bernstein. 66439 66440 https://bugs.webkit.org/show_bug.cgi?id=22529 66441 Crashes seen on buildbots due to trying to stop a worker thread twice 66442 66443 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed): 66444 Don't try to stop the thread if it's already stopping. 66445 66446 2008-11-27 Kent Hansen <khansen (a] trolltech.com> 66447 66448 Reviewed by Simon Hausmann. 66449 66450 Make JavaScript bindings for Qt plugin widgets work again 66451 this was a regression; need to handle non-NPAPI plugins as in 4.4. 66452 66453 * bindings/js/ScriptControllerQt.cpp: 66454 (WebCore::ScriptController::createScriptInstanceForWidget): 66455 66456 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66457 66458 Reviewed by George Staikos. 66459 66460 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22522 66461 66462 Catch WML errors (invalid variable name/reference, multiple access elements, etc) 66463 while parsing the document, and stop parsing immediately and wrap the document 66464 fragment in a XHTML error document, just like it's done from XML parsing errors. 66465 66466 Until now all card elements were hidden by default (no renderer created), and 66467 WMLDocument::finishedParsing() took care of showing the right card (either the first, 66468 or any named card in the document, specified by document URL reference). Change this 66469 behaviour to support displaying partially parsed WML document fragments: Mark the first 66470 WMLCardElement inserted into the document as visible. If the document parsing finishes 66471 without problems, WMLDocument::finishedParsing() will be called, which takes care of 66472 showing the desired card (common case: first card in the document, which is already 66473 visible, so nothing actually has to be done). If an error occours, the document is 66474 correctly rendered until the error happened - wrapped in a XHTML document. 66475 66476 Fixes: fast/wml/err-event-binding-conflict.wml 66477 fast/wml/err-invalid-variable-name.wml 66478 fast/wml/err-multi-access.wml 66479 fast/wml/err-unallowed-task-in-anchor.wml 66480 66481 * WebCore.xcodeproj/project.pbxproj: 66482 * wml/WMLAccessElement.cpp: 66483 (WebCore::WMLAccessElement::parseMappedAttribute): 66484 (WebCore::WMLAccessElement::insertedIntoDocument): 66485 * wml/WMLAccessElement.h: 66486 * wml/WMLCardElement.cpp: 66487 (WebCore::WMLCardElement::insertedIntoDocument): 66488 (WebCore::WMLCardElement::setActiveCardInDocument): 66489 * wml/WMLCardElement.h: 66490 * wml/WMLDocument.cpp: 66491 (WebCore::WMLDocument::finishedParsing): 66492 * wml/WMLErrorHandling.cpp: Added. 66493 (WebCore::reportWMLError): 66494 * wml/WMLErrorHandling.h: Added. 66495 (WebCore::): 66496 * wml/WMLIntrinsicEventHandler.cpp: 66497 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent): 66498 * wml/WMLIntrinsicEventHandler.h: 66499 * wml/WMLNoopElement.cpp: 66500 (WebCore::WMLNoopElement::insertedIntoDocument): 66501 * wml/WMLOnEventElement.cpp: 66502 (WebCore::WMLOnEventElement::parseMappedAttribute): 66503 (WebCore::WMLOnEventElement::registerTask): 66504 * wml/WMLPageState.cpp: 66505 (WebCore::WMLPageState::setNeedCheckDeckAccess): 66506 * wml/WMLPageState.h: 66507 * wml/WMLSetvarElement.cpp: 66508 (WebCore::WMLSetvarElement::parseMappedAttribute): 66509 66510 2008-11-26 Glenn Wilson <gwilson (a] chromium.org> 66511 66512 Reviewed by Dan Bernstein. 66513 66514 Fixed bug http://bugs.webkit.org/show_bug.cgi?id=21953 66515 66516 This fixes the crash when the small-caps font variant is used 66517 on a lower-case glyph that does not have a corresponding 66518 upper-case glyph defined in the set of available fonts. 66519 66520 This changes Font.cpp to check if the font being used exists before trying to apply the small-caps variant. 66521 66522 Test: fast/css/small-caps-crash.html 66523 66524 * platform/graphics/Font.cpp: 66525 (WebCore::Font::glyphDataForCharacter): 66526 66527 2008-11-26 Tony Chang <tony (a] chromium.org> 66528 66529 Reviewed by Oliver Hunt. 66530 66531 Add a new platform specific method cleanupAfterSystemDrag 66532 that platforms can ue to clean up drag state after a 66533 system drag. Use this method on PLAFORM(MAC). 66534 https://bugs.webkit.org/show_bug.cgi?id=21956 66535 66536 * ChangeLog: 66537 * page/DragController.cpp: 66538 (WebCore::DragController::doSystemDrag): 66539 * page/DragController.h: 66540 * page/gtk/DragControllerGtk.cpp: 66541 (WebCore::DragController::cleanupAfterSystemDrag): 66542 * page/mac/DragControllerMac.mm: 66543 (WebCore::DragController::cleanupAfterSystemDrag): 66544 * page/qt/DragControllerQt.cpp: 66545 (WebCore::DragController::cleanupAfterSystemDrag): 66546 * page/win/DragControllerWin.cpp: 66547 (WebCore::DragController::cleanupAfterSystemDrag): 66548 * page/wx/DragControllerWx.cpp: 66549 (WebCore::DragController::cleanupAfterSystemDrag): 66550 66551 2008-11-26 Nikolas Zimmermann <zimmermann (a] kde.org> 66552 66553 Reviewed by Oliver Hunt. 66554 66555 Fix path to string logic, correctly taking closed (sub-)paths into account. 66556 Code was just broken on cg, observed by Dirk Schulze. 66557 66558 QPainterPath doesn't seem to expose any functionality to detect closed sub paths, 66559 using the elementAt() function. There might be a workaround - Dirk will investigate. 66560 66561 * platform/graphics/cg/PathCG.cpp: 66562 (WebCore::CGPathToCFStringApplierFunction): 66563 * platform/graphics/cairo/PathCairo.cpp: 66564 (WebCore::Path::debugString): 66565 66566 2008-11-26 Darin Fisher <darin (a] chromium.org> 66567 66568 Reviewed by Eric Seidel. 66569 66570 https://bugs.webkit.org/show_bug.cgi?id=22519 66571 Remove unnecessary include. 66572 66573 * dom/XMLTokenizer.cpp: 66574 66575 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66576 66577 Reviewed by Oliver Hunt. 66578 66579 Add <noop> element support, completing the task element support. 66580 66581 * WebCore.xcodeproj/project.pbxproj: 66582 * wml/WMLNoopElement.cpp: Added. 66583 (WebCore::WMLNoopElement::WMLNoopElement): 66584 (WebCore::WMLNoopElement::insertedIntoDocument): 66585 * wml/WMLNoopElement.h: Added. 66586 * wml/WMLTagNames.in: Reorganize file a bit. 66587 66588 2008-11-26 Julien Chaffraix <jchaffraix (a] webkit.org> 66589 66590 Reviewed by Eric Seidel. 66591 66592 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory 66593 https://bugs.webkit.org/show_bug.cgi?id=22441 66594 66595 Make more HTML elements' constructors take a QualifiedName. 66596 66597 * editing/DeleteButtonController.cpp: 66598 (WebCore::DeleteButtonController::createDeletionUI): 66599 * html/HTMLBlockquoteElement.cpp: 66600 (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement): 66601 * html/HTMLBlockquoteElement.h: 66602 * html/HTMLButtonElement.cpp: 66603 (WebCore::HTMLButtonElement::HTMLButtonElement): 66604 * html/HTMLButtonElement.h: 66605 * html/HTMLDListElement.cpp: 66606 (WebCore::HTMLDListElement::HTMLDListElement): 66607 * html/HTMLDListElement.h: 66608 * html/HTMLDirectoryElement.cpp: 66609 (WebCore::HTMLDirectoryElement::HTMLDirectoryElement): 66610 * html/HTMLDirectoryElement.h: 66611 * html/HTMLDivElement.cpp: 66612 (WebCore::HTMLDivElement::HTMLDivElement): 66613 * html/HTMLDivElement.h: 66614 * html/HTMLElementFactory.cpp: 66615 (WebCore::styleConstructor): 66616 (WebCore::titleConstructor): 66617 (WebCore::frameConstructor): 66618 (WebCore::framesetConstructor): 66619 (WebCore::iframeConstructor): 66620 (WebCore::formConstructor): 66621 (WebCore::buttonConstructor): 66622 (WebCore::inputConstructor): 66623 (WebCore::isindexConstructor): 66624 (WebCore::fieldsetConstructor): 66625 (WebCore::keygenConstructor): 66626 (WebCore::labelConstructor): 66627 (WebCore::legendConstructor): 66628 (WebCore::optgroupConstructor): 66629 (WebCore::optionConstructor): 66630 (WebCore::selectConstructor): 66631 (WebCore::textareaConstructor): 66632 (WebCore::dlConstructor): 66633 (WebCore::ulConstructor): 66634 (WebCore::olConstructor): 66635 (WebCore::dirConstructor): 66636 (WebCore::menuConstructor): 66637 (WebCore::liConstructor): 66638 (WebCore::blockquoteConstructor): 66639 (WebCore::divConstructor): 66640 (WebCore::headingConstructor): 66641 * html/HTMLFieldSetElement.cpp: 66642 (WebCore::HTMLFieldSetElement::HTMLFieldSetElement): 66643 * html/HTMLFieldSetElement.h: 66644 * html/HTMLFormElement.cpp: 66645 (WebCore::HTMLFormElement::HTMLFormElement): 66646 * html/HTMLFormElement.h: 66647 * html/HTMLFrameElement.cpp: 66648 (WebCore::HTMLFrameElement::HTMLFrameElement): 66649 * html/HTMLFrameElement.h: 66650 * html/HTMLFrameSetElement.cpp: 66651 (WebCore::HTMLFrameSetElement::HTMLFrameSetElement): 66652 * html/HTMLFrameSetElement.h: 66653 * html/HTMLIFrameElement.cpp: 66654 (WebCore::HTMLIFrameElement::HTMLIFrameElement): 66655 * html/HTMLIFrameElement.h: 66656 * html/HTMLInputElement.cpp: 66657 * html/HTMLInputElement.h: 66658 * html/HTMLIsIndexElement.cpp: 66659 (WebCore::HTMLIsIndexElement::HTMLIsIndexElement): 66660 * html/HTMLIsIndexElement.h: 66661 * html/HTMLKeygenElement.cpp: 66662 (WebCore::HTMLKeygenElement::HTMLKeygenElement): 66663 * html/HTMLKeygenElement.h: 66664 * html/HTMLLIElement.cpp: 66665 (WebCore::HTMLLIElement::HTMLLIElement): 66666 * html/HTMLLIElement.h: 66667 * html/HTMLLabelElement.cpp: 66668 (WebCore::HTMLLabelElement::HTMLLabelElement): 66669 * html/HTMLLabelElement.h: 66670 * html/HTMLLegendElement.cpp: 66671 (WebCore::HTMLLegendElement::HTMLLegendElement): 66672 * html/HTMLLegendElement.h: 66673 * html/HTMLMenuElement.cpp: 66674 (WebCore::HTMLMenuElement::HTMLMenuElement): 66675 * html/HTMLMenuElement.h: 66676 * html/HTMLOListElement.cpp: 66677 (WebCore::HTMLOListElement::HTMLOListElement): 66678 * html/HTMLOListElement.h: 66679 * html/HTMLOptGroupElement.cpp: 66680 (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): 66681 * html/HTMLOptGroupElement.h: 66682 * html/HTMLOptionElement.cpp: 66683 (WebCore::HTMLOptionElement::HTMLOptionElement): 66684 * html/HTMLOptionElement.h: 66685 * html/HTMLParser.cpp: 66686 (WebCore::HTMLParser::formCreateErrorCheck): 66687 (WebCore::HTMLParser::handleIsindex): 66688 * html/HTMLSelectElement.cpp: 66689 * html/HTMLSelectElement.h: 66690 * html/HTMLStyleElement.cpp: 66691 (WebCore::HTMLStyleElement::HTMLStyleElement): 66692 * html/HTMLStyleElement.h: 66693 * html/HTMLTextAreaElement.cpp: 66694 (WebCore::HTMLTextAreaElement::HTMLTextAreaElement): 66695 * html/HTMLTextAreaElement.h: 66696 * html/HTMLTitleElement.cpp: 66697 (WebCore::HTMLTitleElement::HTMLTitleElement): 66698 * html/HTMLTitleElement.h: 66699 * html/HTMLUListElement.cpp: 66700 (WebCore::HTMLUListElement::HTMLUListElement): 66701 * html/HTMLUListElement.h: 66702 * html/HTMLViewSourceDocument.cpp: 66703 (WebCore::HTMLViewSourceDocument::createContainingTable): 66704 * rendering/MediaControlElements.cpp: 66705 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 66706 (WebCore::MediaControlInputElement::MediaControlInputElement): 66707 * rendering/RenderFileUploadControl.cpp: 66708 (WebCore::HTMLFileUploadInnerButtonElement::HTMLFileUploadInnerButtonElement): 66709 * rendering/RenderMedia.cpp: 66710 (WebCore::RenderMedia::createPanel): 66711 (WebCore::RenderMedia::createTimeDisplay): 66712 * rendering/RenderSlider.cpp: 66713 (WebCore::HTMLSliderThumbElement::HTMLSliderThumbElement): 66714 * rendering/TextControlInnerElements.cpp: 66715 (WebCore::TextControlInnerElement::TextControlInnerElement): 66716 66717 2008-11-26 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66718 66719 Reviewed by Sam Weinig. 66720 66721 Fix obvious problem in WMLPageState constructor, m_page was not set to the passed Page pointer. 66722 66723 * wml/WMLPageState.cpp: 66724 (WebCore::WMLPageState::WMLPageState): 66725 66726 2008-11-26 Matt Perry <mpcomplete (a] gmail.com> 66727 66728 Fix Qt bustage. 66729 66730 See https://bugs.webkit.org/show_bug.cgi?id=22051 66731 66732 * platform/qt/RenderThemeQt.cpp: 66733 (WebCore::RenderThemeQt::extraDefaultStyleSheet): 66734 66735 2008-11-26 Matt Perry <mpcomplete (a] gmail.com> 66736 66737 Reviewed by Maciej Stachowiak. 66738 66739 Fix https://bugs.webkit.org/show_bug.cgi?id=22051 66740 Renderthemes should be able to supply additional CSS rules to the core 66741 ones. 66742 66743 * DerivedSources.make: 66744 * css/CSSStyleSelector.cpp: 66745 (WebCore::parseUASheet): 66746 (WebCore::loadFullDefaultStyle): 66747 (WebCore::loadSimpleDefaultStyle): 66748 * css/themeWin.css: Added. 66749 * css/themeWinQuirks.css: Added. 66750 * platform/qt/RenderThemeQt.cpp: 66751 (WebCore::RenderThemeQt::extraDefaultStyleSheet): 66752 * platform/qt/RenderThemeQt.h: 66753 * rendering/RenderTheme.cpp: 66754 * rendering/RenderTheme.h: 66755 (WebCore::RenderTheme::extraDefaultStyleSheet): 66756 (WebCore::RenderTheme::extraQuirksStyleSheet): 66757 * rendering/RenderThemeWin.cpp: 66758 (WebCore::RenderThemeWin::extraDefaultStyleSheet): 66759 (WebCore::RenderThemeWin::extraQuirksStyleSheet): 66760 * rendering/RenderThemeWin.h: 66761 66762 2008-11-26 David Kilzer <ddkilzer (a] apple.com> 66763 66764 Make CSSStyleSheet::addSubresourceURLStrings() iterative 66765 66766 Part of the fix for Bug 11850: Webarchive fails to save images referenced in CSS 66767 <https://bugs.webkit.org/show_bug.cgi?id=11850> 66768 66769 Reviewed by Brady Eidson. 66770 66771 * css/CSSStyleSheet.cpp: 66772 (WebCore::CSSStyleSheet::addSubresourceURLStrings): Switch algorithm 66773 from recursive to iterative for gathering the list of all CSS 66774 stylesheets referenced in @import statements. 66775 66776 2008-11-26 Dirk Schulze <krit (a] webkit.org> 66777 66778 Reviewed by Simon Hausmann. 66779 66780 Transformations to the context shouldn't transform the currentPath. 66781 Fixed this on Qt. 66782 66783 [QT] GraphicsContext's currenPath can be transformed 66784 https://bugs.webkit.org/show_bug.cgi?id=22163 66785 66786 * platform/graphics/GraphicsContextPrivate.h: 66787 * platform/graphics/qt/GraphicsContextQt.cpp: 66788 (WebCore::GraphicsContext::restorePlatformState): 66789 (WebCore::GraphicsContext::fillPath): 66790 (WebCore::GraphicsContext::strokePath): 66791 (WebCore::GraphicsContext::fillRect): 66792 (WebCore::GraphicsContext::translate): 66793 (WebCore::GraphicsContext::rotate): 66794 (WebCore::GraphicsContext::scale): 66795 (WebCore::GraphicsContext::concatCTM): 66796 66797 2008-11-26 Jan Michael Alonzo <jmalonzo (a] webkit.org> 66798 66799 Gtk build script minor fixes. Not reviewed. 66800 66801 * GNUmakefile.am: 66802 - Add ScriptInstance.h (introduced in r38774) to 66803 the build. 66804 - Move WML and GEOLOCATION conditionals before the SVG 66805 conditional to be consistent with the style of the script. 66806 - Move GeolocationGtk sources to webcoregtk_sources. 66807 66808 2008-11-26 Dmitry Titov <dimich (a] chromium.org> 66809 66810 Reviewed by Darin Adler and Eric Seidel. 66811 66812 https://bugs.webkit.org/show_bug.cgi?id=22469 66813 66814 Move the class DOMWindowTimer from JSDOMWindowBase into its own file in 66815 preparation to making it work for Workers. For now, just move the code and couple 66816 of global variables. 66817 66818 * GNUmakefile.am: 66819 * WebCore.pro: 66820 * WebCore.vcproj/WebCore.vcproj: 66821 * WebCore.xcodeproj/project.pbxproj: 66822 * WebCoreSources.bkl: 66823 * bindings/js/JSDOMWindowBase.cpp: 66824 (WebCore::JSDOMWindowBase::installTimeout): 66825 (WebCore::JSDOMWindowBase::pauseTimeouts): 66826 (WebCore::JSDOMWindowBase::resumeTimeouts): 66827 (WebCore::JSDOMWindowBase::timerFired): 66828 * bindings/js/JSDOMWindowBase.h: 66829 * bindings/js/DOMTimer.cpp: Added. 66830 (WebCore::DOMTimer::DOMTimer): 66831 (WebCore::DOMTimer::~DOMTimer): 66832 (WebCore::DOMTimer::fired): 66833 * bindings/js/DOMTimer.h: Added. 66834 (WebCore::DOMTimer::timeoutId): 66835 (WebCore::DOMTimer::nestingLevel): 66836 (WebCore::DOMTimer::setNestingLevel): 66837 (WebCore::DOMTimer::action): 66838 (WebCore::DOMTimer::takeAction): 66839 66840 2008-11-25 Darin Fisher <darin (a] chromium.org> 66841 66842 Fix bustage. 66843 66844 https://bugs.webkit.org/show_bug.cgi?id=22493 66845 Need to expose bridge/*.h to the WebKit build. 66846 66847 * WebCore.vcproj/WebCore.vcproj: 66848 66849 2008-11-25 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66850 66851 Not reviewed. Fix build, by removing some wrong last-minute changes. 66852 66853 * wml/WMLIntrinsicEvent.cpp: 66854 (WebCore::createTaskElement): 66855 * wml/WMLOnEventElement.cpp: 66856 (WebCore::WMLOnEventElement::registerTask): 66857 66858 2008-11-25 Darin Fisher <darin (a] chromium.org> 66859 66860 Reviewed by Geoffrey Garen. 66861 66862 https://bugs.webkit.org/show_bug.cgi?id=22493 66863 Abstract away JSC:: usage in WebCore/html 66864 66865 * WebCore.xcodeproj/project.pbxproj: 66866 * bindings/js/JSPluginElementFunctions.cpp: 66867 (WebCore::pluginInstance): 66868 * bindings/js/ScriptController.h: 66869 * bindings/js/ScriptControllerMac.mm: 66870 (WebCore::ScriptController::createScriptInstanceForWidget): 66871 * bindings/js/ScriptInstance.h: Added. 66872 * html/HTMLPlugInElement.cpp: 66873 (WebCore::HTMLPlugInElement::~HTMLPlugInElement): 66874 (WebCore::HTMLPlugInElement::getInstance): 66875 * html/HTMLPlugInElement.h: 66876 66877 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 66878 66879 Reviewed by Sam Weinig. 66880 66881 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22477 66882 66883 A WMLTaskElement checks wheter it's parent is an <anchor>/<do>/<onevent> element, and calls registerTask(this) on the parent. 66884 Add a isWMLTaskElement() function to WMLElement, making it possible to cast to WMLTaskElement directly. 66885 66886 Add WMLEventHandlingElement class, inheriting from WMLElement, to serve as common base WMLTemplate/Option/CardElement, 66887 centralizing the eventHandler() / createEventHandlerIfNeeded() implementation. Add a isWMLEventHandlingElement() 66888 function to WMLElement, so WMLOnEventElement can create event handlers, without knowing wheter it's a 66889 <template>/<option> or <card> element. 66890 66891 Add complete <onevent> support. 66892 66893 * WebCore.xcodeproj/project.pbxproj: 66894 * wml/WMLCardElement.cpp: 66895 (WebCore::WMLCardElement::WMLCardElement): 66896 (WebCore::WMLCardElement::setActiveCardInDocument): 66897 * wml/WMLCardElement.h: 66898 (WebCore::WMLCardElement::isVisible): 66899 (WebCore::WMLCardElement::setVisible): 66900 * wml/WMLElement.h: 66901 (WebCore::WMLElement::isWMLTaskElement): 66902 * wml/WMLEventHandlingElement.cpp: Added. 66903 (WebCore::WMLEventHandlingElement::WMLEventHandlingElement): 66904 (WebCore::WMLEventHandlingElement::createEventHandlerIfNeeded): 66905 * wml/WMLEventHandlingElement.h: Added. 66906 (WebCore::WMLEventHandlingElement::isWMLEventHandlingElement): 66907 (WebCore::WMLEventHandlingElement::eventHandler): 66908 * wml/WMLOnEventElement.cpp: Added. 66909 (WebCore::WMLOnEventElement::WMLOnEventElement): 66910 (WebCore::WMLOnEventElement::parseMappedAttribute): 66911 (WebCore::WMLOnEventElement::registerTask): 66912 * wml/WMLOnEventElement.h: Added. 66913 * wml/WMLSetvarElement.cpp: 66914 (WebCore::WMLSetvarElement::parseMappedAttribute): 66915 (WebCore::WMLSetvarElement::insertedIntoDocument): 66916 * wml/WMLTagNames.in: 66917 * wml/WMLTaskElement.cpp: 66918 (WebCore::WMLTaskElement::insertedIntoDocument): 66919 * wml/WMLTaskElement.h: 66920 (WebCore::WMLTaskElement::isWMLTaskElement): 66921 66922 2008-11-25 Pierre-Olivier Latour <pol (a] apple.com> 66923 66924 Reviewed by Mark Rowe. 66925 66926 createFontCustomPlatformData() crashes if CGFontCreateWithPlatformFont() returns NULL 66927 66928 https://bugs.webkit.org/show_bug.cgi?id=22503 66929 66930 * platform/graphics/mac/FontCustomPlatformData.cpp: 66931 (WebCore::createFontCustomPlatformData): 66932 66933 2008-11-25 Julien Chaffraix <jchaffraix (a] webkit.org> 66934 66935 Reviewed by Eric Seidel. 66936 66937 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory 66938 https://bugs.webkit.org/show_bug.cgi?id=22441 66939 66940 Element's other than HTML ones take a QualifiedName in their constructors. 66941 To make HTMLElementFactory closer to the other ElementFactory, we need 66942 to make them take the same arguments. 66943 This patch only makes the 5 first one in HTMLElementFactory abide by that. The others 66944 will go into the next patch. 66945 66946 * dom/Document.cpp: 66947 (WebCore::Document::implicitClose): 66948 * html/HTMLBaseElement.cpp: 66949 (WebCore::HTMLBaseElement::HTMLBaseElement): 66950 * html/HTMLBaseElement.h: 66951 * html/HTMLBodyElement.cpp: 66952 (WebCore::HTMLBodyElement::HTMLBodyElement): 66953 * html/HTMLBodyElement.h: 66954 * html/HTMLElementFactory.cpp: 66955 (WebCore::htmlConstructor): 66956 (WebCore::headConstructor): 66957 (WebCore::bodyConstructor): 66958 (WebCore::baseConstructor): 66959 (WebCore::linkConstructor): 66960 (WebCore::metaConstructor): 66961 * html/HTMLHeadElement.cpp: 66962 (WebCore::HTMLHeadElement::HTMLHeadElement): 66963 * html/HTMLHeadElement.h: 66964 * html/HTMLHtmlElement.cpp: 66965 (WebCore::HTMLHtmlElement::HTMLHtmlElement): 66966 * html/HTMLHtmlElement.h: 66967 * html/HTMLLinkElement.cpp: 66968 (WebCore::HTMLLinkElement::HTMLLinkElement): 66969 * html/HTMLLinkElement.h: 66970 * html/HTMLMetaElement.cpp: 66971 (WebCore::HTMLMetaElement::HTMLMetaElement): 66972 * html/HTMLMetaElement.h: 66973 * html/HTMLParser.cpp: 66974 (WebCore::HTMLParser::handleError): 66975 (WebCore::HTMLParser::headCreateErrorCheck): 66976 (WebCore::HTMLParser::createHead): 66977 (WebCore::HTMLParser::finished): 66978 * html/HTMLViewSourceDocument.cpp: 66979 (WebCore::HTMLViewSourceDocument::createContainingTable): 66980 66981 2008-11-25 Chris Marrin <cmarrin (a] apple.com> 66982 66983 Reviewed by Dan Bernstein. 66984 66985 Fix for https://bugs.webkit.org/show_bug.cgi?id=22487 66986 I was not checking for the case of 0 length keyframe lists and dereffing a null pointer. 66987 66988 Tests: animations/empty-keyframes.html 66989 animations/fill-unset-properties.html 66990 66991 * css/CSSStyleSelector.cpp: 66992 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 66993 66994 2008-11-25 Chris Marrin <cmarrin (a] apple.com> 66995 66996 Reviewed by Darin Adler 66997 66998 https://bugs.webkit.org/show_bug.cgi?id=22046 66999 67000 Fix a crash when an animation or transition end event handler 67001 removes the element upon which the transition/animation is running, 67002 by keeping a reference to the AnimationBase object on the stack. 67003 67004 Tests: animations/transform-animation-event-destroy-element.html 67005 transitions/transform-transition-event-destroy-element.html 67006 67007 * page/animation/AnimationBase.cpp: 67008 (WebCore::AnimationBase::setChanged): 67009 (WebCore::AnimationBase::updateStateMachine): 67010 * page/animation/AnimationBase.h: 67011 (WebCore::AnimationBase::clearRenderer): 67012 * page/animation/AnimationController.cpp: 67013 (WebCore::AnimationControllerPrivate::clear): 67014 * page/animation/CompositeAnimation.cpp: 67015 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate): 67016 * page/animation/CompositeAnimation.h: 67017 67018 2008-11-25 Kevin Ollivier <kevino (a] theolliviers.com> 67019 67020 Better wx build fix - support PurgeableBuffer on Mac. 67021 67022 * platform/PurgeableBuffer.h: 67023 * webcore-wx.bkl: 67024 67025 2008-11-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 67026 67027 Reviewed by David Kilzer. 67028 67029 https://bugs.webkit.org/show_bug.cgi?id=22022 67030 67031 Add GeoleocationServiceGtk stubs and integrate it into the buildsystem 67032 67033 Add stubs for a Gtk Implementation. 67034 67035 * GNUmakefile.am: 67036 * platform/gtk/GeolocationServiceGtk.cpp: Added. 67037 (WebCore::GeolocationService::create): 67038 (WebCore::GeolocationServiceGtk::GeolocationServiceGtk): 67039 (WebCore::GeolocationServiceGtk::startUpdating): 67040 (WebCore::GeolocationServiceGtk::stopUpdating): 67041 (WebCore::GeolocationServiceGtk::suspend): 67042 (WebCore::GeolocationServiceGtk::resume): 67043 (WebCore::GeolocationServiceGtk::lastPosition): 67044 (WebCore::GeolocationServiceGtk::lastError): 67045 * platform/gtk/GeolocationServiceGtk.h: Added. 67046 67047 2008-11-25 Kevin Ollivier <kevino (a] theolliviers.com> 67048 67049 wx build fix - we don't support PurgeableBuffer on Leopard for now. 67050 67051 * platform/PurgeableBuffer.h: 67052 67053 2008-11-25 Antti Koivisto <antti (a] apple.com> 67054 67055 Reviewed by Mark Rowe. 67056 67057 Fix https://bugs.webkit.org/show_bug.cgi?id=22483 67058 Assertion failure in CachedResource::makePurgeable during layout tests 67059 67060 Deleting SVG image can re-enter destroyDecodedData. 67061 67062 * loader/CachedImage.cpp: 67063 (WebCore::CachedImage::destroyDecodedData): 67064 67065 2008-11-25 David Levin <levin (a] chromium.org> 67066 67067 Reviewed by Alexey Proskuryakov. 67068 67069 https://bugs.webkit.org/show_bug.cgi?id=22443 67070 Made the PreflightResultCache thread-safe in preparation for usage of XMLHttpRequest by 67071 Workers on threads. 67072 67073 No observable change in behavior, so no test. 67074 67075 * platform/text/PlatformString.h: 67076 * platform/text/String.cpp: 67077 (WebCore::String::substringCopy): 67078 * platform/text/StringImpl.cpp: 67079 (WebCore::StringImpl::substringCopy): 67080 * platform/text/StringImpl.h: 67081 Added the ability to copy a substring. 67082 67083 * xml/XMLHttpRequest.cpp: 67084 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem): 67085 (WebCore::PreflightResultCache::PreflightResultCache): 67086 (WebCore::PreflightResultCacheItem::addToAccessControlAllowList): 67087 (WebCore::PreflightResultCacheItem::parseAccessControlAllowList): 67088 (WebCore::PreflightResultCacheItem::parseAccessControlMaxAge): 67089 (WebCore::PreflightResultCacheItem::parse): 67090 (WebCore::PreflightResultCacheItem::allowsRequest): 67091 (WebCore::PreflightResultCache::shared): 67092 (WebCore::PreflightResultCache::appendEntry): 67093 (WebCore::PreflightResultCache::canSkipPreflight): 67094 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 67095 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 67096 Made the PreflightResultCache threadsafe. 67097 67098 (WebCore::PreflightResultCacheItem::allowsCrossSiteMethod): 67099 (WebCore::PreflightResultCacheItem::allowsCrossSiteHeaders): 67100 Consolidation of duplicate logic. 67101 67102 2008-11-24 Jungshik Shin <jshin (a] chromium.org> 67103 67104 Reviewed by Darin Adler. 67105 67106 For Unicode encodings other than UTF-8, use UTF-8 for 67107 form submission and URL query part encoding. 67108 67109 See https://bugs.webkit.org/show_bug.cgi?id=21635 67110 67111 Tests: http/tests/misc/submit-get-in-utf16be.html 67112 http/tests/misc/submit-get-in-utf16le.html 67113 http/tests/misc/submit-get-in-utf32be.html 67114 http/tests/misc/submit-get-in-utf32le.html 67115 http/tests/misc/submit-get-in-utf7.html 67116 http/tests/misc/submit-post-in-utf16be.html 67117 http/tests/misc/submit-post-in-utf16le.html 67118 http/tests/misc/submit-post-in-utf32be.html 67119 http/tests/misc/submit-post-in-utf32le.html 67120 http/tests/misc/submit-post-in-utf7.html 67121 http/tests/misc/url-in-utf16be.html 67122 http/tests/misc/url-in-utf16le.html 67123 http/tests/misc/url-in-utf32be.html 67124 http/tests/misc/url-in-utf32le.html 67125 http/tests/misc/url-in-utf7.html 67126 67127 * html/HTMLFormElement.cpp: 67128 (WebCore::HTMLFormElement::formData): 67129 * loader/TextResourceDecoder.cpp: 67130 (WebCore::TextResourceDecoder::setEncoding): 67131 * platform/KURL.cpp: 67132 (WebCore::KURL::KURL): 67133 * platform/text/TextEncoding.cpp: 67134 (WebCore::UTF7Encoding): 67135 (WebCore::TextEncoding::isNonByteBasedEncoding): 67136 (WebCore::TextEncoding::closestByteBasedEquivalent): 67137 (WebCore::TextEncoding::encodingForFormSubmission): 67138 * platform/text/TextEncoding.h: 67139 67140 2008-11-24 Julien Chaffraix <jchaffraix (a] webkit.org> 67141 67142 Reviewed by Darin Adler. 67143 67144 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory 67145 https://bugs.webkit.org/show_bug.cgi?id=22441 67146 67147 - Make the generated ElementFactory constructors return PassRefPtr instead of raw pointers. 67148 67149 - Tweaked the generated files to better match our coding style. 67150 67151 * dom/make_names.pl: 67152 67153 2008-11-24 Antti Koivisto <antti (a] apple.com> 67154 67155 Reviewed by Darin Adler. 67156 67157 Fix for https://bugs.webkit.org/show_bug.cgi?id=22073 67158 REGRESSION(r33544): Palace in the Sky crashes WebKit 67159 67160 HTMLTokenizer::m_hasScriptsWaitingForStylesheets would still be set while 67161 there were no scripts left to execute. 67162 67163 If m_hasScriptsWaitingForStylesheets becomes true during script execution 67164 bail out from executing more scripts synchronously. 67165 67166 Test: fast/tokenizer/nested-cached-scripts-and-stylesheet.html 67167 67168 * html/HTMLTokenizer.cpp: 67169 (WebCore::HTMLTokenizer::reset): 67170 (WebCore::HTMLTokenizer::notifyFinished): 67171 67172 2008-11-24 Darin Fisher <darin (a] chromium.org> 67173 67174 Reviewed by Geoffrey Garen. 67175 67176 https://bugs.webkit.org/show_bug.cgi?id=22465 67177 Define KURL::copy() and use it in WorkerThread.cpp 67178 67179 * dom/WorkerThread.cpp: 67180 (WebCore::WorkerThread::WorkerThread): 67181 * platform/KURL.cpp: 67182 (WebCore::KURL::copy): 67183 * platform/KURL.h: 67184 67185 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67186 67187 Reviewed by Sam Weinig. 67188 67189 Name enum values in a style guide compatible way. 67190 Allow WMLIntrinsicEvent inclusion, without needing other includes. 67191 67192 * wml/WMLIntrinsicEvent.cpp: 67193 (WebCore::createTaskElement): 67194 * wml/WMLIntrinsicEvent.h: 67195 * wml/WMLIntrinsicEventHandler.cpp: 67196 * wml/WMLIntrinsicEventHandler.h: 67197 (WebCore::): 67198 67199 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67200 67201 Reviewed by Sam Weinig. 67202 67203 Add wmlPageStateForDocument() helper function and use it in some places. 67204 67205 * wml/WMLAccessElement.cpp: 67206 (WebCore::WMLAccessElement::parseMappedAttribute): 67207 * wml/WMLDocument.cpp: 67208 (WebCore::WMLDocument::WMLDocument): 67209 (WebCore::WMLDocument::finishedParsing): 67210 (WebCore::wmlPageStateForDocument): 67211 * wml/WMLDocument.h: 67212 * wml/WMLGoElement.cpp: 67213 (WebCore::WMLGoElement::executeTask): 67214 * wml/WMLPrevElement.cpp: 67215 (WebCore::WMLPrevElement::executeTask): 67216 * wml/WMLRefreshElement.cpp: 67217 (WebCore::WMLRefreshElement::executeTask): 67218 * wml/WMLTaskElement.cpp: 67219 (WebCore::WMLTaskElement::storeVariableState): 67220 * wml/WMLTaskElement.h: 67221 67222 2008-11-24 Antti Koivisto <antti (a] apple.com> 67223 67224 Reviewed by Geoff Garen and Sam Weinig. 67225 67226 https://bugs.webkit.org/show_bug.cgi?id=22214 67227 Keep dead resources in memory cache in purgeable memory. 67228 <rdar://problem/6333088> 67229 67230 OS X 10.5 has purgeable memory kernel facility that allows marking reserved memory 67231 areas as less important. Under memory pressure system can steal pages that have 67232 been marked purgeable for (hopefully) better uses. This is ideal for caches. 67233 67234 Only resources larger than 16KB will be moved to the purgeable memory. 67235 67236 * WebCore.base.exp: 67237 * WebCore.vcproj/WebCore.vcproj: 67238 * WebCore.xcodeproj/project.pbxproj: 67239 * loader/Cache.cpp: 67240 (WebCore::Cache::requestResource): 67241 (WebCore::Cache::requestUserCSSStyleSheet): 67242 (WebCore::Cache::resourceForURL): 67243 (WebCore::Cache::pruneDeadResources): 67244 (WebCore::Cache::TypeStatistic::addResource): 67245 (WebCore::Cache::getStatistics): 67246 (WebCore::Cache::dumpStats): 67247 * loader/Cache.h: 67248 (WebCore::Cache::TypeStatistic::TypeStatistic): 67249 * loader/CachedCSSStyleSheet.cpp: 67250 (WebCore::CachedCSSStyleSheet::allClientsRemoved): 67251 (WebCore::CachedCSSStyleSheet::sheetText): 67252 * loader/CachedCSSStyleSheet.h: 67253 * loader/CachedImage.cpp: 67254 (WebCore::CachedImage::addClient): 67255 (WebCore::CachedImage::image): 67256 (WebCore::CachedImage::imageSize): 67257 (WebCore::CachedImage::imageRect): 67258 (WebCore::CachedImage::destroyDecodedData): 67259 * loader/CachedResource.cpp: 67260 (WebCore::CachedResource::addClient): 67261 (WebCore::CachedResource::makePurgeable): 67262 (WebCore::CachedResource::isPurgeable): 67263 (WebCore::CachedResource::wasPurged): 67264 * loader/CachedResource.h: 67265 (WebCore::CachedResource::data): 67266 * loader/CachedScript.cpp: 67267 (WebCore::CachedScript::allClientsRemoved): 67268 (WebCore::CachedScript::script): 67269 (WebCore::CachedScript::destroyDecodedData): 67270 * platform/PurgeableBuffer.h: Added. 67271 (WebCore::PurgeableBuffer::create): 67272 (WebCore::PurgeableBuffer::size): 67273 (WebCore::PurgeableBuffer::): 67274 (WebCore::PurgeableBuffer::purgePriority): 67275 (WebCore::PurgeableBuffer::isPurgeable): 67276 (WebCore::PurgeableBuffer::~PurgeableBuffer): 67277 (WebCore::PurgeableBuffer::data): 67278 (WebCore::PurgeableBuffer::setPurgePriority): 67279 (WebCore::PurgeableBuffer::wasPurged): 67280 (WebCore::PurgeableBuffer::makePurgeable): 67281 * platform/SharedBuffer.cpp: 67282 (WebCore::SharedBuffer::~SharedBuffer): 67283 (WebCore::SharedBuffer::adoptPurgeableBuffer): 67284 (WebCore::SharedBuffer::size): 67285 (WebCore::SharedBuffer::data): 67286 (WebCore::SharedBuffer::append): 67287 (WebCore::SharedBuffer::clear): 67288 (WebCore::SharedBuffer::releasePurgeableBuffer): 67289 * platform/SharedBuffer.h: 67290 (WebCore::SharedBuffer::hasPurgeableBuffer): 67291 * platform/cf/SharedBufferCF.cpp: 67292 * platform/mac/PurgeableBufferMac.cpp: Added. 67293 (WebCore::PurgeableBuffer::PurgeableBuffer): 67294 (WebCore::PurgeableBuffer::~PurgeableBuffer): 67295 (WebCore::PurgeableBuffer::create): 67296 (WebCore::PurgeableBuffer::makePurgeable): 67297 (WebCore::PurgeableBuffer::wasPurged): 67298 (WebCore::PurgeableBuffer::setPurgePriority): 67299 (WebCore::PurgeableBuffer::data): 67300 67301 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67302 67303 Reviewed by George Staikos & Eric Seidel. 67304 67305 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22430 67306 67307 Regenerate WML layout test results after implementing WML specific <card> handling: 67308 Only the first <card> element should be visible after loading the document, others 67309 can be shown by using the <go> task element. 67310 67311 * dom/Document.h: Make 'finishedParsing()' a virtual function. 67312 * wml/WMLCardElement.cpp: 67313 (WebCore::WMLCardElement::WMLCardElement): 67314 (WebCore::WMLCardElement::~WMLCardElement): 67315 (WebCore::WMLCardElement::createRenderer): 67316 (WebCore::WMLCardElement::setActiveCardInDocument): 67317 (WebCore::WMLCardElement::setVisibility): 67318 * wml/WMLCardElement.h: 67319 * wml/WMLDocument.cpp: 67320 (WebCore::WMLDocument::finishedParsing): Execute WML specific logic after tokenzing. 67321 * wml/WMLDocument.h: 67322 67323 2008-11-24 Glenn Wilson <gwilson (a] chromium.org> 67324 67325 Reviewed by Alexey Proskuryakov. 67326 67327 http://bugs.webkit.org/show_bug.cgi?id=15643 67328 67329 Added support for clients that wish to disable smart insert/delete 67330 and enable the "trailing whitespace selection" work-around. 67331 67332 Tests: editing/selection/doubleclick-whitespace.html 67333 67334 * editing/Editor.cpp: 67335 (WebCore::Editor::selectTrailingWhitespaceEnabled): 67336 * editing/Editor.h: 67337 * editing/Selection.cpp: 67338 (WebCore::Selection::includeTrailingWhitespace): 67339 * editing/Selection.h: 67340 * loader/EmptyClients.h: 67341 (WebCore::EmptyEditorClient::selectTrailingWhitespaceEnabled): 67342 * page/EditorClient.h: 67343 * page/EventHandler.cpp: 67344 (WebCore::EventHandler::selectClosestWordFromMouseEvent): 67345 67346 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67347 67348 Not reviewed. Forgot to include WMLPageState.h in last commit. 67349 67350 * wml/WMLPageState.h: 67351 (WebCore::WMLPageState::restrictDeckAccessToDomain): 67352 (WebCore::WMLPageState::restrictDeckAccessToPath): 67353 67354 2008-11-24 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67355 67356 Reviewed by Oliver Hunt & Eric Seidel. 67357 67358 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22431 67359 67360 Implement WMLAccessElement. It just propogates two attributes values to WMLPageState. 67361 67362 * WebCore.xcodeproj/project.pbxproj: 67363 * wml/WMLAccessElement.cpp: Added. 67364 (WebCore::WMLAccessElement::WMLAccessElement): 67365 (WebCore::WMLAccessElement::parseMappedAttribute): 67366 * wml/WMLAccessElement.h: Added. 67367 * wml/WMLTagNames.in: 67368 * wml/WMLPageState.h: Rename functions. 67369 (WebCore::WMLPageState::restrictDeckAccessToDomain): 67370 (WebCore::WMLPageState::restrictDeckAccessToPath): 67371 * wml/WMLVariables.cpp: Add new helper function. 67372 (WebCore::valueContainsVariableReference): 67373 * wml/WMLVariables.h: 67374 (WebCore::): 67375 67376 2008-11-24 Darin Adler <darin (a] apple.com> 67377 67378 Reviewed by Dan Bernstein. 67379 67380 - https://bugs.webkit.org/show_bug.cgi?id=22470 67381 remove unneeded URL argument from FrameLoaderClient::updateGlobalHistory 67382 67383 * loader/EmptyClients.h: 67384 (WebCore::EmptyFrameLoaderClient::updateGlobalHistory): Remove argument. 67385 * loader/FrameLoader.cpp: 67386 (WebCore::FrameLoader::updateHistoryForStandardLoad): Don't pass the URL. 67387 (WebCore::FrameLoader::updateHistoryForRedirectWithLockedHistory): Ditto. 67388 * loader/FrameLoaderClient.h: Remove argument. 67389 67390 2008-11-24 Finnur Thorarinsson <finnur.webkit (a] gmail.com> 67391 67392 Reviewed by Darin Adler. 67393 67394 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22432 67395 67396 Add plumbing for tickmark support for the scrollbars. The painting code 67397 for the scrollbar just needed to call paintTickmarks at the right time 67398 and a default no-op implementation is provided, which the ports will 67399 need to override. 67400 67401 * platform/ScrollbarThemeComposite.cpp: 67402 (WebCore::ScrollbarThemeComposite::paint): 67403 * platform/ScrollbarThemeComposite.h: 67404 (WebCore::ScrollbarThemeComposite::paintTickmarks): 67405 67406 2008-11-24 Darin Fisher <darin (a] chromium.org> 67407 67408 Reviewed by Sam Weinig. 67409 67410 https://bugs.webkit.org/show_bug.cgi?id=22448 67411 Create an abstraction for JSC::SourceCode 67412 67413 * WebCore.vcproj/WebCore.vcproj: 67414 * bindings/js/CachedScriptSourceProvider.h: 67415 * bindings/js/ScriptController.cpp: 67416 (WebCore::ScriptController::evaluate): 67417 * bindings/js/ScriptController.h: 67418 * bindings/js/ScriptSourceCode.h: Added. 67419 (WebCore::ScriptSourceCode::ScriptSourceCode): 67420 (WebCore::ScriptSourceCode::length): 67421 (WebCore::ScriptSourceCode::jsSourceCode): 67422 * bindings/js/WorkerScriptController.cpp: 67423 (WebCore::Workevn ScriptController::evaluate): 67424 * bindings/js/WorkerScriptController.h: 67425 * dom/ScriptElement.cpp: 67426 (WebCore::ScriptElement::insertedIntoDocument): 67427 (WebCore::ScriptElement::childrenChanged): 67428 (WebCore::ScriptElementData::evaluateScript): 67429 (WebCore::ScriptElementData::notifyFinished): 67430 * dom/ScriptElement.h: 67431 * dom/WorkerThread.cpp: 67432 (WebCore::WorkerThread::workerThread): 67433 * dom/WorkerThread.h: 67434 * dom/XMLTokenizer.cpp: 67435 (WebCore::XMLTokenizer::notifyFinished): 67436 * dom/XMLTokenizerLibxml2.cpp: 67437 (WebCore::XMLTokenizer::endElementNs): 67438 * dom/XMLTokenizerQt.cpp: 67439 (WebCore::XMLTokenizer::parseEndElement): 67440 * html/HTMLTokenizer.cpp: 67441 (WebCore::HTMLTokenizer::scriptHandler): 67442 (WebCore::HTMLTokenizer::scriptExecution): 67443 (WebCore::HTMLTokenizer::notifyFinished): 67444 * html/HTMLTokenizer.h: 67445 * loader/FrameLoader.cpp: 67446 (WebCore::FrameLoader::executeScript): 67447 * loader/FrameLoader.h: 67448 67449 2008-11-24 Darin Adler <darin (a] apple.com> 67450 67451 Reviewed by Dan Bernstein. 67452 67453 - finish https://bugs.webkit.org/show_bug.cgi?id=22295 67454 track which history items are from page load failures 67455 67456 * WebCore.base.exp: Exported new function. 67457 67458 * loader/DocumentLoader.cpp: 67459 (WebCore::DocumentLoader::urlForHistoryReflectsFailure): Added. 67460 * loader/DocumentLoader.h: Ditto. 67461 67462 2008-11-24 Chris Fleizach <cfleizach (a] apple.com> 67463 67464 Reviewed by Beth Dakin. 67465 67466 Bug 22461: AccessibilityListBox::doAccessibilityHitTest() signature does not match the base class 67467 https://bugs.webkit.org/show_bug.cgi?id=22461 67468 67469 Changing AccessibilityListBox to use its parent's signature for hit testing 67470 67471 * page/AccessibilityListBox.cpp: 67472 (WebCore::AccessibilityListBox::doAccessibilityHitTest): 67473 * page/AccessibilityListBox.h: 67474 67475 2008-11-24 Simon Fraser <simon.fraser (a] apple.com> 67476 67477 Fix Windows build: selectionRect() -> selectionBounds(). 67478 67479 * page/win/FrameCGWin.cpp: 67480 (WebCore::imageFromSelection): 67481 67482 2008-11-24 Glenn Wilson <gwilson (a] chromium.org> 67483 67484 Reviewed by Darin Adler. 67485 67486 http://bugs.webkit.org/show_bug.cgi?id=18703 67487 "Changing the 'size' property on a text input does not affect its length" 67488 67489 Text fields would not repaint themselves after having their "size" 67490 attributes modified. This fix tells the object to recalculate its 67491 width and repaint itself when its "size" attribute is parsed. 67492 67493 Test: fast/js/text-field-resize.html 67494 67495 * html/HTMLInputElement.cpp: 67496 (WebCore::HTMLInputElement::parseMappedAttribute): 67497 67498 2008-11-24 Simon Fraser <simon.fraser (a] apple.com> 67499 67500 Reviewed by Darin Adler 67501 67502 Followup from changes for https://bugs.webkit.org/show_bug.cgi?id=22433 67503 67504 Make RenderView::selectionRect() private to cause compile-time 67505 errors if someone tries to call it. 67506 67507 * rendering/RenderView.h: 67508 67509 2008-11-24 Simon Fraser <simon.fraser (a] apple.com> 67510 67511 Reviewed by Dan Bernstein 67512 67513 Via: https://bugs.webkit.org/show_bug.cgi?id=22433 67514 67515 Rename RenderView::selectionRect() to selectionBounds(), to remove 67516 longstanding ambiguity with the base class selectionRect() method. 67517 Do the same on Frame for consistency with RenderView. Assert 67518 that RenderView::selectionRect() is never called. 67519 67520 * WebCore.base.exp: 67521 * editing/SelectionController.cpp: 67522 (WebCore::SelectionController::focusedOrActiveStateChanged): 67523 * page/DragController.cpp: 67524 (WebCore::dragLocForSelectionDrag): 67525 * page/Frame.cpp: 67526 (WebCore::Frame::selectionBounds): 67527 (WebCore::Frame::revealSelection): 67528 * page/Frame.h: 67529 * page/mac/FrameMac.mm: 67530 (WebCore::Frame::selectionImage): 67531 * rendering/RenderView.cpp: 67532 (WebCore::RenderView::selectionRect): 67533 (WebCore::RenderView::selectionBounds): 67534 * rendering/RenderView.h: 67535 67536 2008-11-19 Julien Chaffraix <jchaffraix (a] webkit.org> 67537 67538 Reviewed by Darin Adler. 67539 67540 Bug 22441: Bridge the gap between the generated ElementFactory and HTMLElementFactory 67541 https://bugs.webkit.org/show_bug.cgi?id=22441 67542 67543 - Make HTMLElementFactory::createHTMLElement take a QualifiedName instead of 67544 an AtomicString. 67545 67546 - Updated the elements' constructors and the callers to reflect the previous change. 67547 67548 * dom/Document.cpp: 67549 (WebCore::Document::createElement): 67550 * html/HTMLDocument.cpp: 67551 (WebCore::HTMLDocument::createElement): 67552 * html/HTMLElement.cpp: 67553 (WebCore::HTMLElement::cloneNode): 67554 * html/HTMLElementFactory.cpp: 67555 (WebCore::htmlConstructor): 67556 (WebCore::headConstructor): 67557 (WebCore::bodyConstructor): 67558 (WebCore::baseConstructor): 67559 (WebCore::linkConstructor): 67560 (WebCore::metaConstructor): 67561 (WebCore::styleConstructor): 67562 (WebCore::titleConstructor): 67563 (WebCore::frameConstructor): 67564 (WebCore::framesetConstructor): 67565 (WebCore::iframeConstructor): 67566 (WebCore::formConstructor): 67567 (WebCore::buttonConstructor): 67568 (WebCore::inputConstructor): 67569 (WebCore::isindexConstructor): 67570 (WebCore::fieldsetConstructor): 67571 (WebCore::keygenConstructor): 67572 (WebCore::labelConstructor): 67573 (WebCore::legendConstructor): 67574 (WebCore::optgroupConstructor): 67575 (WebCore::optionConstructor): 67576 (WebCore::selectConstructor): 67577 (WebCore::textareaConstructor): 67578 (WebCore::dlConstructor): 67579 (WebCore::ulConstructor): 67580 (WebCore::olConstructor): 67581 (WebCore::dirConstructor): 67582 (WebCore::menuConstructor): 67583 (WebCore::liConstructor): 67584 (WebCore::blockquoteConstructor): 67585 (WebCore::divConstructor): 67586 (WebCore::headingConstructor): 67587 (WebCore::hrConstructor): 67588 (WebCore::paragraphConstructor): 67589 (WebCore::preConstructor): 67590 (WebCore::basefontConstructor): 67591 (WebCore::fontConstructor): 67592 (WebCore::modConstructor): 67593 (WebCore::anchorConstructor): 67594 (WebCore::imageConstructor): 67595 (WebCore::mapConstructor): 67596 (WebCore::areaConstructor): 67597 (WebCore::canvasConstructor): 67598 (WebCore::appletConstructor): 67599 (WebCore::embedConstructor): 67600 (WebCore::objectConstructor): 67601 (WebCore::paramConstructor): 67602 (WebCore::scriptConstructor): 67603 (WebCore::tableConstructor): 67604 (WebCore::tableCaptionConstructor): 67605 (WebCore::tableColConstructor): 67606 (WebCore::tableRowConstructor): 67607 (WebCore::tableCellConstructor): 67608 (WebCore::tableSectionConstructor): 67609 (WebCore::brConstructor): 67610 (WebCore::quoteConstructor): 67611 (WebCore::marqueeConstructor): 67612 (WebCore::audioConstructor): 67613 (WebCore::videoConstructor): 67614 (WebCore::sourceConstructor): 67615 (WebCore::HTMLElementFactory::createHTMLElement): 67616 * html/HTMLElementFactory.h: 67617 * html/HTMLParser.cpp: 67618 (WebCore::HTMLParser::getNode): 67619 67620 2008-11-24 Brent Fulgham <bfulgham (a] gmail.com> 67621 67622 Reviewed by Alexey Proskuryakov. 67623 67624 https://bugs.webkit.org/show_bug.cgi?id=22444 67625 67626 Correct bad default constructor for Cairo FontPlatformData so that 67627 the m_scaledFont member is initialized. Previously this would be 67628 set to 0xbaadf00d, which would result in infinite loops while 67629 attempting to deal with the font cache. 67630 67631 * platform/graphics/win/FontPlatformData.h: 67632 (WebCore::FontPlatformData::FontPlatformData): Initialize m_scaledFont to 0 67633 67634 2008-11-24 Alexey Proskuryakov <ap (a] webkit.org> 67635 67636 Reviewed by Darin Adler. 67637 67638 https://bugs.webkit.org/show_bug.cgi?id=22455 67639 Add support for Worker.terminate() 67640 67641 Test: fast/workers/worker-terminate.html 67642 67643 * dom/Worker.idl: 67644 * dom/Worker.cpp: 67645 * dom/Worker.h: 67646 Added terminate(). 67647 67648 * dom/WorkerMessagingProxy.h: (WebCore::WorkerMessagingProxy::askedToTerminate): 67649 * dom/WorkerMessagingProxy.cpp: 67650 (WebCore::MessageWorkerTask::performTask): Don't dispatch messages if the worker was asked 67651 to terminate (this is not mentioned in draft spec, but makes sense anyway). 67652 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): The proxy now remembers if it was 67653 asked to terminate in m_askedToTerminate member variable. Also, changed m_unconfirmedMessageCount 67654 to only track messages that were posted to worker thread, avoiding a leak if the script 67655 could not be loaded. 67656 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): Return early if terminating. 67657 (WebCore::WorkerMessagingProxy::workerThreadCreated): Stop the thread if already asked for. 67658 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): Even if worker context 67659 was destroyed, the worker object may still be alive now, so don't delete self in this case. 67660 (WebCore::WorkerMessagingProxy::terminate): Stop the thread if it was already created, or 67661 remember to stop it when it is created. 67662 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): Don't track activity 67663 if the thread asked to stop anyway. 67664 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): Ditto. 67665 67666 * dom/WorkerThread.cpp: 67667 * dom/WorkerThread.h: 67668 Fixed a race condition in stop(). 67669 67670 2008-11-24 Alexey Proskuryakov <ap (a] webkit.org> 67671 67672 Reviewed by Mark Rowe. 67673 67674 https://bugs.webkit.org/show_bug.cgi?id=22439 67675 Won't load stylesheets with filenames less than 2 characters long in xhtml. 67676 67677 Test: http/tests/misc/single-character-pi-stylesheet.xhtml 67678 67679 * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::checkStyleSheet): 67680 Fix up the logic. 67681 67682 2008-11-24 Holger Hans Peter Freyther <zecke (a] selfish.org> 67683 67684 Reviewed by Mark Rowe. 67685 67686 [Gtk+] Add configure option to enable Web Workers and enable it by default 67687 67688 Add --enable-workers to the buildsystem (used by build-webkit) add 67689 the to be build files to the GNUmakefile.am and change build-webkit 67690 to enable Web Workers by default. 67691 67692 * GNUmakefile.am: 67693 67694 2008-11-24 Alexey Proskuryakov <ap (a] webkit.org> 67695 67696 Build fix (for Windows Cairo port?) 67697 67698 * page/DOMWindow.idl: Use ENABLE_CHANNEL_MESSAGING instead of ENABLE(CHANNEL_MESSAGING), as 67699 the ENABLE macro is not available in idls. 67700 67701 2008-11-22 Dimitri Glazkov <dglazkov (a] chromium.org> 67702 67703 Reviewed by Darin Adler. 67704 67705 https://bugs.webkit.org/show_bug.cgi?id=22421 67706 Added ScriptValue to Visual Studio and XCode projects. 67707 67708 * WebCore.vcproj/WebCore.vcproj: 67709 * WebCore.xcodeproj/project.pbxproj: 67710 67711 2008-11-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67712 67713 Reviewed by Holger Freyther. 67714 67715 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22426 67716 67717 Add WMLInstrinsicEvent/EventHandler implementation. Code not yet used. 67718 67719 * WebCore.xcodeproj/project.pbxproj: 67720 * wml/WMLIntrinsicEvent.cpp: Added. 67721 (WebCore::createTaskElement): 67722 (WebCore::WMLIntrinsicEvent::WMLIntrinsicEvent): 67723 * wml/WMLIntrinsicEvent.h: Added. 67724 (WebCore::WMLIntrinsicEvent::create): 67725 (WebCore::WMLIntrinsicEvent::createWithTask): 67726 (WebCore::WMLIntrinsicEvent::taskElement): 67727 * wml/WMLIntrinsicEventHandler.cpp: Added. 67728 (WebCore::WMLIntrinsicEventHandler::WMLIntrinsicEventHandler): 67729 (WebCore::WMLIntrinsicEventHandler::registerIntrinsicEvent): 67730 (WebCore::WMLIntrinsicEventHandler::triggerIntrinsicEvent): 67731 (WebCore::WMLIntrinsicEventHandler::hasIntrinsicEvent): 67732 * wml/WMLIntrinsicEventHandler.h: Added. 67733 (WebCore::): 67734 67735 2008-11-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67736 67737 Reviewed by Holger Freyther. 67738 67739 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22423 67740 67741 Add <go> stub implementation. Add complete <prev>/<refresh> and <setvar> implementation. 67742 Activate code handling <setvar> registration in WMLTaskElement. 67743 67744 * wml/WMLGoElement.cpp: Added. 67745 (WebCore::WMLGoElement::WMLGoElement): 67746 (WebCore::WMLGoElement::~WMLGoElement): 67747 (WebCore::WMLGoElement::parseMappedAttribute): 67748 (WebCore::WMLGoElement::executeTask): 67749 * wml/WMLGoElement.h: Added. 67750 * wml/WMLPrevElement.cpp: Added. 67751 (WebCore::WMLPrevElement::WMLPrevElement): 67752 (WebCore::WMLPrevElement::~WMLPrevElement): 67753 (WebCore::WMLPrevElement::executeTask): 67754 * wml/WMLPrevElement.h: Added. 67755 * wml/WMLRefreshElement.cpp: Added. 67756 (WebCore::WMLRefreshElement::WMLRefreshElement): 67757 (WebCore::WMLRefreshElement::~WMLRefreshElement): 67758 (WebCore::WMLRefreshElement::executeTask): 67759 * wml/WMLRefreshElement.h: Added. 67760 * wml/WMLSetvarElement.cpp: Added. 67761 (WebCore::WMLSetvarElement::WMLSetvarElement): 67762 (WebCore::WMLSetvarElement::~WMLSetvarElement): 67763 (WebCore::WMLSetvarElement::parseMappedAttribute): 67764 (WebCore::WMLSetvarElement::insertedIntoDocument): 67765 (WebCore::WMLSetvarElement::name): 67766 (WebCore::WMLSetvarElement::value): 67767 * wml/WMLSetvarElement.h: Added. 67768 * wml/WMLTagNames.in: 67769 * wml/WMLTaskElement.cpp: 67770 (WebCore::WMLTaskElement::registerVariableSetter): 67771 (WebCore::WMLTaskElement::storeVariableState): 67772 * wml/WMLTaskElement.h: 67773 * WebCore.xcodeproj/project.pbxproj: 67774 67775 2008-11-22 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 67776 67777 Not reviewed. Forgot to include WMLPageState.* in the last commit. 67778 67779 * wml/WMLPageState.cpp: 67780 (WebCore::WMLPageState::setNeedCheckDeckAccess): 67781 * wml/WMLPageState.h: 67782 (WebCore::WMLPageState::storeVariables): 67783 67784 2008-11-21 Alexey Proskuryakov <ap (a] webkit.org> 67785 67786 Reviewed by Darin Adler. 67787 67788 https://bugs.webkit.org/show_bug.cgi?id=22397 67789 Worker threads are not destroyed if running a JS loop 67790 67791 Since the event loop is not ever entered again in this case, the fix necessarily involves 67792 some shared data hackery. 67793 67794 * dom/WorkerThread.cpp: (WebCore::WorkerThread::stop): 67795 * dom/WorkerThread.h: 67796 Added a stop() method, which asks the thread to exit as soon as possible. In the future, it 67797 may need to abort other kinds of synchronous processing, such as importScripts or XHR. 67798 67799 * bindings/js/WorkerScriptController.cpp: 67800 (WebCore::WorkerScriptController::WorkerScriptController): 67801 (WebCore::WorkerScriptController::evaluate): 67802 (WebCore::WorkerScriptController::forbidExecution): 67803 * bindings/js/WorkerScriptController.h: 67804 Added a forbidExecution() method, which interrupts currently running JS, and makes any 67805 future calls to evaluate() return immediately. 67806 67807 * dom/WorkerMessagingProxy.cpp: (WebCore::WorkerMessagingProxy::workerObjectDestroyed): 67808 Call WorkerThread::stop(). 67809 67810 2008-11-21 Kevin Watters <kevinwatters (a] gmail.com> 67811 67812 Reviewed by Kevin Ollivier. 67813 67814 Improve wx image drawing performance considerably when using wxGraphicsContext 67815 by avoiding unnecessary copies and drawing. 67816 67817 https://bugs.webkit.org/show_bug.cgi?id=22404 67818 67819 * platform/graphics/wx/ImageWx.cpp: 67820 (WebCore::BitmapImage::draw): 67821 (WebCore::BitmapImage::drawPattern): 67822 67823 67824 2008-11-21 Kevin Watters <kevinwatters (a] gmail.com> 67825 67826 Reviewed by Kevin Ollivier. 67827 67828 Implementation of AffineTransform::mapRect for wx. 67829 67830 https://bugs.webkit.org/show_bug.cgi?id=22401 67831 67832 * platform/graphics/wx/AffineTransformWx.cpp: 67833 (WebCore::AffineTransform::mapRect): 67834 67835 2008-11-21 Justin Garcia <justin.garcia (a] apple.com> 67836 67837 Reviewed by Darin Adler. 67838 67839 <rdar://problem/5381788> Match NSTextView editing behavior at the end of hyperlink text 67840 67841 Change link editing behavior to match TextEdit and MS Word when editing before and after 67842 a link (Pages has two caret positions at link boundaries, Thunderbird and FF behave like we 67843 used to, so it's difficult to get out of link editing mode): 67844 When inserting before or after a link, always insert content outside of the link. This 67845 makes it impossible to get stuck in link editing mode, while making it slightly more 67846 difficult to edit link labels. WebKit editors that care about this can add UI for editing 67847 link labels, like GMail and GoogleDocs have done. We never actually had any bugs complaining 67848 about how it was difficult to edit link labels at the start/end, the code was just introduced 67849 with another bug fix without much thought. 67850 67851 Don't remember removed links anymore, no other editor does this and it made it 67852 difficult/impossible to get out of link editing mode. This code was added to fix 67853 <rdar://problem/4069359>, which is fixed instead by removing the styles from an 67854 enclosing anchor element from those styles that we remember when we delete content. 67855 67856 * editing/CompositeEditCommand.cpp: 67857 (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary): 67858 * editing/CompositeEditCommand.h: 67859 * editing/DeleteSelectionCommand.cpp: 67860 (WebCore::removeEnclosingAnchorStyle): 67861 (WebCore::DeleteSelectionCommand::saveTypingStyleState): 67862 (WebCore::DeleteSelectionCommand::doApply): 67863 * editing/DeleteSelectionCommand.h: 67864 * editing/EditCommand.cpp: 67865 (WebCore::EditCommand::apply): 67866 * editing/Editor.cpp: 67867 (WebCore::Editor::appliedEditing): 67868 * editing/InsertTextCommand.cpp: 67869 (WebCore::InsertTextCommand::prepareForTextInsertion): 67870 (WebCore::InsertTextCommand::input): 67871 * editing/RemoveFormatCommand.cpp: 67872 (WebCore::RemoveFormatCommand::doApply): 67873 * editing/SelectionController.cpp: 67874 (WebCore::SelectionController::setSelection): 67875 * editing/SelectionController.h: 67876 67877 2008-11-21 Alice Liu <alice.liu (a] apple.com> 67878 67879 Rubber-stamped by Dan Bernstein. 67880 67881 fixed <rdar://6340771> crashing on print preview 67882 67883 * platform/graphics/win/GraphicsContextCGWin.cpp: 67884 (WebCore::GraphicsContext::drawWindowsBitmap): 67885 67886 2008-11-21 Darin Fisher <darin (a] chromium.org> 67887 67888 Reviewed by Geoffrey Garen. 67889 67890 https://bugs.webkit.org/show_bug.cgi?id=22390 67891 Abstract away JSC:: usage in WebCore/xml 67892 67893 * bindings/js/ScriptString.h: Added. 67894 (WebCore::ScriptString::ScriptString): 67895 (WebCore::ScriptString::operator JSC::UString): 67896 (WebCore::ScriptString::isNull): 67897 (WebCore::ScriptString::size): 67898 (WebCore::ScriptString::operator=): 67899 (WebCore::ScriptString::operator+=): 67900 * inspector/InspectorController.cpp: 67901 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): 67902 (WebCore::InspectorResource::setXMLHttpRequestProperties): 67903 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 67904 * inspector/InspectorController.h: 67905 * xml/XMLHttpRequest.cpp: 67906 (WebCore::XMLHttpRequest::responseText): 67907 (WebCore::XMLHttpRequest::clearResponse): 67908 (WebCore::XMLHttpRequest::dropProtection): 67909 (WebCore::XMLHttpRequest::didFinishLoading): 67910 (WebCore::XMLHttpRequest::didReceiveData): 67911 * xml/XMLHttpRequest.h: 67912 (WebCore::XMLHttpRequest::setLastSendURL): 67913 67914 2008-11-21 Sam Weinig <sam (a] webkit.org> 67915 67916 Reviewed by Geoffrey Garen. 67917 67918 Destroy script decoded data on a zero-delay timer after 67919 decoding. This means we now have no decoded script data 67920 at the end of Membuster. 67921 67922 * loader/CachedScript.cpp: 67923 (WebCore::CachedScript::CachedScript): 67924 (WebCore::CachedScript::allClientsRemoved): 67925 (WebCore::CachedScript::script): 67926 (WebCore::CachedScript::decodedDataDeletionTimerFired): 67927 * loader/CachedScript.h: 67928 67929 2008-11-21 Simon Fraser <simon.fraser (a] apple.com> 67930 67931 Reviewed by Darin Adler 67932 67933 https://bugs.webkit.org/show_bug.cgi?id=22159 67934 67935 RenderBox::absoluteClippedOverflowRect() needs to inflate the rect by 67936 maximalOutlineSize(), since a child might have an outline which projects 67937 outside the parent overflowRect(). 67938 67939 We also need to ensure that maximalOutlineSize() is updated early in styleDidChange, 67940 so that it is valid for these repaints. 67941 67942 Test: fast/repaint/outline-child-repaint.html 67943 67944 * WebCore.xcodeproj/project.pbxproj: 67945 * rendering/RenderBox.cpp: 67946 (WebCore::RenderBox::styleDidChange): 67947 (WebCore::RenderBox::absoluteClippedOverflowRect): 67948 67949 2008-11-21 Jan Michael Alonzo <jmalonzo (a] webkit.org> 67950 67951 Gtk, Qt, and Wx build fix. 67952 67953 Add LinkHash.cpp in the build scripts. 67954 Add LinkHash.h to Gtk's build script. 67955 67956 LinkHash.cpp/h was introduced in r38661. 67957 67958 * GNUmakefile.am: 67959 * WebCore.pro: 67960 * WebCoreSources.bkl: 67961 67962 2008-11-21 Sam Weinig <sam (a] webkit.org> 67963 67964 Reviewed by Dan Bernstein. 67965 67966 Third step in https://bugs.webkit.org/show_bug.cgi?id=22394 67967 Be more eager in destroying script decoded data 67968 67969 Destroy the decoded data when all clients are removed from a CachedScript. 67970 67971 * loader/CachedScript.cpp: 67972 (WebCore::CachedScript::allClientsRemoved): 67973 * loader/CachedScript.h: 67974 (WebCore::CachedScript::allClientsRemoved): 67975 67976 2008-11-21 Pierre-Olivier Latour <pol (a] apple.com> 67977 67978 Reviewed by Dan Bernstein. 67979 67980 WebKit should be using Device RGB colorspace everywhere for 67981 consistency. 67982 67983 https://bugs.webkit.org/show_bug.cgi?id=22300 67984 67985 * page/mac/AccessibilityObjectWrapper.mm: 67986 (CreateCGColorIfDifferent): 67987 * platform/graphics/mac/ColorMac.h: 67988 * platform/graphics/mac/ColorMac.mm: 67989 (WebCore::nsColor): 67990 (+[WebCoreControlTintObserver controlTintDidChange]): 67991 * rendering/RenderThemeMac.mm: 67992 (WebCore::convertNSColorToColor): 67993 (WebCore::menuBackgroundColor): 67994 67995 2008-11-20 Julien Chaffraix <jchaffraix (a] webkit.org> 67996 67997 Reviewed by Darin Adler. 67998 67999 Bug 22388: Add JSInterfaceName to the .in files 68000 https://bugs.webkit.org/show_bug.cgi?id=22388 68001 68002 Add JSInterfaceName that is similar to interfaceName but 68003 for the JS wrappers. JSInterfaceName is always equal to interfaceName 68004 unless explicitly set. 68005 68006 * dom/make_names.pl: 68007 * html/HTMLTagNames.in: 68008 * svg/svgtags.in: 68009 68010 2008-11-21 Sam Weinig <sam (a] webkit.org> 68011 68012 Reviewed by Geoffrey Garen. 68013 68014 Second step in https://bugs.webkit.org/show_bug.cgi?id=22394 68015 Be more eager in destroying script decoded data 68016 68017 Use a new CachedScriptSourceProvider to keep CachedScripts as 68018 CachedScripts, even down into JSC. This has the added benefit 68019 of showing the CachedScripts as live in the Caches window. 68020 68021 * GNUmakefile.am: 68022 * WebCore.vcproj/WebCore.vcproj: 68023 * WebCore.xcodeproj/project.pbxproj: 68024 * bindings/js/CachedScriptSourceProvider.h: Added. 68025 (WebCore::CachedScriptSourceProvider::create): 68026 (WebCore::CachedScriptSourceProvider::~CachedScriptSourceProvider): 68027 (WebCore::CachedScriptSourceProvider::getRange): 68028 (WebCore::CachedScriptSourceProvider::data): 68029 (WebCore::CachedScriptSourceProvider::length): 68030 (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): 68031 (WebCore::makeSource): 68032 * dom/ScriptElement.cpp: 68033 (WebCore::ScriptElementData::notifyFinished): 68034 * dom/XMLTokenizer.cpp: 68035 (WebCore::XMLTokenizer::notifyFinished): 68036 * html/HTMLTokenizer.cpp: 68037 (WebCore::HTMLTokenizer::notifyFinished): 68038 68039 2008-11-21 Brett Wilson <brettw (a] chromium.org> 68040 68041 Fix debug-only build bustage due to a typo in an assert, and add new 68042 files to the Windows build. 68043 68044 * Info.plist: 68045 * WebCore.vcproj/WebCore.vcproj: 68046 * platform/LinkHash.h: 68047 (WebCore::LinkHashHash::avoidDeletedValue): 68048 68049 2008-11-20 Brett Wilson <brettw (a] chromium.org> 68050 68051 Reviewed by Eric Seidel. 68052 68053 https://bugs.webkit.org/show_bug.cgi?id=22131 68054 68055 Factor out visited link hashing and types into a new file, LinkHash. 68056 This also changes the hash type to 64 bits, but does not actually use 68057 the extra bits yet. 68058 68059 * WebCore.xcodeproj/project.pbxproj: 68060 (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): 68061 (WebCore::CSSStyleSelector::SelectorChecker::visitedStateChanged): 68062 * css/CSSStyleSelector.h: 68063 (WebCore::CSSStyleSelector::visitedStateChanged): 68064 * dom/Document.cpp: 68065 * dom/Document.h: 68066 * page/Page.cpp: 68067 (WebCore::Page::visitedStateChanged): 68068 * page/Page.h: 68069 * page/PageGroup.cpp: 68070 (WebCore::PageGroup::isLinkVisited): 68071 (WebCore::PageGroup::addVisitedLink): 68072 * page/PageGroup.h: 68073 * platform/LinkHash.cpp: Added. 68074 (WebCore::findSlashDotDotSlash): 68075 (WebCore::findSlashSlash): 68076 (WebCore::findSlashDotSlash): 68077 (WebCore::containsColonSlashSlash): 68078 (WebCore::cleanPath): 68079 (WebCore::matchLetter): 68080 (WebCore::needsTrailingSlash): 68081 (WebCore::visitedLinkHash): 68082 * platform/LinkHash.h: Added 68083 (WebCore::LinkHashHash::hash): 68084 (WebCore::LinkHashHash::equal): 68085 (WebCore::LinkHashHash::avoidDeletedValue): 68086 68087 2008-11-21 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 68088 68089 Reviewed by Alexey Proskuryakov. 68090 68091 No need to use getElementsByTagNameNS() in WML documents. Revert to using getElementByTagName() again. 68092 68093 * wml/WMLPElement.cpp: 68094 (WebCore::WMLPElement::insertedIntoDocument): 68095 68096 2008-11-21 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 68097 68098 Reviewed by Alexey Proskuryakov. 68099 68100 Fix some coding style/formatting issues in WMLAElement. 68101 68102 * wml/WMLAElement.cpp: 68103 (WebCore::WMLAElement::parseMappedAttribute): 68104 (WebCore::WMLAElement::defaultEventHandler): 68105 * wml/WMLAElement.h: 68106 68107 2008-11-21 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 68108 68109 Reviewed by Alexey Proskuryakov. 68110 68111 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22399 68112 68113 Implement <anchor> support for WML, add WMLVariables file containing helper functions 68114 for variable support, and a WMLTaskElement base class for WMLPrev/Go/RefreshElement. 68115 68116 * css/CSSStyleSelector.cpp: 68117 (WebCore::linkAttribute): 68118 * rendering/HitTestResult.cpp: 68119 (WebCore::HitTestResult::absoluteImageURL): 68120 (WebCore::HitTestResult::absoluteLinkURL): 68121 (WebCore::HitTestResult::isLiveLink): 68122 * wml/WMLAnchorElement.cpp: Added. 68123 (WebCore::WMLAnchorElement::WMLAnchorElement): 68124 (WebCore::WMLAnchorElement::~WMLAnchorElement): 68125 (WebCore::WMLAnchorElement::defaultEventHandler): 68126 * wml/WMLAnchorElement.h: Added. 68127 (WebCore::WMLAnchorElement::registerTask): 68128 * wml/WMLTagNames.in: 68129 * wml/WMLTaskElement.cpp: Added. 68130 (WebCore::WMLTaskElement::WMLTaskElement): 68131 (WebCore::WMLTaskElement::~WMLTaskElement): 68132 (WebCore::WMLTaskElement::insertedIntoDocument): 68133 (WebCore::WMLTaskElement::addVariableSetter): 68134 (WebCore::WMLTaskElement::removeVariableSetter): 68135 (WebCore::WMLTaskElement::storeVariableState): 68136 * wml/WMLTaskElement.h: Added. 68137 * wml/WMLVariables.cpp: Added. 68138 (WebCore::isValidVariableCharacter): 68139 (WebCore::isValidVariableReferenceCharacter): 68140 (WebCore::isValidVariableName): 68141 (WebCore::substituteVariableReferences): 68142 * wml/WMLVariables.h: Added. 68143 (WebCore::): 68144 68145 2008-11-21 Julien Chaffraix <jchaffraix (a] pleyo.com> 68146 68147 Rubber-stamped by Alexey Proskuryakov. 68148 68149 Build fix when building without WORKERS on non-POSIX, non-WINDOWS 68150 machine. 68151 68152 Spotted by Mario Bensi. 68153 68154 * platform/text/TextCodecICU.cpp: 68155 68156 2008-11-20 Sam Weinig <sam (a] webkit.org> 68157 68158 Reviewed by Geoffrey Garen. 68159 68160 First step in https://bugs.webkit.org/show_bug.cgi?id=22394 68161 Be more eager in destroying script decoded data 68162 68163 Pass data to be used in script execution around as JSC::SourceCode instead 68164 of a source, url, and starting line. 68165 68166 * bindings/js/ScriptController.cpp: 68167 (WebCore::ScriptController::evaluate): 68168 * bindings/js/ScriptController.h: 68169 * bindings/js/StringSourceProvider.h: 68170 (WebCore::makeSource): 68171 * bindings/js/WorkerScriptController.cpp: 68172 (WebCore::WorkerScriptController::evaluate): 68173 * bindings/js/WorkerScriptController.h: 68174 * dom/ScriptElement.cpp: 68175 (WebCore::ScriptElement::insertedIntoDocument): 68176 (WebCore::ScriptElement::childrenChanged): 68177 (WebCore::ScriptElementData::evaluateScript): 68178 (WebCore::ScriptElementData::notifyFinished): 68179 * dom/ScriptElement.h: 68180 * dom/WorkerThread.cpp: 68181 (WebCore::WorkerThread::workerThread): 68182 * dom/XMLTokenizer.cpp: 68183 (WebCore::XMLTokenizer::notifyFinished): 68184 * dom/XMLTokenizerLibxml2.cpp: 68185 (WebCore::XMLTokenizer::endElementNs): 68186 * dom/XMLTokenizerQt.cpp: 68187 (WebCore::XMLTokenizer::parseEndElement): 68188 * html/HTMLTokenizer.cpp: 68189 (WebCore::HTMLTokenizer::scriptHandler): 68190 (WebCore::HTMLTokenizer::scriptExecution): 68191 (WebCore::HTMLTokenizer::notifyFinished): 68192 * html/HTMLTokenizer.h: 68193 * loader/FrameLoader.cpp: 68194 (WebCore::FrameLoader::executeScript): 68195 * loader/FrameLoader.h: 68196 68197 2008-11-20 Sam Weinig <sam (a] webkit.org> 68198 68199 Reviewed by Geoffrey Garen. 68200 68201 Fix for https://bugs.webkit.org/show_bug.cgi?id=22392 68202 REGRESION: XMLHttpRequest.responseText does unnecessary trip though WebCore::String 68203 68204 - Use jsOwnedStringOrNull to avoid conversion to WebCore::String. 68205 68206 * bindings/js/JSXMLHttpRequestCustom.cpp: 68207 (WebCore::JSXMLHttpRequest::responseText): 68208 * xml/XMLHttpRequest.idl: 68209 68210 2008-11-20 Simon Fraser <simon.fraser (a] apple.com> 68211 68212 Reviewed by Dan Bernstein 68213 68214 https://bugs.webkit.org/show_bug.cgi?id=19623 68215 68216 When an non-layer object gained a transform, it would only repaint 68217 the bounds of the new layer, which could result in redraw artifacts 68218 if the new layer was smaller. So if we're gaining a transform, we 68219 repaint. 68220 68221 Test: fast/repaint/change-transform.html 68222 68223 * rendering/RenderObject.cpp: 68224 (WebCore::RenderObject::styleWillChange): 68225 68226 2008-11-20 Adele Peterson <adele (a] apple.com> 68227 68228 Reviewed by Darin Adler. 68229 68230 Fix for <rdar://problem/6111436> Support upload progress events on Windows 68231 68232 * platform/network/cf/ResourceHandleCFNet.cpp: 68233 (WebCore::didSendBodyData): Added. 68234 (WebCore::ResourceHandle::start): Hook up didSendBodyData callback. 68235 68236 2008-11-20 Justin Garcia <justin.garcia (a] apple.com> 68237 68238 Reviewed by Darin Adler. 68239 68240 <rdar://problem/2610675> Blank line that is quoted can't be deleted 68241 68242 If the caret is in an empty quoted paragraph, and either there is nothing before that 68243 paragraph, or what is before is unquoted, and the user presses delete, unquote that 68244 paragraph. 68245 68246 * editing/CompositeEditCommand.cpp: 68247 (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph): Added. 68248 Removes the line break that holds open an empty paragraph and then attempts to 68249 prune the blockquote(s) that held that line break in case they have been emptied 68250 out. Places a line break to create in empty unquoted paragraph in place of the 68251 quoted one that was removed. 68252 * editing/CompositeEditCommand.h: 68253 * editing/TypingCommand.cpp: 68254 (WebCore::TypingCommand::deleteKeyPressed): Call breakOutOfEmptyBlockquotedParagraph. 68255 * editing/htmlediting.cpp: 68256 (WebCore::highestEnclosingNodeOfType): Added. 68257 * editing/htmlediting.h: 68258 68259 2008-11-20 Dean Jackson <dino (a] apple.com> 68260 68261 Reviewed by Antti Koivisto 68262 68263 https://bugs.webkit.org/show_bug.cgi?id=21247 68264 68265 Make transition shorthand property accept transition-delay. 68266 68267 Test: transitions/transition-shorthand-delay.html 68268 68269 * css/CSSParser.cpp: 68270 (WebCore::CSSParser::parseTransitionShorthand): 68271 68272 2008-11-20 Dean Jackson <dino (a] apple.com> 68273 68274 Reviewed by Antti Koivisto 68275 68276 https://bugs.webkit.org/show_bug.cgi?id=22368 68277 68278 Make sure pauseTransition API takes transition delay into account. 68279 68280 Test: transitions/transition-drt-api-delay.html 68281 68282 * page/animation/AnimationBase.cpp: 68283 (WebCore::AnimationBase::pauseAtTime): 68284 68285 2008-11-20 Simon Fraser <simon.fraser (a] apple.com> 68286 68287 Reviewed by Darin Adler 68288 68289 https://bugs.webkit.org/show_bug.cgi?id=20368 68290 68291 Implement getComputedStyle for animation properties. Remove individual 68292 computed values for transform-origin-x, transform-origin-y, and just 68293 return transform-origin instead. Return "none" for default animation-name, 68294 and fix the initial value. 68295 68296 Tests: animations/computed-style.html 68297 transforms/computed-style-origin.html 68298 68299 * css/CSSComputedStyleDeclaration.cpp: 68300 (WebCore::): 68301 (WebCore::getDelayValue): 68302 (WebCore::getDurationValue): 68303 (WebCore::getTimingFunctionValue): 68304 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 68305 * rendering/style/RenderStyle.h: 68306 (WebCore::InheritedFlags::initialAnimationName): 68307 68308 2008-11-20 Justin Garcia <justin.garcia (a] apple.com> 68309 68310 Reviewed by Beth Dakin. 68311 68312 Preparation for: 68313 <rdar://problem/2610675> Blank line that is quoted can't be deleted 68314 68315 To fix this we need to make changes to the code that creates selections to delete 68316 when the user does a backward or forward delete with a caret selection. For certain 68317 caret positions, we now want to remove something other than the standard "caret extended 68318 backward/forward by one unit". The problem is that there were two pieces of code 68319 responsible for doing this, one in Editor::deleteWithDirection, and another inside 68320 TypingCommand::deleteKeyPressed. The code in deleteWithDirection is a recent 68321 addition (r19172), and adding it there caused regressions because it prevented the 68322 code in deleteKeyPressed from ever running. The regressions were never caught because 68323 JS deletion uses deleteKeyPressed while manual deletion uses deleteWithDirection. 68324 68325 This patch removes selection creation code from deleteWithDirection so that deleteKeyPressed 68326 can handle it. That required moving code to handle the kill ring down into deleteKeyPressed. 68327 68328 Follow up patches will fix <rdar://problem/2610675>, and attempt to eliminate the rest of the 68329 discrepancies between the behavior of JS deletions and manual deletions, so that we 68330 have better test coverage. 68331 68332 * editing/Editor.cpp: 68333 (WebCore::Editor::deleteWithDirection): Early return if m_frame->document() is null, instead 68334 of checking for that periodically throughout the function. There's really nothing to be done 68335 if it's null anyway. 68336 Move kill ring code down into deleteKeyPressed. 68337 * editing/Editor.h: 68338 * editing/TypingCommand.cpp: 68339 (WebCore::TypingCommand::TypingCommand): 68340 (WebCore::TypingCommand::deleteKeyPressed): 68341 (WebCore::TypingCommand::forwardDeleteKeyPressed): 68342 (WebCore::TypingCommand::doApply): 68343 * editing/TypingCommand.h: 68344 (WebCore::TypingCommand::create): 68345 68346 2008-11-20 Darin Adler <darin (a] apple.com> 68347 68348 Earlier version reviewed by Justin Garcia. 68349 68350 - fix <rdar://problem/4108572> REGRESSION: Can't extend selection with shift-arrow in read only mode 68351 68352 * editing/Editor.cpp: 68353 (WebCore::Editor::handleKeyboardEvent): Remove isContentEditable check -- keyboard events can be 68354 handled even when the selection is not in an editable area. 68355 (WebCore::Editor::handleInputMethodKeydown): Ditto. 68356 68357 * editing/EditorCommand.cpp: Changed the enabled rule for operations that change the selection to 68358 allow use when there's a selection even if it's not in an editable area. This includes commands 68359 like shift-arrow keys to extend the slection, but not commands like arrow keys to move the 68360 insertion point. 68361 68362 2008-11-20 Alexey Proskuryakov <ap (a] webkit.org> 68363 68364 Reviewed by Darin Adler. 68365 68366 https://bugs.webkit.org/show_bug.cgi?id=22380 68367 Fix WorkerContext refcounting 68368 68369 * dom/WorkerContext.cpp: 68370 (WebCore::WorkerContext::WorkerContext): 68371 * dom/WorkerContext.h: 68372 (WebCore::WorkerContext::script): 68373 (WebCore::WorkerContext::clearScript): 68374 Added a method to manually destroy WorkerScriptController. 68375 68376 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): 68377 Destroy WorkerScriptController to release any references to WorkerContext. 68378 68379 2008-11-19 Julien Chaffraix <jchaffraix (a] webkit.org> 68380 68381 Reviewed by Darin Adler. 68382 68383 Last part of bug 21106: .in format discussed changes 68384 https://bugs.webkit.org/show_bug.cgi?id=21106 68385 68386 - Renamed isAudioHack to wrapperOnlyIfMediaIsAvailable as requested. 68387 68388 - Cleaned up additionnal function parameters that were unneeded. 68389 68390 * dom/make_names.pl: 68391 * html/HTMLTagNames.in: 68392 68393 2008-11-20 Alexey Proskuryakov <ap (a] webkit.org> 68394 68395 Reviewed by Darin Adler. 68396 68397 https://bugs.webkit.org/show_bug.cgi?id=22383 68398 Worker tests spill error messages over to consequent tests 68399 68400 * dom/Worker.cpp: (WebCore::Worker::Worker): 68401 Raise an exception immediately if URL is empty. Dcoument::completeURL() returns document URL 68402 in this case, and there is no sense in starting a thread and trying to parse document source 68403 as JavaScript. 68404 68405 * bindings/js/JSWorkerConstructor.cpp: (WebCore::constructWorker): 68406 Return quickly if toString() raised an exception. 68407 68408 2008-11-19 Simon Fraser <simon.fraser (a] apple.com> 68409 68410 Reviewed by Adele Peterson. 68411 68412 https://bugs.webkit.org/show_bug.cgi?id=22190 68413 68414 Fix the painting and event handling in transformed search fields. 68415 When painting the cancel and results button parts, get the rect from AppKit 68416 relative to the input bounds (rather than in absolute coords), then convert 68417 it into the coords of the part's renderer (which is the one that is painting). 68418 To do this we need to compute an offset relative to some container, so expose 68419 a method on RenderObject for that. 68420 68421 Also fix the location at which the search popup shows up to take transforms 68422 into account, and fix the math that is used to figure out if the search 68423 results button, or the cancel button should get the mouse events. 68424 68425 Test: fast/forms/search-transformed.html 68426 68427 * rendering/RenderBox.h: 68428 * rendering/RenderObject.cpp: 68429 (WebCore::RenderObject::offsetFromContainer): 68430 * rendering/RenderObject.h: 68431 * rendering/RenderTextControl.cpp: 68432 (WebCore::RenderTextControl::forwardEvent): 68433 (WebCore::RenderTextControl::showPopup): 68434 * rendering/RenderThemeMac.h: 68435 * rendering/RenderThemeMac.mm: 68436 (WebCore::RenderThemeMac::convertToPaintingRect): 68437 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): 68438 (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration): 68439 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): 68440 68441 2008-11-20 Joerg Bornemann <joerg.bornemann (a] trolltech.com> 68442 68443 Reviewed by Simon Hausmann. 68444 68445 Steps towards making the the Qt port of WebKit compile on Windows CE 68446 68447 https://bugs.webkit.org/show_bug.cgi?id=20746 68448 68449 * WebCore.pro: Various fixes to include windows specific build options 68450 also in the Windows CE build. 68451 * loader/icon/IconDatabase.cpp: Removed unnecessary errno.h inclusion. 68452 * platform/FileSystem.h: Changed Q_OS_WIN32 to Q_OS_WIN to include CE. 68453 * platform/graphics/qt/GraphicsContextQt.cpp: 68454 (WebCore::GraphicsContext::getWindowsContext): SetWorldTransform is 68455 not available on CE. 68456 * platform/graphics/qt/PathQt.cpp: Added local definition of M_PI. 68457 * platform/qt/FileSystemQt.cpp: Changed Q_OS_WIN32 to Q_OS_WIN to include CE. 68458 * platform/qt/KeyboardCodes.h: Extend #idefs to define the missing OEM 68459 constants on CE. 68460 * platform/qt/TemporaryLinkStubs.cpp: Added stubs for plugins. 68461 * platform/text/RegularExpression.cpp: Removed unused sys/types.h and 68462 pcre.h inclusions. 68463 * platform/win/SystemTimeWin.cpp: 68464 (WebCore::userIdleTime): Don't use GetLastInputInfo on CE, it does not 68465 exist. 68466 68467 2008-11-20 Antti Koivisto <antti (a] apple.com> 68468 68469 Reviewed by Maciej Stachowiak. 68470 68471 https://bugs.webkit.org/show_bug.cgi?id=22379 68472 Make CSSOM use less memory 68473 68474 - Shrink CSSProperty by half by using bitfields. 68475 - Get rid of m_strictParsing field in StyleBase by moving it up to CSSStyleSheet 68476 and CSSMutableStyleDeclaration. This reduces size of many highly popular objects. 68477 68478 * css/CSSMutableStyleDeclaration.cpp: 68479 (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration): 68480 (WebCore::CSSMutableStyleDeclaration::operator=): 68481 * css/CSSMutableStyleDeclaration.h: 68482 (WebCore::CSSMutableStyleDeclaration::setStrictParsing): 68483 (WebCore::CSSMutableStyleDeclaration::useStrictParsing): 68484 * css/CSSProperty.h: 68485 * css/CSSStyleSheet.cpp: 68486 (WebCore::CSSStyleSheet::CSSStyleSheet): 68487 * css/CSSStyleSheet.h: 68488 (WebCore::CSSStyleSheet::setStrictParsing): 68489 (WebCore::CSSStyleSheet::useStrictParsing): 68490 * css/StyleBase.h: 68491 (WebCore::StyleBase::useStrictParsing): 68492 (WebCore::StyleBase::StyleBase): 68493 68494 2008-11-19 Darin Fisher <darin (a] chromium.org> 68495 68496 Fix bustage. 68497 68498 https://bugs.webkit.org/show_bug.cgi?id=22373 68499 Ports busted by addition of ScriptValue.{h,cpp} 68500 68501 * plugins/PluginView.cpp: 68502 (WebCore::PluginView::performRequest): 68503 68504 2008-11-19 Darin Fisher <darin (a] chromium.org> 68505 68506 Bustage fix. 68507 68508 https://bugs.webkit.org/show_bug.cgi?id=22373 68509 Ports busted by addition of ScriptValue.{h,cpp} 68510 68511 * GNUmakefile.am: 68512 * WebCore.pro: 68513 * WebCoreSources.bkl: 68514 * dom/XMLTokenizerQt.cpp: 68515 * plugins/PluginView.cpp: 68516 68517 2008-11-19 Darin Fisher <darin (a] chromium.org> 68518 68519 Reviewed by Geoff Garen. 68520 68521 https://bugs.webkit.org/show_bug.cgi?id=22345 68522 Define ScriptValue as a thin container for a JSC::Value*. 68523 68524 * WebCore.vcproj/WebCore.vcproj: 68525 * WebCore.xcodeproj/project.pbxproj: 68526 * bindings/js/ScheduledAction.cpp: 68527 * bindings/js/ScriptController.cpp: 68528 (WebCore::ScriptController::evaluate): 68529 * bindings/js/ScriptController.h: 68530 * bindings/js/ScriptValue.cpp: Added. 68531 (WebCore::ScriptValue::getString): 68532 * bindings/js/ScriptValue.h: Added. 68533 (WebCore::ScriptValue::ScriptValue): 68534 (WebCore::ScriptValue::jsValue): 68535 * dom/ScriptElement.cpp: 68536 * dom/XMLTokenizer.cpp: 68537 * dom/XMLTokenizerLibxml2.cpp: 68538 * html/HTMLTokenizer.cpp: 68539 * loader/FrameLoader.cpp: 68540 (WebCore::FrameLoader::executeIfJavaScriptURL): 68541 (WebCore::FrameLoader::executeScript): 68542 * loader/FrameLoader.h: 68543 68544 2008-11-19 Beth Dakin <bdakin (a] apple.com> 68545 68546 Reviewed by Justin Garcia. 68547 68548 Fix for <rdar://problem/5472507> Remove color property when a user 68549 sets color to black 68550 68551 This patch prevents us from inserting font nodes during the 68552 ApplyStyleCommand if they will not change the computed style of an 68553 element. 68554 68555 * editing/ApplyStyleCommand.cpp: 68556 (WebCore::fontColorChangesComputedStyle): 68557 (WebCore::fontSizeChangesComputedStyle): 68558 (WebCore::fontFaceChangesComputedStyle): 68559 (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): 68560 68561 2008-11-19 Simon Fraser <simon.fraser (a] apple.com> 68562 68563 Reviewed by Antti Koivisto 68564 68565 https://bugs.webkit.org/show_bug.cgi?id=22111 68566 68567 Fix hit testing in controls on transformed video elements 68568 by replacing absoluteBoundingBoxRect().contains() with 68569 code that maps the point into local coords, taking 68570 transforms into account. 68571 68572 Test: media/video-controls-transformed.html 68573 68574 * platform/graphics/MediaPlayer.h: 68575 * rendering/RenderMedia.cpp: 68576 (WebCore::rendererContainsPoint): 68577 (WebCore::RenderMedia::forwardEvent): 68578 68579 2008-11-19 Simon Fraser <simon.fraser (a] apple.com> 68580 68581 Reviewed by Darin Adler 68582 68583 https://bugs.webkit.org/show_bug.cgi?id=22348 68584 68585 Need to educate style sharing about autofill, so that style does not 68586 get shared between input elements that are autofilled, and those 68587 that are not. Setting autofill should also do a setChanged on the node. 68588 68589 * css/CSSStyleSelector.cpp: 68590 (WebCore::CSSStyleSelector::canShareStyleWithElement): 68591 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 68592 * dom/Node.h: 68593 (WebCore::Node::isAutofilled): 68594 * html/HTMLInputElement.cpp: 68595 (WebCore::HTMLInputElement::setAutofilled): 68596 * html/HTMLInputElement.h: 68597 (WebCore::HTMLInputElement::isAutofilled): 68598 68599 2008-11-19 Brett Wilson <brettw (a] chromium.org> 68600 68601 Reviewed by Antti Koivisto. 68602 68603 https://bugs.webkit.org/show_bug.cgi?id=22349 68604 68605 Clear the subresource loader client when the client is removed in 68606 response to a 304 (not modified). This prevents an inconsistent state 68607 where the loader thinks it's active and the loader::Host doesn't. 68608 68609 * loader/loader.cpp: 68610 (WebCore::Loader::Host::didReceiveResponse): 68611 68612 2008-11-19 Alexey Proskuryakov <ap (a] webkit.org> 68613 68614 Reviewed by Darin Adler. 68615 68616 https://bugs.webkit.org/show_bug.cgi?id=22355 68617 Systematize code for replacing global constructors 68618 68619 Test: fast/workers/worker-replace-global-constructor.html 68620 68621 * bindings/js/JSDOMWindowBase.cpp: 68622 (setJSDOMWindowBaseEvent): Changed to put the value as property, matching what generated 68623 code for global constructor setters does. 68624 (setJSDOMWindowBaseAudio): Ditto. 68625 (setJSDOMWindowBaseImage): Ditto. 68626 (setJSDOMWindowBaseMessageChannel): Ditto. 68627 (setJSDOMWindowBaseOption): Ditto. 68628 (setJSDOMWindowBaseWorker): Ditto. 68629 (setJSDOMWindowBaseXMLHttpRequest): Ditto. 68630 (setJSDOMWindowBaseXSLTProcessor): Ditto. 68631 (WebCore::JSDOMWindowBase::put): Removed special cases for global constructors. 68632 68633 * bindings/js/JSWorkerContext.cpp: 68634 (WebCore::JSWorkerContext::getOwnPropertySlot): Look up overrides before own properties, 68635 as it is done for Window. 68636 (WebCore::setJSWorkerContextMessageEvent): Implemented in the same way as Window global 68637 constructors are. 68638 (WebCore::setJSWorkerContextWorkerLocation): Ditto. 68639 68640 2008-11-19 Alexey Proskuryakov <ap (a] webkit.org> 68641 68642 Reviewed by Darin Adler. 68643 68644 https://bugs.webkit.org/show_bug.cgi?id=22341 68645 Text codecs should not use static data without locking 68646 68647 * platform/text/TextCodecICU.cpp: 68648 * platform/text/mac/TextCodecMac.cpp: 68649 Made cached converters per-thread. 68650 68651 * platform/text/TextEncodingRegistry.cpp: 68652 (WebCore::encodingRegistryMutex): Added a mutex for codec maps access. 68653 (WebCore::addToTextCodecMap): Don't use TextEncoding just to canonicalize the name, as it 68654 causes a deadlock due to a recursive call into registry. 68655 (WebCore::buildBaseTextCodecMaps): Added assertions. 68656 (WebCore::newTextCodec): Take a lock to avoid concurrent access to codec maps. 68657 (WebCore::atomicCanonicalTextEncodingName): Ditto. 68658 (WebCore::noExtendedTextEncodingNameUsed): Added a comment, explaining why locking is not 68659 necessary here. 68660 68661 2008-11-19 Alexey Proskuryakov <ap (a] webkit.org> 68662 68663 Touch WebCorePrefix.h to force a rebuild, needed because of changed feature defines. 68664 68665 * WebCorePrefix.h: 68666 68667 2008-11-19 Alexey Proskuryakov <ap (a] webkit.org> 68668 68669 Reviewed by Darin Adler. 68670 68671 https://bugs.webkit.org/show_bug.cgi?id=22310 68672 Worker exceptions should be printed to console 68673 68674 * dom/Document.cpp: (WebCore::Document::reportException): 68675 * dom/Document.h: 68676 * dom/ScriptExecutionContext.h: 68677 * dom/WorkerContext.cpp: (WebCore::WorkerContext::reportException): 68678 * dom/WorkerContext.h: 68679 Added a reportException() method on ScriptExecutionContext. It forwards the exception info 68680 up until it finds a Document context, and then it prints it to console. 68681 68682 * bindings/js/JSEventListener.cpp: 68683 (WebCore::JSAbstractEventListener::handleEvent): Don't talk to Console directly, use 68684 ScriptExecutionContext::reportException. Also, fixed a bug where Document::updateDocumentsRendering() 68685 could be called from workers. 68686 (WebCore::JSLazyEventListener::parseCode): Moved variable declaration inside if block for clarity. 68687 68688 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): 68689 Report exceptions to ScriptExecutionContext. 68690 68691 * dom/WorkerMessagingProxy.cpp: 68692 (WebCore::MessageWorkerTask::performTask): 68693 (WebCore::WorkerExceptionTask::create): 68694 (WebCore::WorkerExceptionTask::WorkerExceptionTask): 68695 (WebCore::WorkerExceptionTask::performTask): 68696 (WebCore::WorkerMessagingProxy::postWorkerException): 68697 * dom/WorkerMessagingProxy.h: 68698 Added a task for posting exception information. 68699 68700 * bindings/js/JSDOMBinding.cpp: 68701 (WebCore::reportException): 68702 (WebCore::reportCurrentException): 68703 * bindings/js/JSDOMBinding.h: 68704 Added helper methods for reporting exceptions via ScriptExecutionContext. 68705 68706 * page/Console.cpp: 68707 * page/Console.h: 68708 Removed methods for directly reporting exceptions to console. 68709 68710 * bindings/js/JSCustomPositionCallback.cpp: 68711 (WebCore::JSCustomPositionCallback::handleEvent): 68712 * bindings/js/JSCustomPositionErrorCallback.cpp: 68713 (WebCore::JSCustomPositionErrorCallback::handleEvent): 68714 * bindings/js/JSCustomSQLStatementCallback.cpp: 68715 (WebCore::JSCustomSQLStatementCallback::handleEvent): 68716 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 68717 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 68718 * bindings/js/JSCustomSQLTransactionCallback.cpp: 68719 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 68720 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 68721 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 68722 * bindings/js/JSCustomVoidCallback.cpp: 68723 (WebCore::JSCustomVoidCallback::handleEvent): 68724 * bindings/js/JSCustomXPathNSResolver.cpp: 68725 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 68726 * bindings/js/ScheduledAction.cpp: 68727 (WebCore::ScheduledAction::execute): 68728 * bindings/js/ScriptController.cpp: 68729 (WebCore::ScriptController::evaluate): 68730 * bindings/objc/WebScriptObject.mm: 68731 (WebCore::addExceptionToConsole): 68732 Switch to JSDOMBinding methods for reporting exceptions. 68733 68734 2008-11-18 Dan Bernstein <mitz (a] apple.com> 68735 68736 Reviewed by Mark Rowe. 68737 68738 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=22331 68739 <rdar://problem/6381657> REGRESSION: Contextual menu no longer has an "Inspect Element" item 68740 68741 * platform/ContextMenuItem.h: 68742 (WebCore::ContextMenuAction): Reorder this enum to keep it in sync with 68743 the one in WebUIDelegate.h. 68744 68745 2008-11-18 Dimitri Glazkov <dglazkov (a] chromium.org> 68746 68747 Reviewed by Darin Adler. 68748 68749 https://bugs.webkit.org/show_bug.cgi?id=22346 68750 PlatformString should also include HashSet.h for non-JSC builds 68751 68752 * platform/text/PlatformString.h: 68753 68754 2008-11-18 Adele Peterson <adele (a] apple.com> 68755 68756 Reviewed by Holger Hans Peter Freyther. 68757 68758 Flip check added in recent refactoring so the background gets updated when the background color is valid, not invalid. 68759 68760 * loader/FrameLoaderClient.cpp: (WebCore::FrameLoaderClient::transitionToCommittedForNewPage): 68761 68762 2008-11-18 Dimitri Glazkov <dglazkov (a] chromium.org> 68763 68764 Reviewed by Sam Weinig. 68765 68766 https://bugs.webkit.org/show_bug.cgi?id=22343 68767 Remove unused runtime/Collector, JSLock includes in Page.cpp 68768 68769 * page/Page.cpp: 68770 68771 2008-11-18 Ada Chan <adachan (a] apple.com> 68772 68773 Bug 22344: Make select popup window opaque 68774 https://bugs.webkit.org/show_bug.cgi?id=22344 68775 68776 Reviewed by Steve Falkenburg. 68777 68778 * platform/win/PopupMenuWin.cpp: 68779 (WebCore::PopupMenu::show): 68780 68781 2008-11-18 Dimitri Glazkov <dglazkov (a] chromium.org> 68782 68783 Reviewed by Sam Weinig. 68784 68785 https://bugs.webkit.org/show_bug.cgi?id=22342 68786 Remove unused JSLock.h include 68787 68788 * dom/Document.cpp: 68789 68790 2008-11-18 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 68791 68792 Reviewed by Sam Weinig. 68793 68794 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22334 68795 68796 Add WMLBRElement, correcting <br/> behaviour in WML. 68797 Enable entity replacment for WML documents. 68798 Handle WML specific <p> 'mode' attribute. 68799 68800 Generate layout tests results for fast/wml. 68801 68802 Tests cases that pass now: 68803 fast/wml/br-element-in-table.wml 68804 fast/wml/br-element-in-text.wml 68805 fast/wml/case-sensitivity.wml 68806 fast/wml/cdata-section.wml 68807 fast/wml/comment.wml 68808 fast/wml/entity.wml 68809 fast/wml/p-align.wml 68810 fast/wml/p-mode.wml 68811 fast/wml/text-emphasis.wml 68812 fast/wml/validate-dtd.wml 68813 68814 * GNUmakefile.am: 68815 * WebCore.pro: 68816 * WebCore.xcodeproj/project.pbxproj: 68817 * dom/XMLTokenizer.cpp: 68818 (WebCore::XMLTokenizer::isWMLDocument): 68819 (WebCore::XMLTokenizer::insertErrorMessageBlock): 68820 * dom/XMLTokenizer.h: 68821 * dom/XMLTokenizerLibxml2.cpp: 68822 (WebCore::XMLTokenizer::internalSubset): 68823 (WebCore::getEntityHandler): 68824 * dom/XMLTokenizerQt.cpp: 68825 (WebCore::XMLTokenizer::parse): 68826 * wml/WMLBRElement.cpp: Added. 68827 (WebCore::WMLBRElement::WMLBRElement): 68828 (WebCore::WMLBRElement::mapToEntry): 68829 (WebCore::WMLBRElement::parseMappedAttribute): 68830 (WebCore::WMLBRElement::createRenderer): 68831 * wml/WMLBRElement.h: Added. 68832 * wml/WMLPElement.cpp: 68833 (WebCore::WMLPElement::parseMappedAttribute): 68834 (WebCore::WMLPElement::insertedIntoDocument): 68835 * wml/WMLPElement.h: 68836 * wml/WMLTagNames.in: 68837 68838 2008-11-18 Alexey Proskuryakov <ap (a] webkit.org> 68839 68840 Windows build fix. 68841 68842 * WebCore.vcproj/WebCore.vcproj: Fix relative paths to use $(WebKitOutputDir). 68843 68844 2008-11-18 Darin Adler <darin (a] apple.com> 68845 68846 - try to fix Wx build 68847 68848 * WebCoreSources.bkl: Added FrameLoaderClient.cpp. 68849 68850 2008-11-18 Alexey Proskuryakov <ap (a] webkit.org> 68851 68852 Reviewed by Darin Adler. 68853 68854 https://bugs.webkit.org/show_bug.cgi?id=22337 68855 Enable workers by default 68856 68857 Tests: fast/workers/worker-constructor.html 68858 fast/workers/worker-event-listener.html 68859 fast/workers/worker-gc.html 68860 fast/workers/worker-location.html 68861 68862 * Configurations/WebCore.xcconfig: 68863 * WebCore.vcproj/WebCore.vcproj: 68864 * WebCore.vcproj/build-generated-files.sh: 68865 Define ENABLE_WORKERS. 68866 68867 2008-11-18 Darin Adler <darin (a] apple.com> 68868 68869 Reviewed by Alexey Proskuryakov. 68870 68871 - first cut at https://bugs.webkit.org/show_bug.cgi?id=10957 68872 <rdar://problem/5516594> please add support for HTTP-only cookies 68873 68874 Test: http/tests/xmlhttprequest/get-dangerous-headers.html 68875 68876 No test for HTTP-only support in JavaScript yet, since the Mac and Win changes 68877 require an updated CFNetwork. 68878 68879 * platform/mac/CookieJar.mm: 68880 (WebCore::isHTTPOnly): Added. 68881 (WebCore::filterCookies): Added. 68882 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies. 68883 (WebCore::setCookies): Use filterCookies to prevent setting HTTP-only cookies. 68884 68885 * platform/network/win/CookieJarCFNetWin.cpp: 68886 (WebCore::isHTTPOnly): Added. 68887 (WebCore::filterCookies): Added. 68888 (WebCore::setCookies): Use filterCookies to prevent getting HTTP-only cookies. 68889 (WebCore::cookies): Use filterCookies to prevent getting HTTP-only cookies. 68890 68891 * xml/XMLHttpRequest.cpp: 68892 (WebCore::isSetCookieHeader): Added. 68893 (WebCore::XMLHttpRequest::getAllResponseHeaders): Hide Set-Cookie headers from 68894 clients that don't have local-resource privileges. 68895 (WebCore::XMLHttpRequest::getResponseHeader): Ditto. 68896 68897 - clean soup-specific details out of shared cookie jar header 68898 68899 * platform/CookieJar.h: Removed the soup-specific parts of this. 68900 * platform/network/soup/CookieJarSoup.cpp: Changed to include 68901 CookieJarSoup.h. Tweaked implementation a bit to handle UTF-8 better. 68902 * platform/network/soup/CookieJarSoup.h: Added. Has the Soup-specified 68903 part of CookieJar.h. 68904 * platform/network/soup/ResourceHandleSoup.cpp: Changed to include 68905 CookieJarSoup.h. 68906 68907 2008-11-18 Steve Falkenburg <sfalken (a] apple.com> 68908 68909 https://bugs.webkit.org/show_bug.cgi?id=22329 68910 Improper bitwise and tests against 0 in Windows context menu code 68911 68912 Reviewed by John Sullivan. 68913 68914 * platform/win/ContextMenuItemWin.cpp: 68915 (WebCore::ContextMenuItem::type): 68916 (WebCore::ContextMenuItem::enabled): 68917 68918 2008-11-18 John Sullivan <sullivan (a] apple.com> 68919 68920 Yet more Mac build fixing 68921 68922 * WebCore.base.exp: Export __ZTVN7WebCore17FrameLoaderClientE 68923 68924 2008-11-18 Tor Arne Vestb <tavestbo (a] trolltech.com> 68925 68926 Reviewed by Simon Hausmann. 68927 68928 React properly to frame rect changes for QWidget based plugins 68929 68930 We now set the geometry of the QWidget in frameRectsChanged, 68931 intead of setFrameRect, which means we pick up the changes to 68932 the frame rect when scrolling. We also set a mask on the 68933 widget to keep it from painting over scrollbars and the like 68934 68935 * platform/qt/WidgetQt.cpp: 68936 (WebCore::Widget::setFrameRect): 68937 68938 2008-11-18 Tor Arne Vestb <tavestbo (a] trolltech.com> 68939 68940 Rubber-stamped by Simon Hausmann. 68941 68942 Don't mark scrollbars as focused in QtWebKit 68943 68944 When initing from the widget we also got the focus state, 68945 but this does not make sense for scrollbars. 68946 68947 * platform/qt/ScrollbarThemeQt.cpp: 68948 (WebCore::styleOptionSlider): 68949 68950 2008-11-18 Alexey Proskuryakov <ap (a] webkit.org> 68951 68952 More Mac build fixing. 68953 68954 * WebCore.base.exp: Export FrameLoaderClient destructor. 68955 68956 2008-11-18 Alexey Proskuryakov <ap (a] webkit.org> 68957 68958 Mac build fix. 68959 68960 * WebCore.xcodeproj/project.pbxproj: Add FrameLoaderClient.cpp for now. 68961 68962 2008-11-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 68963 68964 Reviewed by Simon Hausmann. 68965 68966 https://bugs.webkit.org/show_bug.cgi?id=22056 68967 68968 Attempt to share transitionToCommittedForNewPage of FrameLoaderClient with the different ports 68969 68970 After Hyatt's work on Widget and ScrollView there is little difference 68971 between the implementation of Qt, Gtk+ and Win. In fact any kind of 68972 difference is mostly a bug. Alp has fixed two of such errors for the Gtk+ 68973 port and the Qt port has at least one of them left. 68974 68975 The only difference between the implementations is in getting the the 68976 IntSize for the new FrameView, the background color to be applied and 68977 eventually some post processing. 68978 68979 Unify the implementations by providing a static helper function that 68980 takes a Frame, IntSize, color and transparency bit and calling it from 68981 the Gtk+, the Qt and the Windows port. 68982 68983 * GNUmakefile.am: 68984 * WebCore.pro: 68985 * WebCore.vcproj/WebCore.vcproj: 68986 * loader/FrameLoaderClient.cpp: Added. 68987 (WebCore::FrameLoaderClient::~FrameLoaderClient): 68988 (WebCore::FrameLoaderClient::transitionToCommittedForNewPage): 68989 * loader/FrameLoaderClient.h: 68990 68991 2008-11-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 68992 68993 Reviewed by Simon Hausmann. 68994 68995 https://bugs.webkit.org/show_bug.cgi?id=22056 68996 68997 Move setting the background color and transparency from WebKit/win 68998 to WebCore. This allows WebKit/win, WebKit/Qt and WebKit/Gtk+ 68999 to share this code. 69000 69001 * page/FrameView.cpp: 69002 (WebCore::FrameView::updateBackgroundRecursively): 69003 * page/FrameView.h: 69004 69005 2008-11-18 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 69006 69007 Reviewed by Tor Arne Vestb. 69008 69009 Fix the bug where select elements are painted without border. 69010 http://trolltech.com/developer/task-tracker/index_html?id=218957&method=entry 69011 69012 * platform/qt/RenderThemeQt.cpp: 69013 (WebCore::RenderThemeQt::paintMenuList): 69014 69015 2008-11-18 Jan Michael Alonzo <jmalonzo (a] webkit.org> 69016 69017 Gtk build fix. Not reviewed. 69018 69019 * GNUmakefile.am: Fix USER_AGENT_STYLESHEETS, wml.css is in css/, 69020 not in wml/. 69021 69022 2008-11-18 Alexey Proskuryakov <ap (a] webkit.org> 69023 69024 Reviewed by Darin Adler. 69025 69026 https://bugs.webkit.org/show_bug.cgi?id=22308 69027 Improve Worker GC behavior 69028 69029 * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::hasPendingActivity): 69030 * dom/ActiveDOMObject.h: 69031 Made hasPendingActivity() virtual, letting Worker add behavior to it. 69032 69033 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): 69034 * dom/WorkerThread.cpp: (WebCore::WorkerThread::workerThread): 69035 Tell message proxy whether there are active objects in the worker whenever JS execution 69036 finishes. 69037 69038 * dom/ScriptExecutionContext.h: (WebCore::ScriptExecutionContext::activeDOMObjects): 69039 Added a typedef for activeDOMObjects() return type, necessary to declare iterators. 69040 69041 * dom/Worker.h: 69042 * dom/Worker.cpp: (WebCore::Worker::hasPendingActivity): A Worker is active if it is still 69043 loading, or if it has unconfirmed messages, or it the worker thread has pending activity. 69044 69045 * dom/WorkerContext.h: 69046 * dom/WorkerContext.cpp: (WebCore::WorkerContext::hasPendingActivity): Check all registered 69047 active objects for pending activity. 69048 69049 * dom/WorkerMessagingProxy.cpp: 69050 (WebCore::MessageWorkerContextTask::performTask): 69051 (WebCore::WorkerThreadActivityReportTask::create): 69052 (WebCore::WorkerThreadActivityReportTask::WorkerThreadActivityReportTask): 69053 (WebCore::WorkerThreadActivityReportTask::performTask): 69054 (WebCore::WorkerMessagingProxy::WorkerMessagingProxy): 69055 (WebCore::WorkerMessagingProxy::postMessageToWorkerContext): 69056 (WebCore::WorkerMessagingProxy::workerObjectDestroyed): 69057 (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal): 69058 (WebCore::WorkerMessagingProxy::confirmWorkerThreadMessage): 69059 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivity): 69060 (WebCore::WorkerMessagingProxy::reportWorkerThreadActivityInternal): 69061 (WebCore::WorkerMessagingProxy::workerThreadHasPendingActivity): 69062 * dom/WorkerMessagingProxy.h: 69063 Track outstanding messages, and activity reported by worker thread. 69064 69065 2008-11-18 Alexey Proskuryakov <ap (a] webkit.org> 69066 69067 Rubber-stamped by Darin Adler. 69068 69069 https://bugs.webkit.org/show_bug.cgi?id=22306 69070 Disable channel messaging support 69071 69072 * bindings/js/JSDOMWindowBase.cpp: 69073 (jsDOMWindowBaseMessageChannel): 69074 * page/DOMWindow.idl: 69075 Hide MesssagePort and MessageChannel global constructors. Due to the way MessageChannel 69076 constructor is added, it remains enumerable, but undefined. 69077 69078 2008-11-17 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 69079 69080 Reviewed by Mark Rowe. 69081 69082 Remove WBXML code. MainResourceLoader is not an appropriate location. 69083 Revert until we find a better place. 69084 69085 The mime type which belongs to wmlc should be enabled anyway so WML documents get build. 69086 Remove the ENABLE(WBXML) blocks around these types in MIMETypeRegistry / DOMImplementation. 69087 69088 * WebCore.pro: 69089 * dom/DOMImplementation.cpp: 69090 (WebCore::DOMImplementation::createDocument): 69091 * loader/MainResourceLoader.cpp: 69092 (WebCore::MainResourceLoader::addData): 69093 * platform/MIMETypeRegistry.cpp: 69094 (WebCore::initializeSupportedNonImageMimeTypes): 69095 69096 2008-11-17 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 69097 69098 Not reviewed. Build fix. 69099 69100 Oops, disable WML by default on Qt. 69101 69102 * WebCore.pro: 69103 69104 2008-11-17 Nikolas Zimmermann <nikolas.zimmermann (a] torchmobile.com> 69105 69106 Reviewed by George Staikos. 69107 69108 Fixes: https://bugs.webkit.org/show_bug.cgi?id=22324 (Add basic subset of WML elements) 69109 69110 Add first bits of WML support. Only <card> & <p> and <a> elements are supported in this first patch. 69111 Support for most other elements will be added step-by-step (merging in small chunks from a big patch). 69112 69113 WML is not build by default. 69114 69115 * DerivedSources.make: Handle WMLNames/WMLElementFactory generation. 69116 * GNUmakefile.am: Add new files and generator hooks. 69117 * WebCore.pro: Ditto. 69118 * WebCore.xcodeproj/project.pbxproj: Ditto. 69119 * css/CSSStyleSelector.cpp: Load wml.css on demand, just like it's done for SVG. 69120 (WebCore::linkAttribute): 69121 (WebCore::CSSStyleSelector::styleForElement):c 69122 * css/wml.css: Added. 69123 * dom/DOMImplementation.cpp: Handle WMLDocument creation 69124 (WebCore::DOMImplementation::createDocument): 69125 * dom/Document.cpp: Handle WMLElement creation. 69126 (WebCore::Document::createElement): 69127 * dom/Document.h: Add helper function identifying WML documents. 69128 (WebCore::Document::isWMLDocument): 69129 * dom/Node.h: Add heper function identifying WML elements. 69130 (WebCore::Node::isWMLElement): 69131 * dom/XMLTokenizer.cpp: Handle errors in WML documents 69132 (WebCore::XMLTokenizer::insertErrorMessageBlock): 69133 * dom/XMLTokenizerLibxml2.cpp: Add WML DTD checks. 69134 (WebCore::XMLTokenizer::internalSubset): 69135 * dom/XMLTokenizerQt.cpp: Ditto. 69136 (WebCore::): 69137 * dom/make_names.pl: Force internal linkage for the "tagConstructor" functions, avoiding SVG<->WML clashes. 69138 * history/BackForwardList.cpp: Add WML specific function for clearing the history. 69139 (WebCore::BackForwardList::clearWmlPageHistory): 69140 * history/BackForwardList.h: 69141 * loader/FrameLoader.cpp: Add WML specific 'shouldReload' logic. 69142 (WebCore::FrameLoader::FrameLoader): 69143 (WebCore::FrameLoader::setForceReloadWmlDeck): 69144 (WebCore::FrameLoader::shouldReload): 69145 (WebCore::FrameLoader::loadItem): 69146 * loader/FrameLoader.h: 69147 * loader/MainResourceLoader.cpp: Add WBXML support (only enabled on Linux/Qt at the moment) 69148 (WebCore::MainResourceLoader::addData): 69149 * page/Frame.cpp: Initialize WMLNames. 69150 (WebCore::Frame::Frame): 69151 * page/Page.cpp: Maintain WMLPageState object per Page. 69152 (WebCore::Page::Page): 69153 (WebCore::Page::setWMLPageState): 69154 (WebCore::Page::wmlPageState): 69155 * page/Page.h: 69156 * platform/MIMETypeRegistry.cpp: Recognize WML extensions. 69157 (WebCore::initializeSupportedNonImageMimeTypes): 69158 * platform/gtk/MIMETypeRegistryGtk.cpp: Ditto. 69159 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 69160 * platform/qt/MIMETypeRegistryQt.cpp: Ditto. 69161 (WebCore::): 69162 * platform/win/MIMETypeRegistryWin.cpp: Ditto. 69163 (WebCore::MIMETypeRegistry::getMIMETypeForExtension): 69164 * manual-tests/wml: Added. 69165 * manual-tests/wml/a-br-element.wml: Added. 69166 * manual-tests/wml/a-element.wml: Added. 69167 * manual-tests/wml/a-img-element.wml: Added. 69168 * manual-tests/wml/access-target.wml: Added. 69169 * manual-tests/wml/anchor-br-element.wml: Added. 69170 * manual-tests/wml/anchor-element.wml: Added. 69171 * manual-tests/wml/anchor-img-element.wml: Added. 69172 * manual-tests/wml/card-newcontext-attr.wml: Added. 69173 * manual-tests/wml/card-onenterbackward.wml: Added. 69174 * manual-tests/wml/card-onenterforward.wml: Added. 69175 * manual-tests/wml/card-ontimer.wml: Added. 69176 * manual-tests/wml/deck-access-control.wml: Added. 69177 * manual-tests/wml/go-element.wml: Added. 69178 * manual-tests/wml/input-emptyok.wml: Added. 69179 * manual-tests/wml/input-format.wml: Added. 69180 * manual-tests/wml/onevent-go.wml: Added. 69181 * manual-tests/wml/onevent-noop.wml: Added. 69182 * manual-tests/wml/onevent-prev.wml: Added. 69183 * manual-tests/wml/onevent-refresh.wml: Added. 69184 * manual-tests/wml/onevent-shadow.wml: Added. 69185 * manual-tests/wml/postfield-get.wml: Added. 69186 * manual-tests/wml/postfield-post.wml: Added. 69187 * manual-tests/wml/select-element.wml: Added. 69188 * manual-tests/wml/select-onpick-event.wml: Added. 69189 * manual-tests/wml/setvar-element.wml: Added. 69190 * manual-tests/wml/targetdeck.wml: Added. 69191 * manual-tests/wml/task-go-in-anchor.wml: Added. 69192 * manual-tests/wml/task-noop-in-do.wml: Added. 69193 * manual-tests/wml/task-noop-in-onevent.wml: Added. 69194 * manual-tests/wml/task-prev-in-anchor.wml: Added. 69195 * manual-tests/wml/task-refresh-in-anchor.wml: Added. 69196 * manual-tests/wml/template-go.wml: Added. 69197 * manual-tests/wml/template-onevent.wml: Added. 69198 * manual-tests/wml/template-ontimer.wml: Added. 69199 * manual-tests/wml/timer.wml: Added. 69200 * manual-tests/wml/variable-substitution.wml: Added. 69201 * wml: Added. 69202 * wml/WMLAElement.cpp: Added. 69203 (WebCore::WMLAElement::WMLAElement): 69204 (WebCore::WMLAElement::parseMappedAttribute): 69205 (WebCore::WMLAElement::supportsFocus): 69206 (WebCore::WMLAElement::isFocusable): 69207 (WebCore::WMLAElement::isMouseFocusable): 69208 (WebCore::WMLAElement::isKeyboardFocusable): 69209 (WebCore::WMLAElement::defaultEventHandler): 69210 (WebCore::WMLAElement::accessKeyAction): 69211 (WebCore::WMLAElement::isURLAttribute): 69212 (WebCore::WMLAElement::target): 69213 * wml/WMLAElement.h: Added. 69214 * wml/WMLAttributeNames.in: Added. 69215 * wml/WMLCardElement.cpp: Added. 69216 (WebCore::WMLCardElement::WMLCardElement): 69217 * wml/WMLCardElement.h: Added. 69218 * wml/WMLDocument.cpp: Added. 69219 (WebCore::WMLDocument::WMLDocument): 69220 (WebCore::WMLDocument::~WMLDocument): 69221 * wml/WMLDocument.h: Added. 69222 (WebCore::WMLDocument::create): 69223 (WebCore::WMLDocument::isWMLDocument): 69224 * wml/WMLElement.cpp: Added. 69225 (WebCore::WMLElement::WMLElement): 69226 (WebCore::WMLElement::mapToEntry): 69227 (WebCore::WMLElement::parseMappedAttribute): 69228 (WebCore::WMLElement::rendererIsNeeded): 69229 (WebCore::WMLElement::createRenderer): 69230 * wml/WMLElement.h: Added. 69231 (WebCore::WMLElement::isWMLElement): 69232 * wml/WMLPElement.cpp: Added. 69233 (WebCore::WMLPElement::WMLPElement): 69234 (WebCore::WMLPElement::mapToEntry): 69235 (WebCore::WMLPElement::parseMappedAttribute): 69236 * wml/WMLPElement.h: Added. 69237 * wml/WMLPageState.cpp: Added. 69238 (WebCore::WMLPageState::WMLPageState): 69239 (WebCore::WMLPageState::~WMLPageState): 69240 (WebCore::WMLPageState::reset): 69241 (WebCore::WMLPageState::setNeedCheckDeckAccess): 69242 (WebCore::WMLPageState::isDeckAccessible): 69243 * wml/WMLPageState.h: Added. 69244 (WebCore::WMLPageState::storeVariable): 69245 (WebCore::WMLPageState::storeVariables): 69246 (WebCore::WMLPageState::getVaribale): 69247 (WebCore::WMLPageState::hasVariables): 69248 (WebCore::WMLPageState::historyLength): 69249 (WebCore::WMLPageState::setHistoryLength): 69250 (WebCore::WMLPageState::page): 69251 (WebCore::WMLPageState::activeCard): 69252 (WebCore::WMLPageState::setActiveCard): 69253 (WebCore::WMLPageState::setDeckAccessDomain): 69254 (WebCore::WMLPageState::setDeckAccessPath): 69255 (WebCore::WMLPageState::hasDeckAccess): 69256 * wml/WMLTagNames.in: Added. 69257 69258 2008-11-17 Geoffrey Garen <ggaren (a] apple.com> 69259 69260 Reviewed by Sam Weinig. 69261 69262 Updated for JavaScriptCore renames. 69263 69264 * WebCore.pro: 69265 * webcore-base.bkl: 69266 69267 2008-11-17 Justin Garcia <justin.garcia (a] apple.com> 69268 69269 Reviewed by Beth Dakin. 69270 69271 <rdar://problem/4922709> Copying less than a paragraph of quoted text and pasting it doesn't retain quote level 69272 69273 There was code to intentionally avoid quoting pasted content if less than a paragraph of 69274 it was copied. That was added for <rdar://problem/5006779>, but was unnecessary because 69275 that bug was about Paste and Match style for single paragraphs. And quote stripping for 69276 Paste and Match style is handled elsewhere. 69277 69278 * editing/markup.cpp: 69279 (WebCore::createMarkup): 69280 69281 2008-11-17 Geoffrey Garen <ggaren (a] apple.com> 69282 69283 Reviewed by Sam Weinig. 69284 69285 Updated for JavaScriptCore rename. 69286 69287 * ForwardingHeaders/interpreter/CallFrame.h: Copied from WebCore/ForwardingHeaders/runtime/ExecState.h. 69288 * ForwardingHeaders/runtime/ExecState.h: Removed. 69289 * bindings/objc/WebScriptObject.mm: 69290 * bridge/c/c_instance.cpp: 69291 * bridge/jni/jni_jsobject.mm: 69292 * dom/Node.cpp: 69293 * dom/NodeFilter.cpp: 69294 * dom/NodeIterator.cpp: 69295 * dom/TreeWalker.cpp: 69296 * inspector/JavaScriptCallFrame.h: 69297 69298 2008-11-17 Pierre-Olivier Latour <pol (a] apple.com> 69299 69300 Reviewed by Sam Weinig. 69301 69302 Added functionality to AnimationController to allow pausing a running 69303 animation or transition at a given time for testing purposes. 69304 69305 https://bugs.webkit.org/show_bug.cgi?id=21261 69306 69307 Tests: animations/animation-drt-api.html 69308 transitions/transition-drt-api.html 69309 69310 * WebCore.base.exp: 69311 * WebCore.xcodeproj/project.pbxproj: 69312 * page/animation/AnimationBase.cpp: 69313 (WebCore::AnimationBase::updateStateMachine): 69314 (WebCore::AnimationBase::progress): 69315 (WebCore::AnimationBase::pauseAtTime): 69316 * page/animation/AnimationBase.h: 69317 * page/animation/AnimationController.cpp: 69318 (WebCore::AnimationControllerPrivate::pauseAnimationAtTime): 69319 (WebCore::AnimationControllerPrivate::pauseTransitionAtTime): 69320 (WebCore::AnimationController::pauseAnimationAtTime): 69321 (WebCore::AnimationController::pauseTransitionAtTime): 69322 * page/animation/AnimationController.h: 69323 * page/animation/CompositeAnimation.cpp: 69324 (WebCore::CompositeAnimationPrivate::isAnimating): 69325 (WebCore::CompositeAnimationPrivate::pauseAnimationAtTime): 69326 (WebCore::CompositeAnimationPrivate::pauseTransitionAtTime): 69327 (WebCore::CompositeAnimation::pauseAnimationAtTime): 69328 (WebCore::CompositeAnimation::pauseTransitionAtTime): 69329 * page/animation/CompositeAnimation.h: 69330 * page/animation/ImplicitAnimation.cpp: 69331 (WebCore::ImplicitAnimation::animate): 69332 69333 2008-11-17 Geoffrey Garen <ggaren (a] apple.com> 69334 69335 Reviewed by Sam Weinig. 69336 69337 Updated for JavaScriptCore renames. 69338 69339 * ForwardingHeaders/VM: Removed. 69340 * ForwardingHeaders/VM/Machine.h: Removed. 69341 * ForwardingHeaders/interpreter: Added. 69342 * ForwardingHeaders/interpreter/Interpreter.h: Copied from ForwardingHeaders/VM/Machine.h. 69343 * WebCore.pro: 69344 * bindings/js/JSXMLHttpRequestCustom.cpp: 69345 * page/Console.cpp: 69346 * webcore-base.bkl: 69347 69348 2008-11-17 Geoffrey Garen <ggaren (a] apple.com> 69349 69350 Reviewed by Sam Weinig. 69351 69352 Updated for JavaScriptCore renames. 69353 69354 * ForwardingHeaders/runtime/Interpreter.h: Removed. 69355 * WebCore.vcproj/WebCore.vcproj: 69356 * bindings/js/JSDOMBinding.h: 69357 * bindings/js/WorkerScriptController.cpp: 69358 * bindings/objc/WebScriptObject.mm: 69359 * bridge/NP_jsobject.cpp: 69360 * bridge/jni/jni_jsobject.mm: 69361 * html/CanvasRenderingContext2D.cpp: 69362 * inspector/JavaScriptCallFrame.cpp: 69363 * page/Console.cpp: 69364 69365 2008-11-17 Geoffrey Garen <ggaren (a] apple.com> 69366 69367 Not reviewed. 69368 69369 Try to fix wx build. 69370 69371 * webcore-base.bkl: 69372 69373 2008-11-17 Greg Bolsinga <bolsinga (a] apple.com> 69374 69375 Reviewed by Darin Adler. 69376 69377 https://bugs.webkit.org/show_bug.cgi?id=21810 69378 Remove use of static C++ objects that are destroyed at exit time (destructors) 69379 69380 Find some missing DEFINE_STATIC_LOCAL use cases. 69381 69382 * bindings/js/JSSVGPODTypeWrapper.h: 69383 (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue): 69384 (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap): 69385 * dom/make_names.pl: Generate code to use DEFINE_STATIC_LOCAL. 69386 * page/AccessibilityRenderObject.cpp: 69387 (WebCore::RoleEntry::): This method is only called once, so the array does not have to be static. 69388 * platform/graphics/FontCache.cpp: 69389 (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): 69390 (WebCore::FontDataCacheKeyTraits::emptyValue): 69391 * rendering/style/RenderStyle.h: 69392 (WebCore::InheritedFlags::initialTransform): 69393 69394 2008-11-17 Geoffrey Garen <ggaren (a] apple.com> 69395 69396 Not reviewed. 69397 69398 Try to fix Qt build. 69399 69400 * WebCore.pro: 69401 69402 2008-11-16 Simon Fraser <simon.fraser (a] apple.com> 69403 69404 Reviewed by Dan Bernstein 69405 69406 https://bugs.webkit.org/show_bug.cgi?id=22118 69407 69408 Fix resize corner tracking in transformed elements by using 69409 mapping the point into local coords using absoluteToLocal, 69410 rather than convertToLayerCoords. 69411 69412 Test: fast/css/resize-corner-tracking-transformed.html 69413 69414 * page/EventHandler.h: 69415 * rendering/RenderLayer.cpp: 69416 (WebCore::RenderLayer::absoluteToContents): 69417 (WebCore::RenderLayer::offsetFromResizeCorner): 69418 (WebCore::RenderLayer::isPointInResizeControl): 69419 * rendering/RenderLayer.h: 69420 69421 2008-11-16 Geoffrey Garen <ggaren (a] apple.com> 69422 69423 Not reviewed. 69424 69425 Try to fix Qt build. 69426 69427 * WebCore.pro: 69428 69429 2008-11-16 Greg Bolsinga <bolsinga (a] apple.com> 69430 69431 Reviewed by Geoffrey Garen. 69432 69433 Use RefPtr and PassRefPtr where appropriate. 69434 69435 * loader/FTPDirectoryDocument.cpp: 69436 (WebCore::createTemplateDocumentData): 69437 69438 2008-11-16 Greg Bolsinga <bolsinga (a] apple.com> 69439 69440 Fix build break for real. 69441 69442 * loader/FTPDirectoryDocument.cpp: 69443 (WebCore::createTemplateDocumentData): 69444 69445 2008-11-16 Greg Bolsinga <bolsinga (a] apple.com> 69446 69447 Fix build break and bug. 69448 69449 * loader/FTPDirectoryDocument.cpp: 69450 (WebCore::createTemplateDocumentData): 69451 69452 2008-11-16 Greg Bolsinga <bolsinga (a] apple.com> 69453 69454 Reviewed by Darin Adler. 69455 69456 https://bugs.webkit.org/show_bug.cgi?id=21810 69457 Remove use of static C++ objects that are destroyed at exit time (destructors) 69458 69459 Use DEFINE_STATIC_LOCAL for static RetainPtr<T>, RefPtr<T>. Add additional 69460 uses of DEFINE_STATIC_LOCAL where appropriate. 69461 69462 * html/HTMLTableElement.cpp: 69463 (WebCore::HTMLTableElement::addSharedCellBordersDecl): new the AtomicStrings 69464 * loader/CachedImage.cpp: 69465 (WebCore::brokenImage): 69466 (WebCore::nullImage): 69467 * loader/FTPDirectoryDocument.cpp: 69468 (WebCore::_createTemplateDocumentData): Created so accessor has one line initialization 69469 (WebCore::FTPDirectoryTokenizer::loadDocumentTemplate): 69470 * loader/icon/IconDatabase.cpp: 69471 (WebCore::loadDefaultIconRecord): 69472 * page/AccessibilityObject.cpp: 69473 (WebCore::AccessibilityObject::actionVerb): 69474 * page/AccessibilityRenderObject.cpp: 69475 (WebCore::AccessibilityRenderObject::actionVerb): 69476 * page/mac/EventHandlerMac.mm: 69477 (WebCore::currentEvent): 69478 * platform/ScrollView.cpp: 69479 (WebCore::ScrollView::paint): 69480 * platform/graphics/Image.cpp: 69481 (WebCore::Image::nullImage): 69482 * platform/graphics/mac/ColorMac.mm: 69483 (WebCore::nsColor): 69484 * platform/graphics/mac/FontCacheMac.mm: new the Strings 69485 (WebCore::FontCache::getSimilarFontPlatformData): 69486 * platform/graphics/mac/GraphicsContextMac.mm: 69487 (WebCore::_createPatternColor): Created so accessor has one line initialization 69488 (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar): 69489 * platform/graphics/mac/SimpleFontDataMac.mm: 69490 (WebCore::webFallbackFontFamily): 69491 * platform/mac/PasteboardMac.mm: 69492 (WebCore::writableTypesForURL): 69493 (WebCore::createWritableTypesForImage): Created so accessor has one line initialization 69494 (WebCore::writableTypesForImage): 69495 (WebCore::stripAttachmentCharacters): 69496 * rendering/RenderLayer.cpp: 69497 (WebCore::RenderLayer::paintResizer): 69498 69499 2008-11-16 Holger Hans Peter Freyther <zecke (a] selfish.org> 69500 69501 Reviewed by Darin Adler. 69502 69503 Do not spit Curl errors into the stdout as this is used by DRT 69504 69505 We have failing tests results due the curl errors printed to stdout, 69506 move them to stderr to be able to pass those tests. 69507 69508 * platform/network/curl/ResourceHandleManager.cpp: 69509 (WebCore::ResourceHandleManager::startJob): 69510 69511 2008-11-16 Holger Hans Peter Freyther <zecke (a] selfish.org> 69512 69513 - fix the Gtk+ build 69514 69515 * GNUmakefile.am: 69516 69517 2008-11-16 Darin Adler <darin (a] apple.com> 69518 69519 - try to fix Qt build 69520 69521 * WebCore.pro: Add the worker-related source files. 69522 69523 2008-11-16 Darin Adler <darin (a] apple.com> 69524 69525 Suggested by Alexey Proskuryakov. 69526 69527 - fix the GTK build another way 69528 69529 * GNUmakefile.am: Add the worker-related source files. 69530 * bindings/js/JSEventTarget.cpp: Take the #if back out. 69531 69532 2008-11-16 Darin Adler <darin (a] apple.com> 69533 69534 - try to fix GTK build 69535 69536 * bindings/js/JSEventTarget.cpp: Put worker includes inside an #if. 69537 69538 2008-11-16 Darin Adler <darin (a] apple.com> 69539 69540 Reviewed by Dan Bernstein. 69541 69542 - https://bugs.webkit.org/show_bug.cgi?id=22295 69543 track which history items are from page load failures 69544 69545 * history/HistoryItem.cpp: Sort includes, add newly needed ones, and remove 69546 no-longer-needed ones. 69547 (WebCore::HistoryItem::HistoryItem): Initialize m_lastVisitWasFailure to false. 69548 (WebCore::HistoryItem::showTreeWithIndent): Rewrote to avoid appending to a 69549 String, since that's not efficient. 69550 69551 * history/HistoryItem.h: Removed unneeded includes. Added lastVisitWasFailure, 69552 setLastVisitWasFailure, and m_lastVisitWasFailure. 69553 69554 * history/mac/HistoryItemMac.mm: Add newly-needed include 69555 (WebCore::HistoryItem::setTransientProperty): Rewrote to avoid keeping a 69556 m_transientProperties map around when it is empty. 69557 69558 * loader/FrameLoader.cpp: 69559 (WebCore::FrameLoader::createHistoryItem): Call setLastVisitWasFailure when 69560 the page was unreachable or an HTTP page with a status code that indicates 69561 failure. 69562 69563 2008-11-16 Yong Li <yong.li (a] torchmobile.com> 69564 69565 Reviewed by Timothy Hatcher. 69566 Landed by George Staikos. 69567 69568 Optimization: don't relayout, repaint, or emit a DOM event if the 69569 scroll event didn't scroll anywhere. 69570 69571 * rendering/RenderLayer.cpp: 69572 (WebCore::RenderLayer::scrollToOffset): add early exit 69573 69574 2008-11-16 Alexey Proskuryakov <ap (a] webkit.org> 69575 69576 Reviewed by Dan Bernstein. 69577 69578 https://bugs.webkit.org/show_bug.cgi?id=22290 69579 Remove cross-heap GC and MessagePort multi-threading support 69580 69581 It is broken (and may not be implementable at all), and no longer needed, as we 69582 don't use MessagePorts for communication with workers any more. 69583 69584 * bindings/js/JSDOMBinding.cpp: 69585 * bindings/js/JSDOMBinding.h: 69586 * bindings/js/JSDOMWindowBase.cpp: 69587 * bindings/js/JSDOMWindowBase.h: 69588 Removed cross-heap GC implementation. 69589 69590 * dom/MessagePort.cpp: 69591 (WebCore::MessagePort::hasPendingActivity): 69592 * dom/MessagePort.h: 69593 Made objects RefCounted instead of ThreadSafeShared, added FIXME comments for code that is 69594 unnecessarily complicated for single threaded case. 69595 69596 2008-11-14 Alexey Proskuryakov <ap (a] webkit.org> 69597 69598 Reviewed by Maciej Stachowiak. 69599 69600 https://bugs.webkit.org/show_bug.cgi?id=22266 69601 Stop using MessagePort for communication with workers 69602 69603 The current MessagePort specification is not well suited for being implemented in a 69604 multi-threaded or multi-process environment, and this doesn't appear to be easily fixable. 69605 This patch implements a simpler Mozilla API for workers instead. 69606 69607 * WebCore.xcodeproj/project.pbxproj: 69608 * DerivedSources.make: 69609 * bindings/js/JSDOMWindowBase.cpp: (jsDOMWindowBaseWorker): 69610 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed. 69611 * bindings/js/JSDedicatedWorkerConstructor.h: Removed. 69612 * bindings/js/JSDedicatedWorkerCustom.cpp: Removed. 69613 * bindings/js/JSWorkerConstructor.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.cpp. 69614 * bindings/js/JSWorkerConstructor.h: Copied from WebCore/bindings/js/JSDedicatedWorkerConstructor.h. 69615 * bindings/js/JSWorkerCustom.cpp: Copied from WebCore/bindings/js/JSDedicatedWorkerCustom.cpp. 69616 * dom/DedicatedWorker.cpp: Removed. 69617 * dom/DedicatedWorker.h: Removed. 69618 * dom/DedicatedWorker.idl: Removed. 69619 Renamed DedicatedWorker to Worker to match Mozilla and current WHATWG cpec. 69620 69621 * bindings/js/JSEventListener.cpp: (WebCore::JSAbstractEventListener::handleEvent): 69622 Clear worker exceptions to avoid hitting an assertion. 69623 69624 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorker): 69625 * dom/EventTarget.h: 69626 * bindings/js/JSEventTarget.cpp: (WebCore::toJS): 69627 WorkerContext is now an EventTarget, too. 69628 69629 * bindings/js/JSWorkerContext.cpp: Removed onconnect, constructors for MessageChannel and 69630 MessagePort. Added postMessage() and onmessage. 69631 69632 * dom/ScriptExecutionContext.cpp: (WebCore::performTask): Do not reference ScriptExecutionContext 69633 when posting a task - this operation is not thread safe. It is also not necessary any more, 69634 as the context is kept alive by WorkerMessagingProxy. 69635 69636 * dom/Worker.cpp: Copied from WebCore/dom/DedicatedWorker.cpp. 69637 (WebCore::Worker::Worker): Start loading the script right away - there is no reason to do 69638 that on a timer. 69639 (WebCore::Worker::~Worker): Notify messaging proxy. 69640 (WebCore::Worker::postMessage): Just ask the proxy to post the message. 69641 (WebCore::Worker::notifyFinished): Notify messaging proxy when a thread object becomes 69642 available. Also, it is now safe to unsetPendingActivity(), making the object collectable. 69643 I'm not sure if this is the right lifetime for workers, as unreachable workers with event 69644 listeners should probably be kept alive, but it at least lets the object be collected. 69645 (WebCore::Worker::addEventListener): Added an EventTarget implementation. 69646 (WebCore::Worker::removeEventListener): Added an EventTarget implementation. 69647 (WebCore::Worker::dispatchEvent): Added an EventTarget implementation. 69648 69649 * dom/Worker.h: Copied from WebCore/dom/DedicatedWorker.h. 69650 * dom/Worker.idl: Copied from WebCore/dom/DedicatedWorker.idl. 69651 Removed onclose, made an EventListener. Actual messaging is now handled by WorkerMessagingProxy. 69652 69653 * dom/WorkerContext.cpp: 69654 (WebCore::WorkerContext::~WorkerContext): Notify messaging proxy that the context was shut 69655 down successfully. 69656 (WebCore::WorkerContext::postMessage): Added. Post the message via messaging proxy. 69657 69658 * dom/WorkerContext.h: Added postMessage and onmessage, removed onconnect. 69659 69660 * dom/WorkerMessagingProxy.cpp: Added. 69661 * dom/WorkerMessagingProxy.h: Added. 69662 This new class implements actual messaging. It is notified when a Worker is garbage collected, 69663 and asks the thread to shut down. It also owns the thread object, and references script 69664 execution context, making it safe to post messages to it remotely. 69665 69666 * dom/WorkerThread.cpp: 69667 * dom/WorkerThread.h: 69668 Keep a reference to messaging proxy, not to Worker itself. Also, the thread object no longer 69669 keeps itself alive - it is now the job of messaging proxy. 69670 69671 2008-11-15 Darin Adler <darin (a] apple.com> 69672 69673 Rubber stamped by Geoff Garen. 69674 69675 - do the long-planned StructureID -> Structure rename 69676 69677 * ForwardingHeaders/runtime/Structure.h: Copied from WebCore/ForwardingHeaders/runtime/StructureID.h. 69678 * ForwardingHeaders/runtime/StructureID.h: Removed. 69679 * bindings/js/JSAudioConstructor.cpp: 69680 (WebCore::JSAudioConstructor::JSAudioConstructor): 69681 * bindings/js/JSDOMBinding.cpp: 69682 (WebCore::getCachedDOMStructure): 69683 (WebCore::cacheDOMStructure): 69684 * bindings/js/JSDOMBinding.h: 69685 (WebCore::DOMObject::DOMObject): 69686 (WebCore::getDOMStructure): 69687 * bindings/js/JSDOMGlobalObject.cpp: 69688 (WebCore::JSDOMGlobalObject::JSDOMGlobalObject): 69689 * bindings/js/JSDOMGlobalObject.h: 69690 * bindings/js/JSDOMWindowBase.cpp: 69691 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 69692 * bindings/js/JSDOMWindowBase.h: 69693 * bindings/js/JSDOMWindowShell.cpp: 69694 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 69695 (WebCore::JSDOMWindowShell::setWindow): 69696 * bindings/js/JSDOMWindowShell.h: 69697 (WebCore::JSDOMWindowShell::createStructure): 69698 * bindings/js/JSDedicatedWorkerConstructor.cpp: 69699 (WebCore::JSDedicatedWorkerConstructor::JSDedicatedWorkerConstructor): 69700 * bindings/js/JSHTMLAllCollection.h: 69701 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): 69702 (WebCore::JSHTMLAllCollection::createStructure): 69703 * bindings/js/JSImageConstructor.cpp: 69704 (WebCore::JSImageConstructor::JSImageConstructor): 69705 * bindings/js/JSInspectedObjectWrapper.cpp: 69706 (WebCore::JSInspectedObjectWrapper::wrap): 69707 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): 69708 * bindings/js/JSInspectedObjectWrapper.h: 69709 * bindings/js/JSInspectorCallbackWrapper.cpp: 69710 (WebCore::leakInspectorCallbackWrapperStructure): 69711 (WebCore::JSInspectorCallbackWrapper::wrap): 69712 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): 69713 * bindings/js/JSInspectorCallbackWrapper.h: 69714 * bindings/js/JSMessageChannelConstructor.cpp: 69715 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 69716 * bindings/js/JSNamedNodesCollection.h: 69717 (WebCore::JSNamedNodesCollection::createStructure): 69718 * bindings/js/JSOptionConstructor.cpp: 69719 (WebCore::JSOptionConstructor::JSOptionConstructor): 69720 * bindings/js/JSQuarantinedObjectWrapper.cpp: 69721 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): 69722 * bindings/js/JSQuarantinedObjectWrapper.h: 69723 (WebCore::JSQuarantinedObjectWrapper::createStructure): 69724 * bindings/js/JSRGBColor.h: 69725 (WebCore::JSRGBColor::createStructure): 69726 * bindings/js/JSWorkerContext.cpp: 69727 (WebCore::createJSWorkerContextStructure): 69728 (WebCore::JSWorkerContext::JSWorkerContext): 69729 (WebCore::JSWorkerContext::createPrototype): 69730 * bindings/js/JSWorkerContext.h: 69731 (WebCore::JSWorkerContext::createStructure): 69732 (WebCore::JSWorkerContextPrototype::JSWorkerContextPrototype): 69733 (WebCore::JSWorkerContextPrototype::createStructure): 69734 * bindings/js/JSXMLHttpRequestConstructor.cpp: 69735 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 69736 * bindings/js/JSXSLTProcessorConstructor.cpp: 69737 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 69738 * bindings/scripts/CodeGeneratorJS.pm: 69739 * bridge/objc/objc_runtime.h: 69740 (JSC::Bindings::ObjcFallbackObjectImp::createStructure): 69741 * bridge/qt/qt_runtime.cpp: 69742 (JSC::Bindings::QtConnectionObject::execute): 69743 * bridge/qt/qt_runtime.h: 69744 (JSC::Bindings::QtRuntimeMethod::createStructure): 69745 * bridge/runtime_array.h: 69746 (JSC::RuntimeArray::createStructure): 69747 * bridge/runtime_method.h: 69748 (JSC::RuntimeMethod::createStructure): 69749 * bridge/runtime_object.cpp: 69750 (JSC::RuntimeObjectImp::RuntimeObjectImp): 69751 * bridge/runtime_object.h: 69752 (JSC::RuntimeObjectImp::createStructure): 69753 69754 2008-11-15 Darin Adler <darin (a] apple.com> 69755 69756 Reviewed by Dan Bernstein. 69757 69758 - fix just-introduced crash in the svg/custom/svg-fonts-in-html.html test 69759 69760 This gets rid of the crash. It restores the behavior of the CG case from before Dirk 69761 Shulze removed the platorm-dependent code, but perhaps it should be changed further 69762 in the future so that the default for no style is "no stroke". I think the patch is 69763 fine for fill. 69764 69765 * svg/graphics/SVGPaintServerSolid.cpp: 69766 (WebCore::SVGPaintServerSolid::setup): Added null checks for svgStyle. 69767 (WebCore::SVGPaintServerSolid::renderPath): Added null checks for style and svgStyle. 69768 69769 2008-11-15 Kevin Ollivier <kevino (a] theolliviers.com> 69770 69771 Reviewed by Timothy Hatcher. 69772 69773 Initialize m_networkStateChangedFunction to 0 as otherwise the check for null will fail. 69774 69775 https://bugs.webkit.org/show_bug.cgi?id=22284 69776 69777 * platform/network/NetworkStateNotifier.h: 69778 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 69779 69780 2008-11-15 Dirk Schulze <krit (a] webkit.org> 69781 69782 Reviewed by Geoffrey Garen. 69783 69784 r38426 caused a wrong drawing of a LayoutTest. Use another 69785 way to set the color to pass this test again. 69786 69787 * svg/graphics/SVGPaintServerSolid.cpp: 69788 (WebCore::SVGPaintServerSolid::setup): 69789 69790 2008-11-15 Dirk Schulze <krit (a] webkit.org> 69791 69792 Reviewed by Darin Adler. 69793 69794 Removed platform dependent code on SVGPaintServerSolid. 69795 69796 * GNUmakefile.am: 69797 * WebCore.pro: 69798 * WebCore.vcproj/WebCore.vcproj: 69799 * WebCore.xcodeproj/project.pbxproj: 69800 * svg/graphics/SVGPaintServerSolid.cpp: 69801 (WebCore::SVGPaintServerSolid::setup): 69802 (WebCore::SVGPaintServerSolid::renderPath): 69803 * svg/graphics/SVGPaintServerSolid.h: 69804 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: Removed. 69805 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: Removed. 69806 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: Removed. 69807 69808 2008-11-15 Geoffrey Garen <ggaren (a] apple.com> 69809 69810 Reviewed by Sam Weinig. 69811 69812 Updated for JavaScriptCore renames. 69813 69814 * bindings/js/JSNodeCustom.cpp: 69815 (WebCore::JSNode::mark): 69816 * bindings/js/JSXMLHttpRequestCustom.cpp: 69817 (WebCore::JSXMLHttpRequest::send): 69818 * bindings/js/ScriptController.cpp: 69819 (WebCore::ScriptController::evaluate): 69820 * bindings/js/WorkerScriptController.cpp: 69821 (WebCore::WorkerScriptController::evaluate): 69822 * bindings/objc/WebScriptObject.mm: 69823 (-[WebScriptObject evaluateWebScript:]): 69824 * bridge/NP_jsobject.cpp: 69825 (_NPN_Evaluate): 69826 * bridge/jni/jni_jsobject.mm: 69827 (JavaJSObject::eval): 69828 * page/Console.cpp: 69829 (WebCore::retrieveLastCaller): 69830 (WebCore::Console::trace): 69831 69832 2008-11-14 Greg Bolsinga <bolsinga (a] apple.com> 69833 69834 Reviewed by Darin Adler. 69835 69836 https://bugs.webkit.org/show_bug.cgi?id=21810 69837 Remove use of static C++ objects that are destroyed at exit time (destructors) 69838 69839 Create DEFINE_STATIC_LOCAL macro. Change static local objects to leak to avoid 69840 exit-time destructor. Update code that was changed to fix this issue that ran 69841 into a gcc bug (<rdar://problem/6354696> Codegen issue with C++ static reference 69842 in gcc build 5465). Also typdefs for template types needed to be added in some 69843 cases so the type could make it through the macro successfully. 69844 69845 Basically code of the form: 69846 static T m; 69847 becomes: 69848 DEFINE_STATIC_LOCAL(T, m, ()); 69849 69850 Also any code of the form: 69851 static T& m = *new T; 69852 also becomes: 69853 DEFINE_STATIC_LOCAL(T, m, ()); 69854 69855 * ForwardingHeaders/wtf/StdLibExtras.h: Added. 69856 * bindings/js/GCController.cpp: 69857 (WebCore::gcController): 69858 * bindings/js/JSDOMBinding.cpp: 69859 (WebCore::wrapperSet): 69860 * bindings/js/JSInspectedObjectWrapper.cpp: 69861 (WebCore::wrappers): 69862 * bindings/js/JSInspectorCallbackWrapper.cpp: 69863 (WebCore::wrappers): 69864 * bindings/js/JSNavigatorCustom.cpp: 69865 (WebCore::needsYouTubeQuirk): 69866 * bridge/runtime_root.cpp: 69867 (JSC::Bindings::rootObjectSet): 69868 * css/CSSMutableStyleDeclaration.cpp: 69869 (WebCore::initShorthandMap): 69870 (WebCore::CSSMutableStyleDeclaration::removeProperty): 69871 * css/CSSPrimitiveValue.cpp: 69872 (WebCore::CSSPrimitiveValue::cssText): 69873 * css/CSSSelector.cpp: 69874 (WebCore::CSSSelector::extractPseudoType): 69875 * css/CSSStyleSelector.cpp: 69876 (WebCore::screenEval): 69877 (WebCore::printEval): 69878 * dom/DOMImplementation.cpp: 69879 (WebCore::addString): 69880 (WebCore::isSVG10Feature): 69881 (WebCore::isSVG11Feature): 69882 (WebCore::DOMImplementation::isXMLMIMEType): 69883 * dom/Document.cpp: 69884 (WebCore::Document::hasPrefixNamespaceMismatch): 69885 * dom/ScriptElement.cpp: 69886 (WebCore::isSupportedJavaScriptLanguage): 69887 * editing/ApplyStyleCommand.cpp: 69888 (WebCore::styleSpanClassString): 69889 * editing/HTMLInterchange.cpp: 69890 (WebCore::): 69891 * editing/IndentOutdentCommand.cpp: 69892 (WebCore::indentBlockquoteString): 69893 * editing/ReplaceSelectionCommand.cpp: 69894 (WebCore::isInterchangeNewlineNode): 69895 (WebCore::isInterchangeConvertedSpaceSpan): 69896 * editing/htmlediting.cpp: 69897 (WebCore::stringWithRebalancedWhitespace): 69898 (WebCore::nonBreakingSpaceString): 69899 * editing/markup.cpp: 69900 (WebCore::appendAttributeValue): 69901 (WebCore::appendEscapedContent): 69902 (WebCore::shouldAddNamespaceAttr): 69903 (WebCore::appendNamespace): 69904 (WebCore::appendStartMarkup): 69905 (WebCore::createMarkup): 69906 * html/HTMLButtonElement.cpp: 69907 (WebCore::HTMLButtonElement::type): 69908 * html/HTMLElement.cpp: 69909 (WebCore::HTMLElement::isRecognizedTagName): 69910 (WebCore::inlineTagList): 69911 (WebCore::blockTagList): 69912 * html/HTMLFieldSetElement.cpp: 69913 (WebCore::HTMLFieldSetElement::type): 69914 * html/HTMLInputElement.cpp: 69915 (WebCore::HTMLInputElement::type): 69916 * html/HTMLKeygenElement.cpp: 69917 (WebCore::HTMLKeygenElement::type): 69918 * html/HTMLLegendElement.cpp: 69919 (WebCore::HTMLLegendElement::type): 69920 * html/HTMLOptGroupElement.cpp: 69921 (WebCore::HTMLOptGroupElement::type): 69922 * html/HTMLOptionElement.cpp: 69923 (WebCore::HTMLOptionElement::type): 69924 * html/HTMLParser.cpp: 69925 (WebCore::HTMLParser::getNode): 69926 (WebCore::HTMLParser::isHeaderTag): 69927 (WebCore::HTMLParser::isResidualStyleTag): 69928 (WebCore::HTMLParser::isAffectedByResidualStyle): 69929 * html/HTMLSelectElement.cpp: 69930 (WebCore::HTMLSelectElement::type): 69931 * html/HTMLTextAreaElement.cpp: 69932 (WebCore::HTMLTextAreaElement::type): 69933 * inspector/InspectorController.cpp: 69934 (WebCore::platform): 69935 * inspector/JavaScriptDebugServer.cpp: 69936 (WebCore::JavaScriptDebugServer::shared): 69937 * inspector/JavaScriptProfile.cpp: 69938 (WebCore::profileCache): 69939 * inspector/JavaScriptProfileNode.cpp: 69940 (WebCore::profileNodeCache): 69941 * loader/FrameLoader.cpp: 69942 (WebCore::localSchemes): 69943 * loader/appcache/ApplicationCacheStorage.cpp: 69944 (WebCore::cacheStorage): 69945 * loader/archive/ArchiveFactory.cpp: 69946 (WebCore::archiveMIMETypes): 69947 (WebCore::ArchiveFactory::registerKnownArchiveMIMETypes): 69948 * loader/icon/IconDatabase.cpp: 69949 (WebCore::IconDatabase::defaultDatabaseFilename): 69950 * page/EventHandler.cpp: 69951 (WebCore::EventHandler::dragState): 69952 * page/Frame.cpp: 69953 (WebCore::createRegExpForLabels): 69954 (WebCore::keepAliveSet): 69955 * page/Page.cpp: 69956 (WebCore::Page::groupName): 69957 * page/SecurityOrigin.cpp: 69958 (WebCore::isDefaultPortForProtocol): 69959 (WebCore::SecurityOrigin::databaseIdentifier): 69960 * page/mac/FrameMac.mm: 69961 (WebCore::regExpForLabels): 69962 * platform/KURL.cpp: 69963 (WebCore::blankURL): 69964 * platform/graphics/FontCache.cpp: 69965 (WebCore::alternateFamilyName): 69966 * platform/graphics/mac/FontCacheMac.mm: 69967 (WebCore::FontCache::getSimilarFontPlatformData): 69968 (WebCore::FontCache::getLastResortFallbackFont): 69969 * platform/mac/CursorMac.mm: 69970 (WebCore::leakNamedCursor): 69971 (WebCore::pointerCursor): 69972 (WebCore::crossCursor): 69973 (WebCore::handCursor): 69974 (WebCore::moveCursor): 69975 (WebCore::verticalTextCursor): 69976 (WebCore::cellCursor): 69977 (WebCore::contextMenuCursor): 69978 (WebCore::aliasCursor): 69979 (WebCore::zoomInCursor): 69980 (WebCore::zoomOutCursor): 69981 (WebCore::copyCursor): 69982 (WebCore::noneCursor): 69983 (WebCore::progressCursor): 69984 (WebCore::noDropCursor): 69985 (WebCore::notAllowedCursor): 69986 (WebCore::iBeamCursor): 69987 (WebCore::waitCursor): 69988 (WebCore::helpCursor): 69989 (WebCore::eastResizeCursor): 69990 (WebCore::northResizeCursor): 69991 (WebCore::northEastResizeCursor): 69992 (WebCore::northWestResizeCursor): 69993 (WebCore::southResizeCursor): 69994 (WebCore::southEastResizeCursor): 69995 (WebCore::southWestResizeCursor): 69996 (WebCore::westResizeCursor): 69997 (WebCore::northSouthResizeCursor): 69998 (WebCore::eastWestResizeCursor): 69999 (WebCore::northEastSouthWestResizeCursor): 70000 (WebCore::northWestSouthEastResizeCursor): 70001 (WebCore::columnResizeCursor): 70002 (WebCore::rowResizeCursor): 70003 (WebCore::grabCursor): 70004 (WebCore::grabbingCursor): 70005 * platform/mac/ScrollbarThemeMac.mm: 70006 (WebCore::ScrollbarTheme::nativeTheme): 70007 * platform/mac/ThemeMac.mm: 70008 (WebCore::platformTheme): 70009 * platform/mac/ThreadCheck.mm: 70010 (WebCoreReportThreadViolation): 70011 * platform/network/NetworkStateNotifier.cpp: 70012 (WebCore::networkStateNotifier): 70013 * platform/network/mac/FormDataStreamMac.mm: 70014 (WebCore::getStreamFormDataMap): 70015 (WebCore::getStreamResourceHandleMap): 70016 * platform/network/mac/ResourceResponseMac.mm: 70017 (WebCore::ResourceResponse::platformLazyInit): 70018 * platform/text/TextEncoding.cpp: 70019 (WebCore::TextEncoding::isJapanese): 70020 * plugins/PluginMainThreadScheduler.cpp: 70021 (WebCore::PluginMainThreadScheduler::scheduler): 70022 * rendering/RenderBlock.cpp: 70023 (WebCore::continuationOutlineTable): 70024 (WebCore::RenderBlock::addContinuationWithOutline): 70025 (WebCore::RenderBlock::paintContinuationOutlines): 70026 * rendering/RenderCounter.cpp: 70027 (WebCore::counterMaps): 70028 * rendering/RenderFlexibleBox.cpp: 70029 (WebCore::RenderFlexibleBox::layoutVerticalBox): 70030 * rendering/RenderListItem.cpp: 70031 (WebCore::RenderListItem::markerText): 70032 * rendering/RenderScrollbarTheme.cpp: 70033 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): 70034 * rendering/RenderThemeMac.mm: 70035 (WebCore::RenderThemeMac::systemFont): 70036 * rendering/bidi.cpp: 70037 (WebCore::RenderBlock::checkLinesForTextOverflow): 70038 * rendering/style/RenderStyle.cpp: 70039 (WebCore::RenderStyle::initialDashboardRegions): 70040 (WebCore::RenderStyle::noneDashboardRegions): 70041 * storage/Database.cpp: 70042 (WebCore::guidMutex): 70043 (WebCore::guidToVersionMap): 70044 (WebCore::guidToDatabaseMap): 70045 (WebCore::Database::databaseInfoTableName): 70046 (WebCore::databaseVersionKey): 70047 (WebCore::Database::getVersionFromDatabase): 70048 (WebCore::Database::setVersionInDatabase): 70049 (WebCore::guidForOriginAndName): 70050 * storage/DatabaseTracker.cpp: 70051 (WebCore::DatabaseTracker::tracker): 70052 (WebCore::notificationMutex): 70053 (WebCore::notificationQueue): 70054 * storage/LocalStorage.cpp: 70055 (WebCore::localStorageMap): 70056 * svg/SVGAnimateMotionElement.cpp: 70057 (WebCore::SVGAnimateMotionElement::rotateMode): 70058 * svg/SVGAnimationElement.cpp: 70059 (WebCore::SVGAnimationElement::calcMode): 70060 (WebCore::SVGAnimationElement::attributeType): 70061 (WebCore::SVGAnimationElement::isAdditive): 70062 (WebCore::SVGAnimationElement::isAccumulated): 70063 * svg/SVGLangSpace.cpp: 70064 (WebCore::SVGLangSpace::xmlspace): 70065 * svg/SVGSVGElement.cpp: 70066 (WebCore::SVGSVGElement::contentScriptType): 70067 (WebCore::SVGSVGElement::contentStyleType): 70068 * svg/SVGStyleElement.cpp: 70069 (WebCore::SVGStyleElement::type): 70070 (WebCore::SVGStyleElement::media): 70071 * svg/SVGTextContentElement.cpp: 70072 (WebCore::SVGTextContentElement::parseMappedAttribute): 70073 * svg/animation/SVGSMILElement.cpp: 70074 (WebCore::SVGSMILElement::parseClockValue): 70075 (WebCore::SVGSMILElement::restart): 70076 (WebCore::SVGSMILElement::fill): 70077 (WebCore::SVGSMILElement::repeatCount): 70078 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): 70079 * svg/graphics/SVGResource.cpp: 70080 (WebCore::clientMap): 70081 (WebCore::SVGResource::removeClient): 70082 * svg/graphics/SVGResourceMarker.cpp: 70083 (WebCore::SVGResourceMarker::draw): 70084 * xml/XMLHttpRequest.cpp: 70085 (WebCore::PreflightResultCacheItem::PreflightResultCacheItem): 70086 (WebCore::preflightResultCache): 70087 (WebCore::appendPreflightResultCacheEntry): 70088 (WebCore::isSafeRequestHeader): 70089 (WebCore::isOnAccessControlResponseHeaderWhitelist): 70090 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 70091 * xml/XPathExpressionNode.cpp: 70092 (WebCore::XPath::Expression::evaluationContext): 70093 * xml/XPathParser.cpp: 70094 (WebCore::XPath::setUpAxisNamesMap): 70095 (WebCore::XPath::isAxisName): 70096 (WebCore::XPath::isNodeTypeName): 70097 * xml/XPathValue.cpp: 70098 (WebCore::XPath::Value::toNodeSet): 70099 70100 2008-11-14 Dan Bernstein <mitz (a] apple.com> 70101 70102 - attempt to fix the Qt build 70103 70104 * platform/qt/Localizations.cpp: 70105 (WebCore::contextMenuItemTagTextDirectionMenu): Added. Maybe this string 70106 needs to go somewhere else in addition to here. 70107 70108 2008-11-14 Kevin Ollivier <kevino (a] theolliviers.com> 70109 70110 wx build fix. 70111 70112 * platform/wx/LocalizedStringsWx.cpp: 70113 (WebCore::contextMenuItemTagTextDirectionMenu): 70114 70115 2008-11-14 Dan Bernstein <mitz (a] apple.com> 70116 70117 Reviewed by Darin Adler. 70118 70119 - <rdar://problem/6234307> Support action methods for setting and clearing character-level directionality 70120 - WebCore part of <rdar://problem/6234337> Add a Text Direction menu to the default context menu when appropriate 70121 70122 * WebCore.base.exp: Exported 70123 WebCore::Settings::setTextDirectionSubmenuInclusionBehavior(). 70124 70125 * editing/ApplyStyleCommand.cpp: 70126 (StyleChange::init): Changed to always include the direction property 70127 in the result if the unicode-bidi property is included. 70128 (ApplyStyleCommand::splitAncestorsWithUnicodeBidi): Added. Finds the 70129 highest ancestor of the given node that establishes bidi embedding. If 70130 that embedding agrees with the given allowed direction, finds the 70131 second-highest embedding ancestor. Splits all nodes through that 70132 ancestor. If the highest embedding ancestor did not need to be split, 70133 it is returned. 70134 (ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock): Added. Removes 70135 bidi embedding attributes and styles from all ancestors of the given 70136 node up to its enclosing block or the given node. 70137 (ApplyStyleCommand::applyInlineStyle): Added code to handle the 70138 unicode-bidi property. Applying style the includes this property 70139 involves removing all bidi embedding in effect, except for one-level 70140 embedding that agrees with the desired embedding, then applying the 70141 desired embedding where it is not already in effect. 70142 (ApplyStyleCommand::applyInlineStyleToRange): Factored out from 70143 applyInlineStyle(). 70144 (ApplyStyleCommand::removeHTMLBidiEmbeddingStyle): Added. Removed the 70145 "dir" attribute if necessary and the element if it becomes an unstyled 70146 style span. 70147 (ApplyStyleCommand::removeCSSStyle): Changed to remove the direction 70148 property when removing the unicode-bidi property. 70149 (ApplyStyleCommand::removeInlineStyle): Added a call to 70150 removeHTMLBidiEmbeddingStyle(). 70151 70152 * editing/ApplyStyleCommand.h: 70153 * editing/Editor.cpp: 70154 (Editor::textDirectionForSelection): Added. Returns the character-level 70155 writing direction of the selection if it is uniform and simple (at most 70156 one level of embedding). 70157 (Editor::hasBidiSelection): Added. Returns true if the selection lies 70158 entirely within a single block, and that block has direction:rtl or 70159 contains any inline boxes with non-zero bidi embedding level. 70160 70161 * editing/Editor.h: 70162 * editing/EditorCommand.cpp: 70163 (stateTextWritingDirection): Added this helper function for deciding 70164 the state of Text Direction submenu items. 70165 (executeMakeTextWritingDirectionLeftToRight): Added. Applies 70166 "unicode-bidi: embed; direction: ltr;". 70167 (executeMakeTextWritingDirectionNatural): Added. Applies 70168 "unicode-bidi: normal;" 70169 (executeMakeTextWritingDirectionRightToLeft): Added. Applies 70170 "unicode-bidi: embed; direction: rtl;". 70171 (stateTextWritingDirectionLeftToRight): Added. 70172 (stateTextWritingDirectionNatural): Added. 70173 (stateTextWritingDirectionRightToLeft): Added. 70174 (createCommandMap): Added "MakeTextWritingDirectionLeftToRight", 70175 "MakeTextWritingDirectionNatural", 70176 and "MakeTextWritingDirectionRightToLeft". 70177 70178 * editing/InsertTextCommand.cpp: 70179 (InsertTextCommand::input): Added code to maintain the unicode-bidi 70180 and direction properties in the typing style. Even if they have the 70181 same values as the computed style at the caret, they need to be included 70182 in the typing style so that inserted text will not inherit any nested 70183 embedding. 70184 70185 * page/ContextMenuController.cpp: 70186 (ContextMenuController::contextMenuItemSelected): Added calls to 70187 the editor for the text direction menu items. 70188 70189 * page/Frame.cpp 70190 (Frame::computeAndSetTypingStyle): Added code to maintain the 70191 unicode-bidi and direction properties in the typing style. 70192 70193 * page/Settings.cpp: 70194 (Settings::setTextDirectionSubmenuInclusionBehavior): Added this setter. 70195 70196 * page/Settings.h: Added a TextDirectionSubmenuInclusionBehavior enum, 70197 an m_textDirectionSubmenuInclusionBehavior member, and accessors. 70198 70199 * page/mac/WebCoreViewFactory.h: 70200 * platform/ContextMenu.cpp: 70201 (WebCore::createAndAppendTextDirectionSubMenu): Added. 70202 (ContextMenu::populate): Added the Text Direction submenu item based on 70203 the inclusion behavior and the existence of a bidi selection. 70204 (ContextMenu::checkOrEnableIfNeeded): Added code for the text direction 70205 menu items. 70206 70207 * platform/ContextMenuItem.h: 70208 * platform/LocalizedStrings.h: Declared 70209 contextMenuItemTagTextDirectionMenu(). 70210 70211 * platform/mac/LocalizedStringsMac.mm: Defined 70212 contextMenuItemTagTextDirectionMenu(). 70213 70214 * rendering/RenderBlock.cpp: 70215 (RenderBlock::containsNonZeroBidiLevel): Added. 70216 * rendering/RenderBlock.h: 70217 70218 2008-11-14 Greg Bolsinga <bolsinga (a] apple.com> 70219 70220 Reviewed by Darin Adler. 70221 70222 https://bugs.webkit.org/show_bug.cgi?id=22264 70223 Need to update to latest Geolocation spec (13 November 2008) 70224 70225 Update to new error code constants and values. 70226 70227 * page/Geolocation.cpp: Use new named ErrorCode enums 70228 (WebCore::Geolocation::GeoNotifier::timerFired): 70229 (WebCore::Geolocation::getCurrentPosition): 70230 (WebCore::Geolocation::watchPosition): 70231 * page/PositionError.h: Have ErrorCode enum names match new error constant names and values 70232 (WebCore::PositionError::): 70233 * page/PositionError.idl: Add new named error constants 70234 70235 2008-11-14 Beth Dakin <bdakin (a] apple.com> 70236 70237 Reviewed by Justin Garcia. 70238 70239 Fix (again) for <rdar://problem/5089327> Too much indentation when 70240 pasting quoted paragraphs 70241 70242 This patch goes back to Justin's original approach to fix this bug, 70243 written in revision 38273. That fix was mostly rolled out by 70244 revision 38310 because of styling issues created by the addition of 70245 extra blockquote nodes. This patch again goes back to Justin's 70246 original fix because of cases we discovered the newer fix could not 70247 possibly cover. This version of the patch minimizes the styling 70248 issues of extra blockquotes by opting into the merge start code. 70249 70250 * editing/ReplaceSelectionCommand.cpp: 70251 (WebCore::hasMatchingQuoteLevel): We want shouldMergeStart to 70252 return true when the quoting level of the end of the inserted 70253 content matches the quoting level of the end of the existing 70254 content. 70255 (WebCore::ReplaceSelectionCommand::shouldMergeStart): Now calls 70256 hasMatchingQuoteLevel 70257 (WebCore::ReplaceSelectionCommand::doApply): 70258 70259 2008-11-14 Dirk Schulze <vbs85 (a] gmx.de> 70260 70261 Reviewed by Eric Seidel. 70262 70263 Made SVGResourceClipper platform independent. 70264 https://bugs.webkit.org/show_bug.cgi?id=21444 70265 70266 * GNUmakefile.am: 70267 * WebCore.pro: 70268 * WebCore.vcproj/WebCore.vcproj: 70269 * WebCore.xcodeproj/project.pbxproj: 70270 * platform/graphics/GraphicsContext.h: 70271 * platform/graphics/cairo/GraphicsContextCairo.cpp: 70272 (WebCore::GraphicsContext::clipPath): 70273 * platform/graphics/cg/GraphicsContextCG.cpp: 70274 (WebCore::GraphicsContext::clipPath): 70275 * platform/graphics/qt/GraphicsContextQt.cpp: 70276 (WebCore::GraphicsContext::addPath): 70277 (WebCore::GraphicsContext::clipPath): 70278 * svg/graphics/SVGResourceClipper.cpp: 70279 (WebCore::SVGResourceClipper::applyClip): 70280 * svg/graphics/cairo/SVGResourceClipperCairo.cpp: Removed. 70281 * svg/graphics/cg/SVGResourceClipperCg.cpp: Removed. 70282 * svg/graphics/qt/SVGResourceClipperQt.cpp: Removed. 70283 70284 2008-11-14 Antti Koivisto <antti (a] apple.com> 70285 70286 Reviewed by Anders Carlsson. 70287 70288 Combine loadFrameRequestWithFormState to loadFrameRequestWithFormAndValues. 70289 70290 * loader/FrameLoader.cpp: 70291 (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): 70292 * loader/FrameLoader.h: 70293 70294 2008-11-14 Sam Weinig <sam (a] webkit.org> 70295 70296 Reviewed by Eric Seidel. 70297 70298 Remove unneeded forward declaration. 70299 70300 * plugins/Plugin.h: 70301 70302 2008-11-14 Darin Fisher <darin (a] chromium.org> 70303 70304 Reviewed by Darin Adler. 70305 70306 https://bugs.webkit.org/show_bug.cgi?id=22251 70307 HTMLCanvasElement.cpp unnecessarily includes runtime/Interpreter.h 70308 70309 * html/HTMLCanvasElement.cpp: 70310 70311 2008-11-14 Yael Aharon <yael.aharon (a] nokia.com> 70312 70313 Reviewed by Simon Hausmann. 70314 70315 Add new files from the Qt port to the build. 70316 70317 * WebCore.pro: 70318 70319 2008-11-14 Yael Aharon <yael.aharon (a] nokia.com> 70320 70321 Reviewed by Simon Hausmann. 70322 70323 Made DatabaseTracker::hasEntryForOrigin() public. This allows the Qt 70324 port to apply a default quota only if there is no entry in the 70325 database for a given origin yet. 70326 70327 * storage/DatabaseTracker.h: 70328 70329 2008-11-14 Yael Aharon <yael.aharon (a] nokia.com> 70330 70331 Reviewed by Simon Hausmann. 70332 70333 Make it possible to get the cache directory set in the application 70334 cache storage. 70335 70336 * loader/appcache/ApplicationCacheStorage.cpp: 70337 (WebCore::ApplicationCacheStorage::cacheDirectory): Added. 70338 * loader/appcache/ApplicationCacheStorage.h: 70339 70340 2008-11-14 Justin Garcia <justin.garcia (a] apple.com> 70341 70342 Reviewed by Beth Dakin. 70343 70344 <rdar://problem/4230923> "Make Plain Text" doesn't reset text alignment in single paragraph messages 70345 70346 When applying block styles, we would add block properties to the body element, and Mail's 70347 Make Plain Text feature isn't equipped to remove those. This could have been fixed on our side, 70348 but this change has the advantage that it fixes the bug on Tiger, where Mail does not plan future updates. 70349 70350 We have code that puts the paragraphs that we're operating on into blocks of their own before 70351 adding or removing block properties from the blocks that enclose them. We need to run this code 70352 when the enclosing block is the body element. 70353 70354 * editing/CompositeEditCommand.cpp: 70355 (WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Added, moved code from moveParagraphContents 70356 to here. 70357 (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary): Renamed some variables for clarity. 70358 Added a few comments. Fixed bug by not bailing out when the block about to be used is the body element. 70359 * editing/CompositeEditCommand.h: 70360 70361 2008-11-14 Cameron Zwarich <zwarich (a] apple.com> 70362 70363 Reviewed by Darin Adler. 70364 70365 Bug 22245: Move wtf/dtoa.h into the WTF namespace 70366 <https://bugs.webkit.org/show_bug.cgi?id=22245> 70367 70368 Move wtf/dtoa.h into the WTF namespace from the JSC namespace. 70369 70370 * platform/text/String.cpp: 70371 (WebCore::charactersToDouble): 70372 70373 2008-11-14 Tor Arne Vestb <tavestbo (a] trolltech.com> 70374 70375 Rubber-stamped by Simon Hausmann. 70376 70377 Make sure Qt scrollbars follow the style with regard to context menus 70378 70379 * platform/qt/ScrollbarQt.cpp: 70380 (WebCore::Scrollbar::contextMenu): 70381 70382 2008-11-14 Tor Arne Vestb <tavestbo (a] trolltech.com> 70383 70384 Rubber-stamped by Simon Hausmann. 70385 70386 Make scrollbar look active when the window is active on Qt/Mac 70387 70388 * platform/qt/ScrollbarThemeQt.cpp: 70389 (WebCore::styleOptionSlider): 70390 (WebCore::ScrollbarThemeQt::paint): 70391 70392 2008-11-13 Eric Seidel <eric (a] webkit.org> 70393 70394 Reviewed by Adam Roben. 70395 70396 Add a basic Scons-based build system for building 70397 Chromium-Mac WebCore. 70398 https://bugs.webkit.org/show_bug.cgi?id=21991 70399 70400 The build currently fails due to missing files from our 70401 platform directory (platform skia and platform chromium) 70402 I will be sending those up shortly in separate patches. 70403 I expect it will be a while before our WebCore build links. 70404 70405 * SConstruct: Added. 70406 * WebCore.scons: Added. 70407 70408 2008-11-13 Darin Fisher <darin (a] chromium.org> 70409 70410 Reviewed by Darin Adler. 70411 70412 https://bugs.webkit.org/show_bug.cgi?id=22248 70413 AtomicString.cpp uses JSC types outside of #if USE(JSC) 70414 70415 * platform/text/AtomicString.cpp: 70416 (WebCore::AtomicString::add): 70417 70418 2008-11-13 Justin Garcia <justin.garcia (a] apple.com> 70419 70420 Reviewed by Darin Adler. 70421 70422 https://bugs.webkit.org/show_bug.cgi?id=18620 70423 Long hang under TextIterator::advance() when loading http://www.lsvd.de/ 70424 70425 A huge section at the beginning of this document is invisible. As we iterate through it, 70426 we create VisiblePositions unnecessarily. 70427 70428 * editing/TextIterator.cpp: 70429 (WebCore::TextIterator::shouldRepresentNodeOffsetZero): Don't proceed to VisiblePosition 70430 creation if m_node is unrendered or invisible. The answers wouldn't have much meaning 70431 and would be wasteful. Also fixed some comments to reflect the fact that this function 70432 isn't specifically about emitting a newline. 70433 70434 2008-11-13 Pierre-Olivier Latour <pol (a] apple.com> 70435 70436 Reviewed by Sam Weinig. 70437 70438 Remove unused or unnecessary code from AnimationBase class. 70439 70440 * page/animation/AnimationBase.cpp: 70441 (WebCore::AnimationBase::AnimationBase): 70442 (WebCore::AnimationBase::playStatePlaying): 70443 * page/animation/AnimationBase.h: 70444 70445 2008-11-12 Tor Arne Vestb <tavestbo (a] trolltech.com> 70446 70447 Reviewed by Simon Hausmann. 70448 70449 Inital implementation of PluginPackage and PluginView for Mac NPAPI support in WebCore 70450 70451 Currently only used by QtWebKit. See also: 70452 70453 https://bugs.webkit.org/show_bug.cgi?id=21427 70454 70455 * WebCore.pro: 70456 * platform/qt/TemporaryLinkStubs.cpp: 70457 (PluginView::userAgentStatic): 70458 (PluginView::getValueStatic): 70459 * plugins/PluginView.cpp: 70460 (WebCore::PluginView::handleEvent): 70461 (WebCore::PluginView::setValue): 70462 (WebCore::PluginView::PluginView): 70463 * plugins/PluginView.h: 70464 (WebCore::PluginView::setPlatformPluginWidget): 70465 * plugins/mac/PluginPackageMac.cpp: Added. 70466 (WebCore::PluginPackage::determineQuirks): 70467 (WebCore::readPListFile): 70468 (WebCore::stringListFromResourceId): 70469 (WebCore::PluginPackage::fetchInfo): 70470 (WebCore::PluginPackage::load): 70471 (WebCore::PluginPackage::hash): 70472 (WebCore::PluginPackage::equal): 70473 (WebCore::PluginPackage::compareFileVersion): 70474 * plugins/mac/PluginViewMac.cpp: Added. 70475 (WebCore::nativeWindowFor): 70476 (WebCore::cgHandleFor): 70477 (WebCore::topLevelOffsetFor): 70478 (WebCore::PluginView::init): 70479 (WebCore::PluginView::~PluginView): 70480 (WebCore::PluginView::stop): 70481 (WebCore::PluginView::getValueStatic): 70482 (WebCore::PluginView::getValue): 70483 (WebCore::PluginView::setParent): 70484 (WebCore::PluginView::show): 70485 (WebCore::PluginView::hide): 70486 (WebCore::PluginView::setFocus): 70487 (WebCore::PluginView::setParentVisible): 70488 (WebCore::PluginView::setNPWindowRect): 70489 (WebCore::PluginView::setNPWindowIfNeeded): 70490 (WebCore::PluginView::updatePluginWidget): 70491 (WebCore::PluginView::paint): 70492 (WebCore::PluginView::invalidateRect): 70493 (WebCore::PluginView::invalidateRegion): 70494 (WebCore::PluginView::forceRedraw): 70495 (WebCore::PluginView::handleMouseEvent): 70496 (WebCore::PluginView::handleKeyboardEvent): 70497 (WebCore::PluginView::nullEventTimerFired): 70498 (WebCore::modifiersForEvent): 70499 (WebCore::PluginView::globalMousePosForPlugin): 70500 (WebCore::PluginView::dispatchNPEvent): 70501 (WebCore::PluginView::userAgent): 70502 (WebCore::PluginView::userAgentStatic): 70503 (WebCore::PluginView::handlePostReadFile): 70504 70505 2008-11-12 Alexey Proskuryakov <ap (a] webkit.org> 70506 70507 Reviewed by Darin Adler. 70508 70509 https://bugs.webkit.org/show_bug.cgi?id=22200 70510 Crash when close event is dispatched to MessagePort due to document destruction 70511 70512 Test: fast/events/message-port-onclose.html 70513 70514 * dom/MessagePort.cpp: (WebCore::MessagePort::contextDestroyed): 70515 Don't dispatch close event, even though HTML5 currently says that we should. It is not 70516 right for GC to have observable effects. 70517 70518 2008-11-12 Alexey Proskuryakov <ap (a] webkit.org> 70519 70520 Reviewed by Darin Adler. 70521 70522 https://bugs.webkit.org/show_bug.cgi?id=22203 70523 Implement Worker messaging 70524 70525 No test cases included, because this functionality is disabled by default. 70526 70527 The implementation is known to still have many race condition, but works quite well for 70528 testing. 70529 70530 * WebCore.xcodeproj/project.pbxproj: Added WorkerTask.{h,cpp}. 70531 70532 * bindings/js/JSDOMBinding.cpp: 70533 (WebCore::markActiveObjectsForContext): Re-worded comments a little. 70534 (WebCore::markCrossHeapDependentObjectsForContext): Existing cross-heap GC protocol was 70535 incorrect, changed it to a much simpler (but still incorrect) version. 70536 70537 * dom/WorkerTask.cpp: Added. 70538 (WebCore::WorkerTask::~WorkerTask): 70539 * dom/WorkerTask.h: Added. 70540 Tasks posted to workers implement this new interface. 70541 70542 * bindings/js/JSDedicatedWorkerCustom.cpp: 70543 (WebCore::JSDedicatedWorker::mark): 70544 (WebCore::JSDedicatedWorker::connect): 70545 * dom/DedicatedWorker.h: 70546 * dom/DedicatedWorker.idl: 70547 Auto-generate event listener attributes. Renamed startConversation() to connect(), tracking 70548 WHATWG discussions. 70549 70550 * dom/DedicatedWorker.cpp: 70551 (WebCore::WorkerConnectTask::WorkerConnectTask): A task that performs worker-side connect() 70552 operations. 70553 (WebCore::DedicatedWorker::DedicatedWorker): Initialize WorkerThread pointer. 70554 (WebCore::DedicatedWorker::connect): Connect() creates a pair of entangled ports, and posts 70555 one to worker. Since message port registration in ScriptExecutionContext is not thread safe, 70556 this port starts with a null context pointer. 70557 (WebCore::DedicatedWorker::notifyFinished): Since Worker methods should work immediately 70558 after creation, we have to queue tasks until after a WorkerThread object is created. Then we 70559 forward all queued tasks to its queue. 70560 70561 * dom/EventTarget.cpp: (WebCore::EventTarget::toWorkerContext): 70562 * dom/EventTarget.h: 70563 * bindings/js/JSEventTarget.cpp: (WebCore::toJS): 70564 Added cases for WorkerContext, which is now an EventTarget, too. 70565 70566 * bindings/js/JSWorkerContext.h: Added JSWorkerContext::put() to make onconnect settable. 70567 * bindings/js/JSWorkerContext.cpp: 70568 (WebCore::JSWorkerContext::mark): Mark event listeners. 70569 (WebCore::JSWorkerContext::createPrototype): Fixed a typo, use the right StructureID. 70570 (WebCore::JSWorkerContext::put): Implemented. 70571 (WebCore::jsWorkerContextPrototypeFunctionAddEventListener): Added an EventTarget implementation. 70572 (WebCore::jsWorkerContextPrototypeFunctionRemoveEventListener): Ditto. 70573 (WebCore::jsWorkerContextPrototypeFunctionDispatchEvent): Ditto. 70574 (WebCore::jsWorkerContextOnconnect): Added. 70575 (WebCore::setJSWorkerContextOnconnect): Added. 70576 70577 * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): 70578 Made it actually work by adding necessary setup. 70579 70580 * bindings/js/WorkerScriptController.h: (WebCore::WorkerScriptController::initScriptIfNeeded): 70581 Check the right variable - it is the wrapper that may not be initialized yet. 70582 70583 * dom/ActiveDOMObject.cpp: 70584 (WebCore::ActiveDOMObject::ActiveDOMObject): 70585 (WebCore::ActiveDOMObject::~ActiveDOMObject): 70586 Assert being called from the correct thread, as active DOM object tracking is not thread safe. 70587 70588 * dom/ScriptExecutionContext.h: Added a Task interface and a postTask() method, to be used 70589 for asynchronously executing tasks in context's thread. 70590 70591 * dom/ScriptExecutionContext.cpp: 70592 (WebCore::ProcessMessagesSoonTask): Changed from a Timer to a Task 70593 (WebCore::ScriptExecutionContext::ScriptExecutionContext): Removed m_firedMessagePortTimer. 70594 It was an optimization that couldn't be easily preserved without introducing race conditions 70595 in multithreading case. 70596 (WebCore::ScriptExecutionContext::processMessagePortMessagesSoon): Use postTask(). 70597 (WebCore::ScriptExecutionContext::dispatchMessagePortEvents): Added a comment explaining 70598 why it's OK to not ref() ports in a frozen copy. 70599 (WebCore::ScriptExecutionContext::createdMessagePort): Assert that we're not being called 70600 from a wrong thread. 70601 (WebCore::ScriptExecutionContext::destroyedMessagePort): Ditto. 70602 (WebCore::ScriptExecutionContextTaskTimer): Part of 70603 ScriptExecutionContext::Task implementation - use Timer if posting from main thread to main 70604 thread. 70605 (WebCore::ScriptExecutionContextTaskWorkerTask): Another part - use WorkerTask if posting 70606 to a worker. 70607 (WebCore::PerformTaskContext::PerformTaskContext): Finally, use callOnMainThread() if posting 70608 to main thread from a secondary one. 70609 (WebCore::performTask): A helper function for callOnMainThread(). 70610 (WebCore::ScriptExecutionContext::postTask): Use one of the above implementations. 70611 70612 * dom/MessagePort.h: Fixed message queue to keep EventData pointers - otherwise, we would 70613 ref/deref EventData::message from different threads, which is not allowed. 70614 70615 * dom/MessagePort.cpp: 70616 (WebCore::MessagePortCloseEventTask): Use a task instead of a timer to work across threads. 70617 (WebCore::MessagePort::EventData::create): Updated for EventData being refcountable now. 70618 (WebCore::MessagePort::EventData::EventData): Ditto. 70619 (WebCore::MessagePort::MessagePort): ScriptExecutionContext is now allowed to be null at 70620 first, because we need to create ports for posting to other threads, and it is not possible 70621 to register in a context from another thread. 70622 (WebCore::MessagePort::clone): Always create ports with null contexts - it is now message 70623 receiver's job to set the context. 70624 (WebCore::MessagePort::postMessage): Enable posting to ports that are not attached to any 70625 context yet. 70626 (WebCore::MessagePort::startConversation): Ditto. Data port is always posted unattached. 70627 (WebCore::MessagePort::contextDestroyed): Assert that we had a context. 70628 (WebCore::MessagePort::attachToContext): Called when receiving a data port to register in 70629 context. 70630 (WebCore::MessagePort::scriptExecutionContext): Moved from header, as the function is virtual. 70631 (WebCore::MessagePort::dispatchMessages): Attach data port to receiving context. Use postTask(). 70632 (WebCore::MessagePort::queueCloseEvent): Use postTask(). 70633 (WebCore::MessagePort::hasPendingActivity): Reworded comment a little. As mentioned above, 70634 MessagePort cross-heap GC is still quite wrong. 70635 70636 * dom/WorkerContext.h: Made WorkerContext an event target, added onconnect attribute. 70637 * dom/WorkerContext.cpp: Keep a pointer to WorkerThread. It is only used for debug assertions 70638 now, but there is no harm in tracking it in release builds, too. 70639 70640 * dom/WorkerThread.cpp: 70641 (WebCore::WorkerThread::create): WorkerThread is refcountable, construct with create(). 70642 (WebCore::WorkerThread::workerThread): Implemented a message loop. 70643 * dom/WorkerThread.h: 70644 (WebCore::WorkerThread::threadID): Also only used for assertions. 70645 (WebCore::WorkerThread::messageQueue): Return a reference to queue, so clients can post to it. 70646 70647 * page/DOMWindow.cpp: 70648 (WebCore::DOMWindow::postMessage): MessagePort::clone() no longer takes a context, as it 70649 always sets it to null. 70650 (WebCore::DOMWindow::postMessageTimerFired): Attach data port to receiving context. 70651 70652 2008-11-12 Dirk Schulze <vbs85 (a] gmx.de> 70653 70654 Reviewed Darin Adler. 70655 70656 use strokeColor.alpha() instead of fillColor.alpha() 70657 on GraphicsContext::strokePath() 70658 70659 [Canvas] Transparent fillStyle stops line rendering 70660 https://bugs.webkit.org/show_bug.cgi?id=21888 70661 70662 Test: fast/canvas/canvas-stroke-empty-fill.html 70663 70664 * ChangeLog: 70665 * platform/graphics/cg/GraphicsContextCG.cpp: 70666 (WebCore::GraphicsContext::strokePath): 70667 70668 2008-11-12 Stephanie <slewis (a] apple.com> 70669 70670 Reviewed by Mark Rowe. 70671 70672 Fix context leak in XSLStyleSheets. 70673 See bug https://bugs.webkit.org/show_bug.cgi?id=15715 70674 70675 * xml/XSLStyleSheet.cpp: 70676 (WebCore::XSLStyleSheet::parseString): 70677 70678 2008-11-12 Alp Toker <alp (a] nuanti.com> 70679 70680 autotools: List web worker-related headers needed for a successful 70681 build. distcheck is passing again with this change. 70682 70683 * GNUmakefile.am: 70684 70685 2008-11-12 Alp Toker <alp (a] nuanti.com> 70686 70687 autotools build system fix-up only. Add FloatQuad.h to the source 70688 lists and sort them. 70689 70690 * GNUmakefile.am: 70691 70692 2008-11-12 Alp Toker <alp (a] nuanti.com> 70693 70694 Build fixes for r38346. FloatQuad.cpp is missing: 70695 70696 1) #include "config.h" 70697 2) #include <algorithm> for various mathematical definitions it uses. 70698 70699 * platform/graphics/FloatQuad.cpp: 70700 70701 2008-11-12 Simon Fraser <simon.fraser (a] apple.com> 70702 70703 Reviewed by Dan Bernstein 70704 70705 https://bugs.webkit.org/show_bug.cgi?id=22212 70706 70707 Rename absoluteOutlineBox() to absoluteOutlineBounds(), to indicate that 70708 it may be the bounding outline box of a transformed element, and fix it 70709 to respect transforms by mapping the outline box to an absolute quad and 70710 taking the enclosing rect. 70711 70712 RenderBox::localToAbsoluteQuad() can no longer assert that there is no 70713 LayoutState, but LayoutState cannot be used during quad mapping (it knows 70714 nothing about transforms). 70715 70716 Finally, fix a bug in RenderBox::localToAbsoluteQuad() which was getting 70717 borderTopExtra() from the object, rather than its container (as localToAbsolute() 70718 does). 70719 70720 Test: fast/repaint/transform-absolute-child.html 70721 70722 * rendering/RenderBlock.cpp: 70723 (WebCore::RenderBlock::layoutBlock): 70724 * rendering/RenderBox.cpp: 70725 (WebCore::RenderBox::localToAbsoluteQuad): 70726 * rendering/RenderFlexibleBox.cpp: 70727 (WebCore::RenderFlexibleBox::layoutBlock): 70728 * rendering/RenderForeignObject.cpp: 70729 (WebCore::RenderForeignObject::layout): 70730 * rendering/RenderLayer.cpp: 70731 (WebCore::RenderLayer::updateLayerPositions): 70732 (WebCore::RenderLayer::setHasVisibleContent): 70733 * rendering/RenderObject.cpp: 70734 (WebCore::RenderObject::repaintAfterLayoutIfNeeded): 70735 (WebCore::RenderObject::absoluteOutlineBounds): 70736 * rendering/RenderObject.h: 70737 * rendering/RenderPath.cpp: 70738 (WebCore::RenderPath::layout): 70739 * rendering/RenderReplaced.cpp: 70740 (WebCore::RenderReplaced::layout): 70741 * rendering/RenderSVGContainer.cpp: 70742 (WebCore::RenderSVGContainer::layout): 70743 * rendering/RenderSVGImage.cpp: 70744 (WebCore::RenderSVGImage::layout): 70745 * rendering/RenderSVGRoot.cpp: 70746 (WebCore::RenderSVGRoot::layout): 70747 * rendering/RenderSVGText.cpp: 70748 (WebCore::RenderSVGText::layout): 70749 * rendering/RenderSVGViewportContainer.cpp: 70750 (WebCore::RenderSVGViewportContainer::layout): 70751 * rendering/RenderTable.cpp: 70752 (WebCore::RenderTable::layout): 70753 70754 2008-11-12 Simon Fraser <simon.fraser (a] apple.com> 70755 70756 Reviewed by Dave Hyatt 70757 70758 https://bugs.webkit.org/show_bug.cgi?id=21942 70759 https://bugs.webkit.org/show_bug.cgi?id=18557 70760 70761 Add methods which can be used to map renderer-local rectangles 70762 to quads in absolute coordinates, taking transforms into account: 70763 localToAbsoluteQuad() converts a local rect into an absolute quad. 70764 collectAbsoluteLineBoxQuads() is an analogue of addLineBoxRects() 70765 that works with quads. 70766 absoluteQuads() is an analogue of absoluteRects(), for quads. 70767 70768 Use the quad methods to fix the inspector highlight for transformed 70769 elements. 70770 70771 * GNUmakefile.am: 70772 * WebCore.pro: 70773 * WebCore.vcproj/WebCore.vcproj: 70774 * WebCore.xcodeproj/project.pbxproj: 70775 * WebCoreSources.bkl: 70776 * inspector/InspectorController.cpp: 70777 (WebCore::drawOutlinedQuad): 70778 (WebCore::drawHighlightForBoxes): 70779 (WebCore::frameToMainFrameOffset): 70780 (WebCore::InspectorController::drawNodeHighlight): 70781 * platform/graphics/AffineTransform.cpp: 70782 (WebCore::AffineTransform::mapQuad): 70783 * platform/graphics/AffineTransform.h: 70784 * platform/graphics/FloatQuad.cpp: Added. 70785 (WebCore::min4): 70786 (WebCore::max4): 70787 (WebCore::FloatQuad::boundingBox): 70788 * platform/graphics/FloatQuad.h: Added. 70789 (WebCore::FloatQuad::FloatQuad): 70790 (WebCore::FloatQuad::p1): 70791 (WebCore::FloatQuad::p2): 70792 (WebCore::FloatQuad::p3): 70793 (WebCore::FloatQuad::p4): 70794 (WebCore::FloatQuad::setP1): 70795 (WebCore::FloatQuad::setP2): 70796 (WebCore::FloatQuad::setP3): 70797 (WebCore::FloatQuad::setP4): 70798 (WebCore::FloatQuad::isEmpty): 70799 (WebCore::FloatQuad::enclosingBoundingBox): 70800 (WebCore::FloatQuad::move): 70801 (WebCore::operator+=): 70802 (WebCore::operator-=): 70803 (WebCore::operator==): 70804 (WebCore::operator!=): 70805 * rendering/RenderBox.cpp: 70806 (WebCore::RenderBox::localToAbsoluteQuad): 70807 * rendering/RenderBox.h: 70808 * rendering/RenderContainer.cpp: 70809 (WebCore::RenderContainer::collectAbsoluteLineBoxQuads): 70810 * rendering/RenderContainer.h: 70811 * rendering/RenderInline.cpp: 70812 (WebCore::RenderInline::absoluteQuads): 70813 * rendering/RenderInline.h: 70814 * rendering/RenderObject.cpp: 70815 (WebCore::RenderObject::absoluteBoundingBoxRect): 70816 (WebCore::RenderObject::collectAbsoluteLineBoxQuads): 70817 (WebCore::RenderObject::absoluteQuads): 70818 (WebCore::RenderObject::localToAbsoluteQuad): 70819 (WebCore::RenderObject::absoluteContentQuad): 70820 * rendering/RenderObject.h: 70821 * rendering/RenderPath.cpp: 70822 (WebCore::RenderPath::absoluteQuads): 70823 * rendering/RenderPath.h: 70824 * rendering/RenderSVGContainer.cpp: 70825 (WebCore::RenderSVGContainer::absoluteQuads): 70826 * rendering/RenderSVGContainer.h: 70827 * rendering/RenderSVGHiddenContainer.cpp: 70828 (WebCore::RenderSVGHiddenContainer::absoluteQuads): 70829 * rendering/RenderSVGHiddenContainer.h: 70830 * rendering/RenderSVGImage.cpp: 70831 (WebCore::RenderSVGImage::calculateAbsoluteBounds): 70832 (WebCore::RenderSVGImage::absoluteQuads): 70833 * rendering/RenderSVGImage.h: 70834 * rendering/RenderSVGInlineText.cpp: 70835 (WebCore::RenderSVGInlineText::absoluteQuads): 70836 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): 70837 * rendering/RenderSVGInlineText.h: 70838 * rendering/RenderSVGRoot.cpp: 70839 (WebCore::RenderSVGRoot::absoluteQuads): 70840 * rendering/RenderSVGRoot.h: 70841 * rendering/RenderSVGTSpan.cpp: 70842 (WebCore::RenderSVGTSpan::absoluteRects): 70843 (WebCore::RenderSVGTSpan::absoluteQuads): 70844 * rendering/RenderSVGTSpan.h: 70845 * rendering/RenderSVGText.cpp: 70846 (WebCore::RenderSVGText::absoluteRects): 70847 (WebCore::RenderSVGText::absoluteQuads): 70848 * rendering/RenderSVGText.h: 70849 * rendering/RenderSVGTextPath.cpp: 70850 (WebCore::RenderSVGTextPath::absoluteRects): 70851 (WebCore::RenderSVGTextPath::absoluteQuads): 70852 * rendering/RenderSVGTextPath.h: 70853 * rendering/RenderTableCell.cpp: 70854 (WebCore::RenderTableCell::localToAbsolute): 70855 (WebCore::RenderTableCell::localToAbsoluteQuad): 70856 * rendering/RenderTableCell.h: 70857 * rendering/RenderText.cpp: 70858 (WebCore::RenderText::absoluteQuads): 70859 (WebCore::RenderText::collectAbsoluteLineBoxQuads): 70860 * rendering/RenderText.h: 70861 * rendering/RenderView.cpp: 70862 (WebCore::RenderView::localToAbsoluteQuad): 70863 (WebCore::RenderView::absoluteQuads): 70864 * rendering/RenderView.h: 70865 70866 2008-11-12 Brent Fulgham <bfulgham (a] gmail.com> 70867 70868 Fix Bug 22178: Build errors in WebKit Cairo port 70869 70870 <https://bugs.webkit.org/show_bug.cgi?id=22178> 70871 70872 Reviewed by Mark Rowe. 70873 70874 * platform/graphics/cairo/PatternCairo.cpp: Correct build error under 70875 Visual Studio. 70876 (WebCore::Pattern::createPlatformPattern): 70877 70878 2008-11-12 Adam Roben <aroben (a] apple.com> 70879 70880 Fix a typo in the include path for the Release_Cairo configuration 70881 70882 * WebCore.vcproj/WebCore.vcproj: Fixed "caro" -> "cairo" typo. 70883 70884 2008-11-12 Simon Fraser <simon.fraser (a] apple.com> 70885 70886 Reviewed by Dave Hyatt 70887 70888 https://bugs.webkit.org/show_bug.cgi?id=17840 70889 Patch 2 70890 70891 Code cleanup in RenderBox::computeAbsoluteRepaintRect(). 70892 70893 * rendering/RenderBox.cpp: 70894 (WebCore::RenderBox::computeAbsoluteRepaintRect): 70895 70896 2008-11-12 Simon Fraser <simon.fraser (a] apple.com> 70897 70898 Reviewed by Dave Hyatt 70899 70900 https://bugs.webkit.org/show_bug.cgi?id=17840 70901 70902 Fix repainting when the transform on a positioned element changes. 70903 In computeAbsoluteRepaintRect(), add the offsets due to relative positioning, 70904 and being in a positioned container after applying the transform to the local 70905 rect. 70906 70907 Tests: fast/repaint/transform-absolute-in-positioned-container.html 70908 fast/repaint/transform-relative-position.html 70909 70910 * rendering/RenderBox.cpp: 70911 (WebCore::RenderBox::computeAbsoluteRepaintRect): 70912 70913 2008-11-12 Justin Garcia <justin.garcia (a] apple.com> 70914 70915 Reviewed by Beth Dakin. 70916 70917 <rdar://problem/5495723> Selecting and deleting quoted text quotes other text 70918 <rdar://problem/4775313> Deleting lines from the bottom of a messages leaves the last blank line quoted 70919 70920 We don't want to merge into a block if it will mean changing the quote level of content after deleting 70921 selections that contain a whole number paragraphs plus a line break, since it is unclear to most users 70922 that such a selection actually ends at the start of the next paragraph. Instead we want to completely 70923 remove the selected paragraph(s) and all evidence of the first one's quote level. This matches TextEdit behavior 70924 for indented paragraphs. 70925 70926 * editing/DeleteSelectionCommand.cpp: 70927 (WebCore::DeleteSelectionCommand::initializePositionData): For the selections described above, do not 70928 try to merge after the deletion. Instead try and prune the start block or blocks if they've been emptied 70929 so that we remove evidence of the deleted paragraphs' quote level. 70930 (WebCore::DeleteSelectionCommand::mergeParagraphs): Try and prune the start block(s) if necessary. Also 70931 make sure that the caret is placed correctly so that it ends up on the same line that the deleted selection 70932 started on, instead of one higher. 70933 * editing/DeleteSelectionCommand.h: 70934 * editing/htmlediting.cpp: 70935 (WebCore::numEnclosingMailBlockquotes): Added. 70936 * editing/htmlediting.h: 70937 70938 2008-11-10 Tor Arne Vestb <tavestbo (a] trolltech.com> 70939 70940 Reviewed by Simon Hausmann. 70941 70942 Move _web_encodingForResource from WebKit into WebCore and change return type 70943 70944 This change is needed to implement NSAPI in WebCore for Mac, see: 70945 70946 https://bugs.webkit.org/show_bug.cgi?id=21427 70947 70948 * WebCore.base.exp: 70949 * platform/mac/WebCoreNSStringExtras.h: 70950 * platform/mac/WebCoreNSStringExtras.mm: 70951 (stringEncodingForResource): 70952 70953 2008-11-10 Tor Arne Vestb <tavestbo (a] trolltech.com> 70954 70955 Reviewed by Simon Hausmann. 70956 70957 Moved the implementation of _webkit_isCaseInsensitiveEqualToString to 70958 WebCore's WebCoreNSStringExtras as _stringIsCaseInsensitiveEqualToString. 70959 70960 This change is needed to implement NSAPI in WebCore for Mac, see: 70961 70962 https://bugs.webkit.org/show_bug.cgi?id=21427 70963 70964 * WebCore.base.exp: 70965 * platform/mac/WebCoreNSStringExtras.h: 70966 * platform/mac/WebCoreNSStringExtras.mm: 70967 (stringIsCaseInsensitiveEqualToString): 70968 70969 2008-11-11 Stephanie <slewis (a] apple.com> 70970 70971 Reviewed by Dan Bernstein. 70972 70973 Null check image data before setting it as image source. 70974 70975 Test: fast/images/image-empty-data.html 70976 70977 * platform/graphics/BitmapImage.cpp: 70978 (WebCore::BitmapImage::destroyDecodedData): 70979 70980 2008-11-11 Adele Peterson <adele (a] apple.com> 70981 70982 Reviewed by Tim Hatcher. 70983 70984 Remove ifdef so future OS versions can use the new delegate method. 70985 70986 * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didSendBodyDataDelegateExists): 70987 70988 2008-11-11 Eric Seidel <eric (a] webkit.org> 70989 70990 Reviewed by Antti Koivisto and Sam Weinig. 70991 70992 Clean up HTMLTokenizer a litle 70993 https://bugs.webkit.org/show_bug.cgi?id=22188 70994 70995 Rename pendingScripts to m_pendingScripts 70996 Rename scriptNode to m_scriptNode make the type specific 70997 Rename pendingSrc to m_pendingSrc 70998 Rename currentPrependingSrc to m_currentPrependingSrc 70999 Rename noMoreData to m_noMoreData and cBuffer to m_cBuffer 71000 Remove long-since-dead kdDebug and qDebug calls 71001 Rename brokenComments to m_brokenComments 71002 Remove HTMLTokenizer includes and document the rest 71003 Rename src to m_src 71004 Rename parser to m_parser and make it an OwnPtr 71005 Rename inWrite to m_inWrite and jsProxy to scriptController 71006 Rename brokenServer to m_brokenServer 71007 Rename buffer to m_buffer and dest to m_dest 71008 Rename size to m_bufferSize 71009 Rename attrName to m_attrName 71010 Rename searchStopper to m_searchStopper and searchStopperLen to m_searchStopperLen 71011 Rename scriptCode* to m_scriptCode* and change scriptCodeMax to m_scriptCodeCapacity 71012 Rename scriptStartLineno to m_currentScriptTagStartLineNumber and tagStartLineno to m_currentTagStartLineNumber 71013 Rename scriptSrc to m_scriptTagSrcAttrValue and scriptSrcCharset to m_scriptTagCharsetAttrValue -- a bit unwieldy, but more precise 71014 Rename flat to selfClosingTag 71015 Rename currToken to m_currentToken 71016 71017 * css/CSSParser.cpp: 71018 * dom/XMLTokenizer.cpp: 71019 * dom/XMLTokenizerLibxml2.cpp: 71020 * html/HTMLDocument.cpp: 71021 * html/HTMLElement.cpp: 71022 * html/HTMLFormControlElement.cpp: 71023 * html/HTMLParser.h: 71024 * html/HTMLTokenizer.cpp: 71025 (WebCore::Token::addAttribute): 71026 (WebCore::HTMLTokenizer::HTMLTokenizer): 71027 (WebCore::HTMLTokenizer::reset): 71028 (WebCore::HTMLTokenizer::begin): 71029 (WebCore::HTMLTokenizer::processListing): 71030 (WebCore::HTMLTokenizer::parseSpecial): 71031 (WebCore::HTMLTokenizer::scriptHandler): 71032 (WebCore::HTMLTokenizer::scriptExecution): 71033 (WebCore::HTMLTokenizer::parseComment): 71034 (WebCore::HTMLTokenizer::parseServer): 71035 (WebCore::HTMLTokenizer::parseProcessingInstruction): 71036 (WebCore::HTMLTokenizer::parseText): 71037 (WebCore::HTMLTokenizer::parseEntity): 71038 (WebCore::HTMLTokenizer::parseTag): 71039 (WebCore::HTMLTokenizer::write): 71040 (WebCore::HTMLTokenizer::processingData): 71041 (WebCore::HTMLTokenizer::end): 71042 (WebCore::HTMLTokenizer::finish): 71043 (WebCore::HTMLTokenizer::processToken): 71044 (WebCore::HTMLTokenizer::processDoctypeToken): 71045 (WebCore::HTMLTokenizer::~HTMLTokenizer): 71046 (WebCore::HTMLTokenizer::enlargeBuffer): 71047 (WebCore::HTMLTokenizer::enlargeScriptBuffer): 71048 (WebCore::HTMLTokenizer::notifyFinished): 71049 (WebCore::HTMLTokenizer::setSrc): 71050 * html/HTMLTokenizer.h: 71051 (WebCore::Token::Token): 71052 (WebCore::Token::reset): 71053 (WebCore::HTMLTokenizer::processingContentWrittenByScript): 71054 (WebCore::HTMLTokenizer::htmlParser): 71055 (WebCore::HTMLTokenizer::checkBuffer): 71056 (WebCore::HTMLTokenizer::checkScriptBuffer): 71057 * html/HTMLViewSourceDocument.h: 71058 * rendering/RenderBlock.cpp: 71059 (WebCore::RenderBlock::leftRelOffset): 71060 (WebCore::RenderBlock::rightRelOffset): 71061 (WebCore::RenderBlock::lineWidth): 71062 * xml/XSLTProcessor.cpp: 71063 71064 2008-11-11 Sam Weinig <sam (a] webkit.org> 71065 71066 Reviewed by Dan Bernstein. 71067 71068 Fix for https://bugs.webkit.org/show_bug.cgi?id=22189 71069 Track CachedScript decoded data 71070 71071 We now track the decoded size of CachedScripts in the Cache allowing 71072 them to accounted for when deciding when to evict data. The decoded 71073 data itself can be evicted when Cache pressure gets high enough through 71074 CachedScript::destroyDecodedData. 71075 71076 * loader/CachedResource.h: 71077 (WebCore::CachedResource::allClientsRemoved): 71078 (WebCore::CachedResource::destroyDecodedData): 71079 * loader/CachedScript.cpp: 71080 (WebCore::CachedScript::script): 71081 (WebCore::CachedScript::data): 71082 (WebCore::CachedScript::destroyDecodedData): 71083 * loader/CachedScript.h: 71084 71085 2008-11-11 Cameron Zwarich <zwarich (a] apple.com> 71086 71087 Reviewed by Geoff Garen. 71088 71089 Remove pointless dependencies on the now-deleted kjs directory and 71090 mentions of it in comments that are no longer relevant. 71091 71092 * WebCore.pro: 71093 * webcore-base.bkl: 71094 71095 2008-11-11 Dan Bernstein <mitz (a] apple.com> 71096 71097 Reviewed by Adam Roben. 71098 71099 WebCore part of adding a master volume control for media elements in a WebView 71100 71101 * WebCore.base.exp: Exported WebCore::Page::setMediaVolume(). 71102 * dom/Document.cpp: 71103 (WebCore::Document::mediaVolumeDidChange): Added. Called by the Page 71104 when the media volume is changed. 71105 (WebCore::Document::registerForMediaVolumeCallbacks): Added. Allows 71106 elements to register for a callback when the media volume is changed. 71107 (WebCore::Document::unregisterForMediaVolumeCallbacks): Added. Allows 71108 elements to unregister for the callback. 71109 * dom/Document.h: 71110 * dom/Element.h: 71111 (WebCore::Element::mediaVolumeDidChange): Added an empty implementation. 71112 * html/HTMLMediaElement.cpp: 71113 (WebCore::HTMLMediaElement::HTMLMediaElement): Added a call to 71114 registerForMediaVolumeCallbacks(). 71115 (WebCore::HTMLMediaElement::~HTMLMediaElement): Added a call to 71116 unregisterForMediaVolumeCallbacks(). 71117 (WebCore::HTMLMediaElement::updateVolume): Changed to multiply the 71118 element's intrinsic volume by the master volume from the page. 71119 (WebCore::HTMLMediaElement::mediaVolumeDidChange): Added. Calls 71120 updateVolume(). 71121 * html/HTMLMediaElement.h: 71122 * page/Page.cpp: 71123 (WebCore::Page::Page): Initialize m_mediaVolume to 1. 71124 (WebCore::Page::setMediaVolume): Added. Calls mediaVolumeDidChange() on 71125 every document in the page when the master volume changes. 71126 * page/Page.h: 71127 (WebCore::Page::mediaVolume): Added this getter. 71128 71129 2008-11-11 David Hyatt <hyatt (a] apple.com> 71130 71131 https://bugs.webkit.org/show_bug.cgi?id=22182 71132 71133 Fix problems with scrollbars when the OS setting for clicks in the track jumping the thumb to that location 71134 is turned on. Make sure to only jump the thumb if the click happens in the track. Also fix some math 71135 errors when jumping the thumb that cause dragging after the jump to incorrectly jump the thumb again. 71136 71137 Reviewed by Adele 71138 71139 * platform/Scrollbar.cpp: 71140 (WebCore::Scrollbar::mouseDown): 71141 71142 2008-11-11 Beth Dakin <bdakin (a] apple.com> 71143 71144 Reviewed by Darin Adler. 71145 71146 Fix for <rdar://problem/5089327> Too much indentation when pasting 71147 quoted paragraphs 71148 71149 This patch re-addresses pasting blockquotes into blockquotes. It 71150 backs out most of revision 38273. 38273 fixed the bug by inserting 71151 the pasted content as a sibling blockquote node to the pre-existing 71152 blockquote node. The problem with that is that by default, 71153 blockquotes have a giant margin, so visually, this can be weird. 71154 This patch instead inserts the pasted content as siblings of the 71155 the content already inside the outer blockquote, and then removes 71156 the blockquote node from the pasted content itself, so that it 71157 doesn't nest itself into the outer blockquote. 71158 * editing/ReplaceSelectionCommand.cpp: 71159 (WebCore::ReplaceSelectionCommand::doApply): 71160 71161 Move contains() from Element to Node since there is nothing 71162 Element-specific about it. 71163 * dom/Element.cpp: 71164 * dom/Element.h: 71165 * dom/Node.cpp: 71166 (WebCore::Node::contains): 71167 * dom/Node.h: 71168 71169 2008-11-11 David Hyatt <hyatt (a] apple.com> 71170 71171 https://bugs.webkit.org/show_bug.cgi?id=17997 71172 71173 Stop using the new Leopard API tiling call for scaled tiles when drawing background images. The method 71174 is buggy. Fall back to using the slower (and more correct) pattern tiling that Tiger still uses. This 71175 is a Leopard-only workaround, since the API has been fixed on Snow Leopard. 71176 71177 Reviewed by John Sullivan 71178 71179 * platform/graphics/cg/ImageCG.cpp: 71180 (WebCore::Image::drawPattern): 71181 71182 2008-11-10 David Hyatt <hyatt (a] apple.com> 71183 71184 Disable the Aqua look for menu lists when full page zoom is turned on. Because the control is buggy 71185 when scaling and because it's impossible to paint into an offscreen bitmap without completely rewriting 71186 how we draw the control on Mac, our only real option for now is to just switch to our styled look when zoomed. 71187 71188 Reviewed by Adam Roben 71189 71190 * rendering/RenderThemeMac.mm: 71191 (WebCore::RenderThemeMac::isControlStyled): 71192 71193 2008-11-11 Darin Adler <darin (a] apple.com> 71194 71195 Reviewed by Dan Bernstein. 71196 71197 - https://bugs.webkit.org/show_bug.cgi?id=22160 71198 speculative fix for <rdar://problem/5995450> Nil deref because nextLinePosition 71199 (previousLinePosition, too) uses a nil node 71200 71201 * editing/visible_units.cpp: 71202 (WebCore::nextLinePosition): Use RenderObject::node instead of RenderObject::element 71203 to check editingIgnoresContent. It makes sense to use the associated DOM node for 71204 this, even in cases of anonymous content, and it avoids the case where element() can 71205 be 0. 71206 (WebCore::previousLinePosition): Ditto. 71207 71208 2008-11-11 Dirk Schulze <vbs85 (a] gmx.de> 71209 71210 Reviewed by Darin Adler. 71211 71212 Removed default: in applySpreadMethod. This causes the problems 71213 in radial gradients. We don't need CAIRO_EXTEND_NONE in SVG, Canvas 71214 or CSS. 71215 71216 * platform/graphics/cairo/GraphicsContextCairo.cpp: 71217 (WebCore::applySpreadMethod): 71218 71219 2008-11-11 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 71220 71221 Reviewed by Tor Arne Vestb. 71222 71223 Fix crash when rendering the file chooser. 71224 Also proper implementation for multi-selected files. 71225 71226 * platform/qt/FileChooserQt.cpp: 71227 (WebCore::FileChooser::basenameForWidth): 71228 71229 2008-11-11 Dirk Schulze <vbs85 (a] gmx.de> 71230 71231 Reviewed by Oliver Hunt. 71232 71233 PatternCairo needs to invert the pattern matrix because 71234 of transformation from user space to pattern space. 71235 Give a identity matrix to pattern for Qt and Cairo. Because the 71236 context is transformed already. 71237 71238 [CAIRO][QT] Canvas transformations applied twice to Patterns 71239 https://bugs.webkit.org/show_bug.cgi?id=21555 71240 71241 * platform/graphics/cairo/GraphicsContextCairo.cpp: 71242 (WebCore::GraphicsContext::fillPath): 71243 (WebCore::GraphicsContext::strokePath): 71244 * platform/graphics/cairo/PatternCairo.cpp: 71245 (WebCore::Pattern::createPlatformPattern): 71246 * platform/graphics/qt/GraphicsContextQt.cpp: 71247 (WebCore::GraphicsContext::strokePath): 71248 (WebCore::GraphicsContext::fillRect): 71249 71250 2008-11-10 Stephanie Lewis <slewis (a] apple.com> 71251 71252 Reviewed by Dan Bernstein. 71253 71254 Clear the image source cache even if we haven't decoded any of the image data. 71255 We use the image source cache when calculating layout. 71256 71257 * loader/Cache.cpp: 71258 (WebCore::Cache::pruneDeadResources): 71259 * platform/graphics/BitmapImage.cpp: 71260 (WebCore::BitmapImage::destroyDecodedData): 71261 71262 2008-11-10 Adam Roben <aroben (a] apple.com> 71263 71264 Fix Bug 22161: Assertion failure in RenderThemeWin::systemColor when 71265 loading microsoftpdc.com 71266 71267 <https://bugs.webkit.org/show_bug.cgi?id=22161> 71268 71269 Reviewed by Dan Bernstein. 71270 71271 Test: fast/css/outline-invert-assertion.html 71272 71273 * rendering/RenderThemeWin.cpp: 71274 (WebCore::RenderThemeWin::systemColor): If we can't determine a good 71275 Win32 system color to use, defer to RenderTheme instead of asserting. 71276 This matches what RenderThemeMac does. 71277 71278 2008-11-10 Justin Garcia <justin.garcia (a] apple.com> 71279 71280 Reviewed by Beth Dakin. 71281 71282 <rdar://problem/4037481> REGRESSION (Mail): pasting quoted text 71283 into quoted text yields double-quoting 71284 71285 Don't nest inserted content in Mail blockquotes. Perform a 71286 BreakBlockquoteCommand if we're in 71287 one and insert the incoming fragment between the split blockquotes. 71288 71289 * editing/ReplaceSelectionCommand.cpp: 71290 (WebCore::ReplaceSelectionCommand::shouldMerge): Renamed from -> 71291 source and to -> destination. 71292 (WebCore::ReplaceSelectionCommand::doApply): 71293 71294 2008-11-10 Adam Roben <aroben (a] apple.com> 71295 71296 Fix Bug 22158: Would like to turn on WebCore logging channels via an 71297 environment variable 71298 71299 <https://bugs.webkit.org/show_bug.cgi?id=22158> 71300 71301 Logging channels can now be enabled by setting the WebCoreLogLevel 71302 environment variable to a hexadecimal number. 71303 71304 Reviewed by Anders Carlsson. 71305 71306 * WebCore.vcproj/WebCore.vcproj: Added LoggingWin.cpp. 71307 * platform/win/LoggingWin.cpp: Copied from WebCore/platform/mac/LoggingMac.mm. 71308 (WebCore::initializeWithUserDefault): Read in the WebCoreLogLevel 71309 environment variable, parse its value as a hexadecimal number, and 71310 turn the channel on/off based on whether the mask bit is set. 71311 (WebCore::InitializeLoggingChannelsIfNecessary): Initialize each 71312 logging channel in turn. 71313 71314 2008-11-10 Darin Adler <darin (a] apple.com> 71315 71316 Reviewed by Adam Roben. 71317 71318 - fix https://bugs.webkit.org/show_bug.cgi?id=22103 71319 Changing fonts in preferences does not immediately update WebViews 71320 71321 This broke when the meaning of FrameView::invalidate changed. 71322 I changed setNeedsReapplyStyles to no longer depend on invalidate. 71323 71324 * dom/Document.cpp: (WebCore::Document::shouldScheduleLayout): 71325 Removed the part of this function that duplicated what's already in 71326 FrameView::needsLayout, since the copy here left out a few key things. 71327 For example, it didn't handle the fact that "needs reapply styles" 71328 counts as needing layout. 71329 71330 * page/Frame.cpp: (WebCore::Frame::setNeedsReapplyStyles): This called 71331 FrameView::invalidate before. There were two things wrong with that. 71332 1) It requested that the entire view repaint even if the style change 71333 didn't necessitate that. 2) FrameView::invalidate no longer causes any 71334 repainting at all in certain cases, because of Hyatt's changes to how 71335 widgets and the host window are involved in the repainting process. 71336 So call FrameView::scheduleRelayout instead, which is more precisely 71337 what we want and need here. 71338 71339 * page/FrameView.cpp: 71340 (WebCore::FrameView::scheduleRelayout): Add a call to needsLayout here 71341 so that Document::shouldScheduleLayout doesn't have to replicate the 71342 logic that's in needsLayout and can instead rely on the fact that it 71343 was already called. 71344 (WebCore::FrameView::needsLayout): Tweaked the comments and formatting 71345 in this function. 71346 71347 2008-11-10 Darin Adler <darin (a] apple.com> 71348 71349 Reviewed by Adam Roben. 71350 71351 - speculative fix for <rdar://problem/5557243> crashes in Safari at 71352 WebCore::HTMLSelectElement::updateListBoxSelection + 280 71353 71354 * html/HTMLSelectElement.cpp: 71355 (WebCore::HTMLSelectElement::updateListBoxSelection): 71356 Check index against size of vector before indexing into the vector. 71357 71358 2008-11-10 Tom Cooksey <thomas.cooksey (a] trolltech.com> 71359 71360 Reviewed by Tor Arne Vestb. 71361 71362 Fix QtWebkit build failure on arm. 71363 71364 pen.widthF() is a qreal, which means it's a float on arm. 71365 71366 * platform/graphics/qt/GraphicsContextQt.cpp: 71367 (WebCore::GraphicsContext::setLineDash): 71368 71369 2008-11-10 Morten Srvig <msorvig (a] trolltech.com> 71370 71371 Reviewed by Simon Hausmann. 71372 71373 Improve mouse wheel scolling on Qt/Cocoa. 71374 Cocoa differs from Carbon (and other platforms I think) in that the 71375 mouse wheel events we get have a much higher acceleration factor. 71376 71377 This submit switches over to scroll-per-pixel from scroll-per-line 71378 for most of our scrolling views. This matches the native views 71379 and works well with the increased acceleration. 71380 71381 * platform/qt/WheelEventQt.cpp: 71382 71383 2008-11-09 Cameron Zwarich <zwarich (a] apple.com> 71384 71385 Reviewed by Darin Adler. 71386 71387 Bug 19541: Null pointer in showModalDialog() 71388 <https://bugs.webkit.org/show_bug.cgi?id=19541> 71389 71390 Add null frame->page() checks to JSDOMWindowBase::canShowModalDialog() 71391 and JSDOMWindowBase::canShowModalDialogNow()C 71392 71393 * bindings/js/JSDOMWindowBase.cpp: 71394 (WebCore::canShowModalDialog): 71395 (WebCore::canShowModalDialogNow): 71396 71397 2008-11-09 Darin Adler <darin (a] apple.com> 71398 71399 - try to fix Windows build 71400 71401 * platform/graphics/Color.cpp: For some reason MSVC doesn't follow the rules 71402 about needed a separate definition for static const integer data members. 71403 Until I get to the bottom of this, put the definitions inside an ifdef. 71404 71405 2008-11-09 David Kilzer <ddkilzer (a] apple.com> 71406 71407 BUILD FIX: Qt build broke after r38235. 71408 71409 Added HAVE(ACCESSIBILITY) header guards to platform implementation 71410 source files. 71411 71412 * page/gtk/AccessibilityObjectAtk.cpp: Added HAVE(ACCESSIBILITY) 71413 guards. 71414 * page/gtk/AccessibilityObjectWrapperAtk.cpp: Ditto. 71415 * page/qt/AccessibilityObjectQt.cpp: Ditto. 71416 * page/win/AccessibilityObjectWin.cpp: Ditto. 71417 * page/wx/AccessibilityObjectWx.cpp: Ditto. 71418 71419 2008-11-09 Alexey Proskuryakov <ap (a] webkit.org> 71420 71421 Reviewed by Darin Adler. 71422 71423 https://bugs.webkit.org/show_bug.cgi?id=22104 71424 Javascript URL percent encoding/decoding broken by some characters 71425 71426 Test: fast/loader/javascript-url-encoding-2.html 71427 71428 * platform/KURL.cpp: (WebCore::encodeRelativeString): Don't try to break down javascript URLs. 71429 71430 2008-11-09 Holger Hans Peter Freyther <zecke (a] selfish.org> 71431 71432 Reviewed and tweaked by Darin Adler. 71433 71434 * platform/graphics/Color.cpp: Added definitions for the static data members 71435 in this class. Static data members need a definition, even when they are the 71436 simple integer constant kind that can be initialized in the header. 71437 71438 2008-11-08 Antti Koivisto <antti (a] apple.com> 71439 71440 Reviewed by Sam Weinig. 71441 71442 Fix https://bugs.webkit.org/show_bug.cgi?id=22141 71443 REGRESSION: Safari error page is not fully styled when loaded from cache 71444 71445 Reset text decoder on flush so it does not pass through the BOM when it is reused. 71446 71447 Test: fast/encoding/css-cached-bom.html 71448 71449 * loader/TextResourceDecoder.cpp: 71450 (WebCore::TextResourceDecoder::flush): 71451 71452 2008-11-08 Kevin Ollivier <kevino (a] theolliviers.com> 71453 71454 Reviewed by Mark Rowe. 71455 71456 Send URL errors to stderr rather than stdout. While debugging wx DumpRenderTree, 71457 it was causing these errors to end up in the page's text representation. 71458 71459 * platform/network/curl/ResourceHandleManager.cpp: 71460 (WebCore::ResourceHandleManager::downloadTimerCallback): 71461 71462 2008-11-08 Kevin Ollivier <kevino (a] theolliviers.com> 71463 71464 wx build fixes after addition of JSCore parser and bycompiler dirs. 71465 71466 * webcore-base.bkl: 71467 * webcore-wx.bkl: 71468 71469 2008-11-08 Simon Fraser <simon.fraser (a] apple.com> 71470 71471 Reviewed by Dan Bernstein 71472 71473 https://bugs.webkit.org/show_bug.cgi?id=21906 71474 71475 Override addFocusRingRects() in RenderTextControl to avoid 71476 the RenderFlow behavior of recursing on descendent renderers. 71477 RenderTextControl should only ever need a simple focus rect. 71478 71479 This fixes focus ring issues with transforms on text controls. 71480 71481 Test: fast/transforms/transformed-focused-text-input.html 71482 71483 * rendering/RenderTextControl.cpp: 71484 (WebCore::RenderTextControl::addFocusRingRects): 71485 * rendering/RenderTextControl.h: 71486 71487 2008-11-08 Dimitri Dupuis-Latour <dupuislatour (a] apple.com> 71488 71489 Make sure the icon thumbnail width/height is at least 1px in 71490 the Web Inspector's resource panel. 71491 71492 <rdar://problem/5988888> 71493 71494 Reviewed by Tim Hatcher. 71495 71496 * inspector/front-end/inspector.css: 71497 71498 2008-11-08 David Kilzer <ddkilzer (a] apple.com> 71499 71500 Bug 22137: PLATFORM(MAC) build broken with HAVE(ACCESSIBILITY) disabled 71501 71502 <https://bugs.webkit.org/show_bug.cgi?id=22137> 71503 71504 Reviewed by Darin Adler. 71505 71506 * page/AccessibilityObject.h: 71507 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 71508 Provide a default implementation when HAVE(ACCESSIBILITY) is false. 71509 * page/mac/AXObjectCacheMac.mm: Added HAVE(ACCESSIBILITY) guard. 71510 * page/mac/AccessibilityObjectMac.mm: Ditto. 71511 * page/mac/AccessibilityObjectWrapper.mm: Ditto. 71512 71513 2008-11-08 Dan Bernstein <mitz (a] apple.com> 71514 71515 Reviewed by Darin Adler. 71516 71517 - WebCore part of adding WebPreferences for controlling databases and local storage 71518 71519 * WebCore.base.exp: Exported Settings::setDatabasesEnabled() and 71520 Settings::setLocalStorageEnabled(). 71521 * page/DOMWindow.cpp: 71522 (WebCore::DOMWindow::localStorage): Changed to return 0 if local storage 71523 is disabled in settings. 71524 (WebCore::DOMWindow::openDatabase): Changed to return 0 if databases 71525 are disabled in settings. 71526 * page/Settings.cpp: 71527 (WebCore::Settings::Settings): Initialize m_databasesEnabled and 71528 m_localStorageEnabled. 71529 (WebCore::Settings::setDatabasesEnabled): Added. 71530 (WebCore::Settings::setLocalStorageEnabled): Added. 71531 * page/Settings.h: 71532 (WebCore::Settings::databasesEnabled): Added. 71533 (WebCore::Settings::localStorageEnabled): Added. 71534 71535 2008-11-07 Alp Toker <alp (a] nuanti.com> 71536 71537 Fix build with bleeding edge GTK+ versions. GTK+ and other libraries 71538 now require that only their top-level header file is included. 71539 71540 Patch tested and still builds fine with older GTK+ versions (back to 71541 2.8). 71542 71543 Future WebKit GTK+ contributions are required to adhere to this 71544 policy. 71545 71546 * platform/gtk/FileSystemGtk.cpp: 71547 * platform/gtk/KeyEventGtk.cpp: 71548 * platform/gtk/MouseEventGtk.cpp: 71549 * platform/gtk/WheelEventGtk.cpp: 71550 * platform/gtk/gtkdrawing.h: 71551 * plugins/gtk/gtk2xtbin.c: 71552 * plugins/gtk/gtk2xtbin.h: 71553 71554 2008-11-07 Anders Carlsson <andersca (a] apple.com> 71555 71556 Reviewed by Kevin Decker 71557 71558 Explicitly initialize the NPDrawingModelCoreAnimation. 71559 71560 * bridge/npapi.h: 71561 71562 2008-11-07 Alp Toker <alp (a] nuanti.com> 71563 71564 autotools fix. Always use the configured perl binary (which may be 71565 different to the one in $PATH) when generating sources. 71566 71567 * GNUmakefile.am: 71568 71569 2008-11-07 Simon Fraser <simon.fraser (a] apple.com> 71570 71571 Reviewed by Dan Bernstein 71572 71573 https://bugs.webkit.org/show_bug.cgi?id=22122 71574 71575 Use a stack-based object to simplify the pushLayoutState/popLayoutState 71576 code. LayoutStateMaintainer either pushes in the constructor, or allows 71577 an explicit push() later. Both cases require an explicit pop(). 71578 71579 * rendering/RenderBlock.cpp: 71580 (WebCore::RenderBlock::layoutBlock): 71581 (WebCore::RenderBlock::layoutOnlyPositionedObjects): 71582 * rendering/RenderContainer.cpp: 71583 (WebCore::RenderContainer::layout): 71584 * rendering/RenderFlexibleBox.cpp: 71585 (WebCore::RenderFlexibleBox::layoutBlock): 71586 * rendering/RenderTable.cpp: 71587 (WebCore::RenderTable::layout): 71588 * rendering/RenderTableRow.cpp: 71589 (WebCore::RenderTableRow::layout): 71590 * rendering/RenderTableSection.cpp: 71591 (WebCore::RenderTableSection::setCellWidths): 71592 (WebCore::RenderTableSection::calcRowHeight): 71593 (WebCore::RenderTableSection::layoutRows): 71594 * rendering/RenderView.h: 71595 (WebCore::LayoutStateMaintainer::LayoutStateMaintainer): 71596 (WebCore::LayoutStateMaintainer::~LayoutStateMaintainer): 71597 (WebCore::LayoutStateMaintainer::pop): 71598 (WebCore::LayoutStateMaintainer::push): 71599 (WebCore::LayoutStateMaintainer::didPush): 71600 71601 2008-11-07 Tor Arne Vestb <tavestbo (a] trolltech.com> 71602 71603 Fix the QtWebKit build on Mac 71604 71605 * platform/qt/TemporaryLinkStubs.cpp: 71606 (PluginView::invalidateRect): 71607 71608 2008-11-07 Tor Arne Vestb <tavestbo (a] trolltech.com> 71609 71610 Rubber-stamped by Simon Hausmann. 71611 71612 Don't allow Phonon's invisible video widget to keep the app running 71613 71614 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 71615 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 71616 71617 2008-11-07 Henrik Hartz <henrik.hartz (a] nokia.com> 71618 71619 Reviewed by Simon Hausmann. 71620 71621 Fix valgrind warning about uninitialized lastStop variable. 71622 71623 * platform/graphics/qt/GradientQt.cpp: 71624 (WebCore::Gradient::platformGradient): 71625 71626 2008-11-07 Alexey Proskuryakov <ap (a] webkit.org> 71627 71628 Reviewed by Maciej Stachowiak. 71629 71630 Fix layout test brokenness following r38211. 71631 71632 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey): 71633 Restore old Shift key behavior. We ignore Shift key state when matching access keys (which 71634 matches neither IE nor Firefox), and this patch made WebKit behave like Firefox 71635 inadvertently. This may or may not be a good thing, but it's certainly not something that 71636 should change by accident. 71637 71638 2008-11-06 Antti Koivisto <antti (a] apple.com> 71639 71640 Eh, this trivial last minute change was wrong. 71641 71642 * loader/CachedCSSStyleSheet.cpp: 71643 (WebCore::CachedCSSStyleSheet::sheetText): 71644 71645 2008-11-06 Antti Koivisto <antti (a] apple.com> 71646 71647 Reviewed by Dan Bernstein. 71648 71649 https://bugs.webkit.org/show_bug.cgi?id=22093 71650 71651 Delaying the text decoding caused regression since the decoding 71652 also determines the encoding in case of @charset rule. 71653 71654 Decode immediately in data() and keep the decoded string around 71655 during the checkNotify(). 71656 71657 * loader/CachedCSSStyleSheet.cpp: 71658 (WebCore::CachedCSSStyleSheet::sheetText): 71659 (WebCore::CachedCSSStyleSheet::data): 71660 * loader/CachedCSSStyleSheet.h: 71661 71662 2008-11-06 Alexey Proskuryakov <ap (a] webkit.org> 71663 71664 Reviewed by Darin Adler. 71665 71666 https://bugs.webkit.org/show_bug.cgi?id=22097 71667 Expose MessageEvent constructor on WorkerContext 71668 71669 * bindings/js/JSWorkerContext.cpp: 71670 (WebCore::jsWorkerContextMessageEvent): 71671 (WebCore::setJSWorkerContextMessageEvent): 71672 71673 2008-11-06 Alexey Proskuryakov <ap (a] webkit.org> 71674 71675 Reviewed by Darin Adler. 71676 71677 https://bugs.webkit.org/show_bug.cgi?id=21107 71678 <rdar://problem/6264219> New access key combination conflicts with VoiceOver 71679 71680 * page/EventHandler.h: 71681 * page/gtk/EventHandlerGtk.cpp: 71682 (WebCore::EventHandler::accessKeyModifiers): 71683 * page/qt/EventHandlerQt.cpp: 71684 (WebCore::EventHandler::accessKeyModifiers): 71685 * page/win/EventHandlerWin.cpp: 71686 (WebCore::EventHandler::accessKeyModifiers): 71687 * page/wx/EventHandlerWx.cpp: 71688 (WebCore::EventHandler::accessKeyModifiers): 71689 Access access key modifiers via a function, not a static variable. 71690 71691 * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::accessKeyModifiers): 71692 Use Ctrl when VoiceOver is enabled, because a conflict with Emacs-style key bindings is 71693 less troublesome than one with VO keys. 71694 71695 * page/EventHandler.cpp: (WebCore::EventHandler::handleAccessKey): 71696 Also fix an access key matching bug introduced in r32424 - Any superset of specified 71697 modifier set invoked access keys. We can use simple equality comparison instead because 71698 CapsLock is not part of modifiers(), so it doesn't need to be ignored explicitly. 71699 71700 2008-11-06 Anders Carlsson <andersca (a] apple.com> 71701 71702 Reviewed by Kevin Decker. 71703 71704 https://bugs.webkit.org/show_bug.cgi?id=22115 71705 NPN_HasPropertyUPP and NPN_HasMethodUPP entries in NPNetscapeFuncs are NULL 71706 71707 Export _NPN_HasMethod and _NPN_HasProperty. 71708 71709 * WebCore.NPAPI.exp: 71710 71711 2008-11-06 Simon Fraser <simon.fraser (a] apple.com> 71712 71713 Reviewed by Antti Koivisto 71714 71715 https://bugs.webkit.org/show_bug.cgi?id=15678 71716 71717 Fix transformed menu selects to show the popup in the correct 71718 location. 71719 71720 * rendering/RenderMenuList.cpp: 71721 (WebCore::RenderMenuList::showPopup): 71722 71723 2008-11-06 David Kilzer <ddkilzer (a] apple.com> 71724 71725 BUILD FIX: Backed out r38189 (and r38203) for Xcode 3.0. 71726 71727 Apparently older versions of gcc have issues with this patch. 71728 Backing out a second time until the issues are resolved. 71729 71730 2008-11-06 Julien Chaffraix <jchaffraix (a] pleyo.com> 71731 71732 Reviewed by Maciej Stachowiak. 71733 71734 Bug 21106: .in format discussed changes 71735 https://bugs.webkit.org/show_bug.cgi?id=21106 71736 71737 Include the namespace into the interfaceName. 71738 71739 * dom/make_names.pl: Do not append the namespace when 71740 using the interfaceName. 71741 * html/HTMLTagNames.in: Added namespace prefix for custom 71742 interfaceName. 71743 * svg/svgtags.in: Ditto. 71744 71745 2008-11-06 Cameron Zwarich <zwarich (a] apple.com> 71746 71747 Reviewed by Geoff Garen. 71748 71749 Move the remaining files in the kjs subdirectory of JavaScriptCore to 71750 a new parser subdirectory, and remove the kjs subdirectory entirely. 71751 71752 * ForwardingHeaders/kjs: Removed. 71753 * ForwardingHeaders/kjs/Parser.h: Removed. 71754 * ForwardingHeaders/kjs/SavedBuiltins.h: Removed. 71755 * ForwardingHeaders/kjs/SourceCode.h: Removed. 71756 * ForwardingHeaders/kjs/SourceProvider.h: Removed. 71757 * ForwardingHeaders/parser: Added. 71758 * ForwardingHeaders/parser/Parser.h: Copied from ForwardingHeaders/kjs/Parser.h. 71759 * ForwardingHeaders/parser/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceCode.h. 71760 * ForwardingHeaders/parser/SourceProvider.h: Copied from ForwardingHeaders/kjs/SourceProvider.h. 71761 * WebCore.pro: 71762 * WebCore.vcproj/WebCore.vcproj: 71763 * bindings/js/StringSourceProvider.h: 71764 * bindings/js/WorkerScriptController.cpp: 71765 * bridge/NP_jsobject.cpp: 71766 * bridge/jni/jni_jsobject.mm: 71767 * bridge/testbindings.pro: 71768 * inspector/JavaScriptDebugServer.cpp: 71769 71770 2008-11-06 David Kilzer <ddkilzer (a] apple.com> 71771 71772 BUILD WAS NOT BROKEN: Rolling r38189 back in. 71773 71774 Please perform a clean build if you see crashes. 71775 71776 2008-11-06 David Kilzer <ddkilzer (a] apple.com> 71777 71778 BUILD FIX: Backed out r38189 since it apparently broke the world. 71779 71780 2008-11-06 Chris Fleizach <cfleizach (a] apple.com> 71781 71782 Reviewed by Beth Dakin. 71783 71784 Bug 22112: if a <body> has contenteditable=true, it should report a writable AXValue 71785 https://bugs.webkit.org/show_bug.cgi?id=22112 71786 71787 Test: accessibility/content-editable.html 71788 71789 * page/AccessibilityRenderObject.cpp: 71790 (WebCore::AccessibilityRenderObject::isReadOnly): 71791 71792 2008-11-06 Sam Weinig <sam (a] webkit.org> 71793 71794 Reviewed by Alice Liu. 71795 71796 Fix failed assert at launch caused by unintialized data member on the mac. 71797 71798 * platform/network/mac/NetworkStateNotifierMac.cpp: 71799 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 71800 71801 2008-11-06 Steve Falkenburg <sfalken (a] apple.com> 71802 71803 Fix failed assert at launch caused by unintialized data member. 71804 71805 Reviewed by Maciej Stachowiak. 71806 71807 * platform/network/win/NetworkStateNotifierWin.cpp: 71808 (WebCore::NetworkStateNotifier::NetworkStateNotifier): 71809 71810 2008-11-06 Simon Fraser <simon.fraser (a] apple.com> 71811 71812 Reviewed by Antti Koivisto 71813 71814 https://bugs.webkit.org/show_bug.cgi?id=22109 71815 Make <input type="range"> work correctly with transforms 71816 71817 Test: fast/forms/slider-transformed.html 71818 71819 * html/HTMLInputElement.cpp: 71820 (WebCore::HTMLInputElement::defaultEventHandler): 71821 Compute a correct local point when the event is retargeted 71822 * rendering/RenderSlider.cpp: 71823 (WebCore::HTMLSliderThumbElement::defaultEventHandler): 71824 Compute m_initialClickPoint in slider-local coords, so that 71825 deltas are computed correctly with transforms 71826 (WebCore::RenderSlider::mouseEventIsInThumb): 71827 Rather than computing an absolute bounds for the thumb, 71828 convert the point to local coords and compare it with the border box. 71829 71830 2008-11-06 Greg Bolsinga <bolsinga (a] apple.com> 71831 71832 Reviewed by Darin Adler. 71833 71834 Bug 21810: Remove use of static C++ objects that are destroyed at exit time (destructors) 71835 https://bugs.webkit.org/show_bug.cgi?id=21810 71836 71837 * bindings/js/GCController.cpp: 71838 (WebCore::gcController): Changed to leak an object to avoid an exit-time destructor. 71839 * bindings/js/JSDOMBinding.cpp: 71840 (WebCore::wrapperSet): Ditto 71841 * bindings/js/JSInspectedObjectWrapper.cpp: 71842 (WebCore::wrappers): Ditto 71843 * bindings/js/JSInspectorCallbackWrapper.cpp: 71844 (WebCore::wrappers): Ditto 71845 * bridge/runtime_root.cpp: 71846 (JSC::Bindings::rootObjectSet): Ditto 71847 * css/CSSMutableStyleDeclaration.cpp: 71848 (WebCore::CSSMutableStyleDeclaration::removeProperty): Ditto 71849 * css/CSSPrimitiveValue.cpp: 71850 (WebCore::CSSPrimitiveValue::cssText): Ditto 71851 * css/CSSSelector.cpp: 71852 (WebCore::CSSSelector::extractPseudoType): Ditto 71853 * css/CSSStyleSelector.cpp: 71854 (WebCore::screenEval): Ditto 71855 (WebCore::printEval): Ditto 71856 * dom/DOMImplementation.cpp: 71857 (WebCore::isSVG10Feature): Ditto 71858 (WebCore::isSVG11Feature): Ditto 71859 (WebCore::DOMImplementation::isXMLMIMEType): Ditto 71860 * dom/Document.cpp: 71861 (WebCore::Document::hasPrefixNamespaceMismatch): Ditto 71862 * dom/ScriptElement.cpp: 71863 (WebCore::isSupportedJavaScriptLanguage): Ditto 71864 * editing/ApplyStyleCommand.cpp: 71865 (WebCore::styleSpanClassString): Ditto 71866 * editing/HTMLInterchange.cpp: 71867 (WebCore::): Ditto 71868 * editing/IndentOutdentCommand.cpp: 71869 (WebCore::indentBlockquoteString): Ditto 71870 * editing/ReplaceSelectionCommand.cpp: 71871 (WebCore::isInterchangeNewlineNode): Ditto 71872 (WebCore::isInterchangeConvertedSpaceSpan): Ditto 71873 * editing/htmlediting.cpp: 71874 (WebCore::stringWithRebalancedWhitespace): Ditto 71875 (WebCore::nonBreakingSpaceString): Ditto 71876 * editing/markup.cpp: 71877 (WebCore::appendAttributeValue): Ditto 71878 (WebCore::appendEscapedContent): Ditto 71879 (WebCore::shouldAddNamespaceAttr): Ditto 71880 (WebCore::appendNamespace): Ditto 71881 (WebCore::appendStartMarkup): Ditto 71882 (WebCore::createMarkup): Ditto 71883 * html/HTMLButtonElement.cpp: 71884 (WebCore::HTMLButtonElement::type): Ditto 71885 * html/HTMLElement.cpp: 71886 (WebCore::HTMLElement::isRecognizedTagName): Ditto 71887 (WebCore::inlineTagList): Ditto 71888 (WebCore::blockTagList): Ditto 71889 * html/HTMLFieldSetElement.cpp: 71890 (WebCore::HTMLFieldSetElement::type): Ditto 71891 * html/HTMLInputElement.cpp: 71892 (WebCore::HTMLInputElement::type): Ditto 71893 * html/HTMLKeygenElement.cpp: 71894 (WebCore::HTMLKeygenElement::type): Ditto 71895 * html/HTMLLegendElement.cpp: 71896 (WebCore::HTMLLegendElement::type): Ditto 71897 * html/HTMLOptGroupElement.cpp: 71898 (WebCore::HTMLOptGroupElement::type): Ditto 71899 * html/HTMLOptionElement.cpp: 71900 (WebCore::HTMLOptionElement::type): Ditto 71901 * html/HTMLParser.cpp: 71902 (WebCore::HTMLParser::getNode): Ditto 71903 (WebCore::HTMLParser::isHeaderTag): Ditto 71904 (WebCore::HTMLParser::isResidualStyleTag): Ditto 71905 (WebCore::HTMLParser::isAffectedByResidualStyle): Ditto 71906 * html/HTMLSelectElement.cpp: 71907 (WebCore::HTMLSelectElement::type): Ditto 71908 * html/HTMLTextAreaElement.cpp: 71909 (WebCore::HTMLTextAreaElement::type): Ditto 71910 * inspector/InspectorController.cpp: 71911 (WebCore::platform): Ditto 71912 * inspector/JavaScriptDebugServer.cpp: 71913 (WebCore::JavaScriptDebugServer::shared): Ditto 71914 * inspector/JavaScriptProfile.cpp: 71915 (WebCore::profileCache): Ditto 71916 * inspector/JavaScriptProfileNode.cpp: 71917 (WebCore::profileNodeCache): Ditto 71918 * loader/FrameLoader.cpp: 71919 (WebCore::localSchemes): Ditto 71920 * loader/appcache/ApplicationCacheStorage.cpp: 71921 (WebCore::cacheStorage): Ditto 71922 * loader/archive/ArchiveFactory.cpp: 71923 (WebCore::archiveMIMETypes): Ditto 71924 * loader/icon/IconDatabase.cpp: 71925 (WebCore::IconDatabase::defaultDatabaseFilename): Ditto 71926 * page/EventHandler.cpp: 71927 (WebCore::EventHandler::dragState): Ditto 71928 * page/Frame.cpp: 71929 (WebCore::createRegExpForLabels): Ditto 71930 (WebCore::keepAliveSet): Ditto 71931 * page/Page.cpp: 71932 (WebCore::Page::groupName): Ditto 71933 * page/SecurityOrigin.cpp: 71934 (WebCore::isDefaultPortForProtocol): Ditto 71935 (WebCore::SecurityOrigin::databaseIdentifier): Ditto 71936 * page/mac/FrameMac.mm: 71937 (WebCore::regExpForLabels): Ditto 71938 * platform/KURL.cpp: 71939 (WebCore::blankURL): Ditto 71940 * platform/graphics/FontCache.cpp: 71941 (WebCore::alternateFamilyName): Ditto 71942 * platform/graphics/mac/FontCacheMac.mm: 71943 (WebCore::FontCache::getSimilarFontPlatformData): Ditto 71944 (WebCore::FontCache::getLastResortFallbackFont): Ditto 71945 * platform/mac/ScrollbarThemeMac.mm: 71946 (WebCore::ScrollbarTheme::nativeTheme): Ditto 71947 * platform/mac/ThemeMac.mm: 71948 (WebCore::platformTheme): Ditto 71949 * platform/mac/ThreadCheck.mm: 71950 (WebCoreReportThreadViolation): Ditto 71951 * platform/network/NetworkStateNotifier.cpp: 71952 (WebCore::networkStateNotifier): Ditto 71953 * platform/network/mac/FormDataStreamMac.mm: 71954 (WebCore::getStreamFormDataMap): Ditto 71955 (WebCore::getStreamResourceHandleMap): Ditto 71956 * platform/network/mac/ResourceResponseMac.mm: 71957 (WebCore::ResourceResponse::platformLazyInit): Ditto 71958 * platform/text/TextEncoding.cpp: 71959 (WebCore::TextEncoding::isJapanese): Ditto 71960 * rendering/RenderBlock.cpp: 71961 (WebCore::continuationOutlineTable): Ditto 71962 * rendering/RenderCounter.cpp: 71963 (WebCore::counterMaps): Ditto 71964 * rendering/RenderFlexibleBox.cpp: 71965 (WebCore::RenderFlexibleBox::layoutVerticalBox): Ditto 71966 * rendering/RenderListItem.cpp: 71967 (WebCore::RenderListItem::markerText): Ditto 71968 * rendering/RenderScrollbarTheme.cpp: 71969 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): Ditto 71970 * rendering/RenderThemeMac.mm: 71971 (WebCore::RenderThemeMac::systemFont): Ditto 71972 * rendering/bidi.cpp: 71973 (WebCore::RenderBlock::checkLinesForTextOverflow): Ditto 71974 * rendering/style/RenderStyle.cpp: 71975 (WebCore::RenderStyle::initialDashboardRegions): Ditto 71976 (WebCore::RenderStyle::noneDashboardRegions): Ditto 71977 * storage/LocalStorage.cpp: 71978 (WebCore::localStorageMap): Ditto 71979 * svg/SVGAnimateMotionElement.cpp: 71980 (WebCore::SVGAnimateMotionElement::rotateMode): Ditto 71981 * svg/SVGAnimationElement.cpp: 71982 (WebCore::SVGAnimationElement::calcMode): Ditto 71983 (WebCore::SVGAnimationElement::attributeType): Ditto 71984 (WebCore::SVGAnimationElement::isAdditive): Ditto 71985 (WebCore::SVGAnimationElement::isAccumulated): Ditto 71986 * svg/SVGLangSpace.cpp: 71987 (WebCore::SVGLangSpace::xmlspace): Ditto 71988 * svg/SVGSVGElement.cpp: 71989 (WebCore::SVGSVGElement::contentScriptType): Ditto 71990 (WebCore::SVGSVGElement::contentStyleType): Ditto 71991 * svg/SVGStyleElement.cpp: 71992 (WebCore::SVGStyleElement::type): Ditto 71993 (WebCore::SVGStyleElement::media): Ditto 71994 * svg/SVGTextContentElement.cpp: 71995 (WebCore::SVGTextContentElement::parseMappedAttribute): Ditto 71996 * svg/animation/SVGSMILElement.cpp: 71997 (WebCore::SVGSMILElement::parseClockValue): Ditto 71998 (WebCore::SVGSMILElement::restart): Ditto 71999 (WebCore::SVGSMILElement::fill): Ditto 72000 (WebCore::SVGSMILElement::repeatCount): Ditto 72001 (WebCore::SVGSMILElement::notifyDependentsIntervalChanged): Ditto 72002 * svg/graphics/SVGResource.cpp: 72003 (WebCore::clientMap): Ditto 72004 * svg/graphics/SVGResourceMarker.cpp: 72005 (WebCore::SVGResourceMarker::draw): Ditto 72006 * xml/XMLHttpRequest.cpp: 72007 (WebCore::preflightResultCache): Ditto 72008 (WebCore::isSafeRequestHeader): Ditto 72009 (WebCore::isOnAccessControlResponseHeaderWhitelist): Ditto 72010 * xml/XPathExpressionNode.cpp: 72011 (WebCore::XPath::Expression::evaluationContext): Ditto 72012 * xml/XPathParser.cpp: 72013 (WebCore::XPath::isAxisName): Ditto 72014 (WebCore::XPath::isNodeTypeName): Ditto 72015 * xml/XPathValue.cpp: 72016 (WebCore::XPath::Value::toNodeSet): Ditto 72017 72018 2008-11-06 Tor Arne Vestb <tavestbo (a] trolltech.com> 72019 72020 Rubber-stamped by Simon Hausmann. 72021 72022 Remove a bunch of unused methods in the Qt media element implementation 72023 72024 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 72025 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 72026 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 72027 72028 2008-11-05 Simon Fraser <simon.fraser (a] apple.com> 72029 72030 Reviewed by Dave Hyatt 72031 72032 https://bugs.webkit.org/show_bug.cgi?id=21870 72033 72034 Implement absoluteToLocal() to convert a point from absolute 72035 to local coordinates, optionally taking transforms into account. 72036 72037 Use this to set offsetX/offsetY in mouse events, thus fixing 72038 offsetX/offsetY in events on elements with transforms. 72039 72040 Test: fast/events/offsetX-offsetY.html 72041 72042 * dom/MouseRelatedEvent.cpp: 72043 (WebCore::MouseRelatedEvent::receivedTarget): 72044 * rendering/RenderBox.cpp: 72045 (WebCore::RenderBox::localToAbsolute): 72046 (WebCore::RenderBox::absoluteToLocal): 72047 (WebCore::RenderBox::offsetFromContainer): 72048 * rendering/RenderBox.h: 72049 * rendering/RenderObject.cpp: 72050 (WebCore::RenderObject::absoluteToLocal): 72051 * rendering/RenderObject.h: 72052 * rendering/RenderTableCell.cpp: 72053 (WebCore::RenderTableCell::localToAbsolute): 72054 (WebCore::RenderTableCell::absoluteToLocal): 72055 * rendering/RenderTableCell.h: 72056 * rendering/RenderView.cpp: 72057 (WebCore::RenderView::absoluteToLocal): 72058 * rendering/RenderView.h: 72059 72060 2008-11-06 Alp Toker <alp (a] nuanti.com> 72061 72062 Reviewed by Cameron Zwarich. 72063 72064 https://bugs.webkit.org/show_bug.cgi?id=22067 72065 [GTK] Sun Java plugin segfaults at PluginPackage::createPackage() 72066 72067 null-check symbols loaded from plugin modules, initialize the function 72068 table (like Win already does) and update it with the latest 72069 additions. Adjust whitespace for easy diff'ing with the Win port code 72070 from which it was forked. 72071 72072 This fixes crashes with libnspr4.so and any other plugins that don't 72073 provide the symbols we expect. 72074 72075 * plugins/gtk/PluginPackageGtk.cpp: 72076 (WebCore::PluginPackage::fetchInfo): 72077 (WebCore::PluginPackage::load): 72078 72079 2008-11-06 Kristian Amlie <kristian.amlie (a] nokia.com> 72080 72081 Reviewed by Simon Hausmann. 72082 72083 Removed dead (and broken) code from an ancient Symbian port. 72084 72085 * config.h: 72086 * platform/text/AtomicString.h: 72087 * platform/text/PlatformString.h: 72088 72089 2008-11-06 Kristian Amlie <kristian.amlie (a] nokia.com> 72090 72091 Reviewed by Simon Hausmann. 72092 72093 Use QLibrary as PlatformModule when compiling with Qt for S60. 72094 72095 * platform/FileSystem.h: 72096 72097 2008-11-06 Kristian Amlie <kristian.amlie (a] nokia.com> 72098 72099 Reviewed by Simon Hausmann. 72100 72101 Compile fix for Symbian. 72102 The snprintf function is defined in stdio.h, the inclusion 72103 of snprintf.h inside this PLATFORM(SYMBIAN) block does not 72104 compile. 72105 72106 * config.h: 72107 72108 2008-11-06 Kristian Amlie <kristian.amlie (a] nokia.com> 72109 72110 Reviewed by Simon Hausmann. 72111 72112 Disable webkit plugins for Symbian. 72113 72114 * WebCore.pro: 72115 72116 2008-11-06 Tor Arne Vestb <tavestbo (a] trolltech.com> 72117 72118 Fix build break in debug mode when XSLT is not enabled 72119 72120 * loader/Cache.cpp: 72121 (WebCore::Cache::dumpStats): 72122 72123 2008-11-06 Tor Arne Vestb <tavestbo (a] trolltech.com> 72124 72125 Reviewed by Simon Hausmann. 72126 72127 Repaint video on UpdateRequest to prevent recursive painting 72128 72129 Calling QWidget::render() to update the video generates a paint 72130 event that's then picked up by the event filter once more :( 72131 72132 We're really only interested in updates from Phonon, which we 72133 get through the UpdateRequest for each new frame. 72134 72135 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 72136 (WebCore::MediaPlayerPrivate::eventFilter): 72137 72138 2008-11-06 Cameron Zwarich <zwarich (a] apple.com> 72139 72140 Not reviewed. 72141 72142 Fix the WebCore build for some platforms by changing build scripts to 72143 account for the recent move of the create_hash_table script from the kjs 72144 subdirectory of JavaScriptCore to the root directory. 72145 72146 * WebCore.pro: 72147 * make-generated-sources.sh: 72148 72149 2008-11-06 Cameron Zwarich <zwarich (a] apple.com> 72150 72151 Not reviewed. 72152 72153 Fix a case-sensitivity issue in Mac forwarding headers. Strangely 72154 enough, this does not always cause the build to break, even with a 72155 case-sensitive filesystem. 72156 72157 * ForwardingHeaders/runtime/Interpreter.h: 72158 72159 2008-11-05 Alexey Proskuryakov <ap (a] webkit.org> 72160 72161 Reviewed by Maciej Stachowiak. 72162 72163 https://bugs.webkit.org/show_bug.cgi?id=22083 72164 MessageEvents cannot be used across threads 72165 72166 * dom/Event.idl: 72167 * dom/MessageEvent.idl: 72168 Add a NoStaticTables attribute - MessageEvent is used in worker threads, so static tables 72169 won't work. 72170 72171 * dom/MessagePort.cpp: 72172 (WebCore::MessagePort::EventData::EventData): 72173 (WebCore::MessagePort::EventData::~EventData): 72174 (WebCore::MessagePort::clone): 72175 (WebCore::MessagePort::postMessage): 72176 (WebCore::MessagePort::startConversation): 72177 (WebCore::MessagePort::dispatchMessages): 72178 * dom/MessagePort.h: 72179 Don't create a MessageEvent until dispatch time - messages can be posted across threads, 72180 but MessageEvents are tied to the thread that they were created in. 72181 72182 2008-11-05 Alexey Proskuryakov <ap (a] webkit.org> 72183 72184 Reviewed by Darin Adler. 72185 72186 https://bugs.webkit.org/show_bug.cgi?id=22066 72187 Implement Worker global object 72188 72189 * DerivedSources.make: Added WorkerLocation IDL and JSWorkerContext lookup table. 72190 72191 * WebCore.xcodeproj/project.pbxproj: Only adding files to Mac project for now, as Worker 72192 support is still disabled by default. 72193 72194 * bindings/js/JSDOMGlobalObject.cpp: (WebCore::toJSDOMGlobalObject): Implemented Worker case. 72195 72196 * bindings/js/JSMessageChannelConstructor.cpp: 72197 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Ditto. 72198 72199 * bindings/js/JSWorkerContext.cpp: Added. 72200 * bindings/js/JSWorkerContext.h: Added. 72201 * bindings/js/WorkerScriptController.cpp: Added. 72202 * bindings/js/WorkerScriptController.h: Added. 72203 * dom/WorkerContext.cpp: Added. 72204 * dom/WorkerContext.h: Added. 72205 Added an implementation of worker contexts. 72206 72207 * dom/DedicatedWorker.cpp: 72208 (WebCore::DedicatedWorker::startLoad): Fixed a lifetime bug I saw on my tests. 72209 (WebCore::DedicatedWorker::notifyFinished): Create a thread. Currently, object ownership 72210 and lifetime is not clear at all. 72211 72212 * dom/WorkerLocation.cpp: Added. 72213 * dom/WorkerLocation.h: Added. 72214 * dom/WorkerLocation.idl: Added. 72215 Added WorkerLocation, which is one of the objects available to workers. 72216 72217 * dom/WorkerThread.cpp: Added. 72218 (WebCore::WorkerThread::WorkerThread): 72219 (WebCore::WorkerThread::start): 72220 (WebCore::WorkerThread::workerThreadStart): 72221 (WebCore::WorkerThread::workerThread): 72222 * dom/WorkerThread.h: Added. 72223 (WebCore::WorkerThread::create): 72224 Run some code in a worker thread (no message loop yet). 72225 72226 2008-11-05 Antti Koivisto <antti (a] apple.com> 72227 72228 Reviewed by Dan Bernstein. 72229 72230 https://bugs.webkit.org/show_bug.cgi?id=22093 72231 Don't keep decoded stylesheet data in cache 72232 72233 <rdar://problem/6343588> 72234 72235 Don't keep decoded stylesheet string around in the cache. There are no sharing benefits and 72236 performance benefits are negligible (no measured PLT impact). Reduces memory consumption of 72237 style sheet data in cache by 2/3 in common case. 72238 72239 * loader/CachedCSSStyleSheet.cpp: 72240 (WebCore::CachedCSSStyleSheet::sheetText): 72241 (WebCore::CachedCSSStyleSheet::data): 72242 * loader/CachedCSSStyleSheet.h: 72243 72244 2008-11-05 David Kilzer <ddkilzer (a] apple.com> 72245 72246 Bug 21596: WebCore::Cache should use parsed Pragma and Cache-Control headers 72247 72248 <https://bugs.webkit.org/show_bug.cgi?id=21596> 72249 72250 Reviewed by Antti. 72251 72252 This patch adds real parsing for Pragma and Cache-Control headers 72253 based on RFC 2616, Sections 2, 14.9 and 14.32. It also adds some 72254 new String and StringImpl methods to assist with the parsing. 72255 72256 * loader/Cache.cpp: 72257 (WebCore::Cache::dumpStats): Added. Convenience method for dumping 72258 stats outside of Safari. 72259 * loader/Cache.h: Declared dumpStats(). 72260 72261 * loader/CachedResource.cpp: 72262 (WebCore::CachedResource::mustRevalidate): Updated to use 72263 ResourceResponseBase::cacheControlDirectives() instead of substring 72264 matching of the entire Cache-Control header. 72265 72266 * loader/loader.cpp: 72267 (WebCore::Loader::Host::didReceiveResponse): Used the local 72268 'resource' variable instead of 'request->cachedResource()'. 72269 72270 * platform/network/ResourceResponseBase.cpp: 72271 (WebCore::ResourceResponseBase::setHTTPHeaderField): Set 72272 m_haveParsedCacheControlHeader to false when a "Cache-Control" 72273 header is set. Ditto for m_haveParsedPragmaHeader and "Pragma". 72274 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added. 72275 Provides parsed Pragma header directives. 72276 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Added. 72277 Provides parsed Cache-Control header directives. 72278 (WebCore::isCacheHeaderSeparator): Added. Returns true if a 72279 character is a separator character per RFC 2616, Section 2.2, else 72280 returns false. 72281 (WebCore::isControlCharacter): Added. Returns true if a character 72282 is a control character per RFC 2616 Section 2.2, else returns false. 72283 (WebCore::trimToNextSeparator): Added. Returns a string truncated 72284 at the first separator character per isCacheHeaderSeparator(). 72285 (WebCore::parseCacheHeader): Added. This is the main parsing 72286 routine for both Cache-Control and Pragma headers. 72287 (WebCore::parseCacheControlDirectiveValues): Added. This splits 72288 certain Cache-Control directive values into a vector of strings. 72289 * platform/network/ResourceResponseBase.h: 72290 (WebCore::CacheControlDirectiveMap): Added. Typedef for a parsed 72291 Cache-Control header. 72292 (WebCore::PragmaDirectiveMap): Added. Typedef for a parsed Pragma 72293 header. 72294 (WebCore::ResourceResponseBase::parsePragmaDirectives): Added 72295 declaration. 72296 (WebCore::ResourceResponseBase::parseCacheControlDirectives): Ditto. 72297 (WebCore::ResourceResponseBase::m_haveParsedCacheControlHeader): 72298 Added. Boolean to describe when the "Cache-Control" header needs to 72299 be reparsed. 72300 (WebCore::ResourceResponseBase::m_haveParsedPragmaHeader): Added. 72301 Boolean to describe when the "Pragma" header needs to be reparsed. 72302 (WebCore::ResourceResponseBase::m_cacheControlDirectiveMap): Added. 72303 Cached map to hold parsed "Cache-Control" headers. 72304 (WebCore::ResourceResponseBase::m_pragmaDirectiveMap): Added. 72305 Cached map to hold parsed "Pragma" headers. 72306 72307 * platform/text/PlatformString.h: 72308 (WebCore::String::find): Added. Returns the first match based on 72309 the character-matching function pointer passed in. 72310 (WebCore::String::removeCharacters): Added declaration. 72311 (WebCore::find): Added. Inline method that takes a character- 72312 matching function pointer. Called by StringImpl::find(). 72313 * platform/text/String.cpp: 72314 (WebCore::String::removeCharacters): Added. Calls 72315 StringImpl::removeCharacters(). 72316 * platform/text/StringImpl.cpp: 72317 (WebCore::StringImpl::removeCharacters): Added. Returns a string 72318 with all characters removed that match the character-matching 72319 function pointer passed in. If there is no change to the string, it 72320 returns itself. Based heavily on StringImpl::simplifyWhitespace(). 72321 (WebCore::StringImpl::find): Added. Calls WebCore::find(). 72322 * platform/text/StringImpl.h: 72323 (WebCore::FindMatchFunctionPtr): Added. Typedef for a character- 72324 matching function pointer. 72325 (WebCore::StringImpl::removeCharacters): Added declaration. 72326 (WebCore::StringImpl::find): Ditto. 72327 72328 2008-11-05 Justin Garcia <justin.garcia (a] apple.com> 72329 72330 Reviewed by Beth Dakin. 72331 72332 <rdar://problem/5480736> In Mail and Gmail, copied indented text pastes with line break 72333 72334 As a rule, we don't allow merges out of blockquotes. In the bug, we are inserting a text node 72335 between two blockquotes. Because the start merge moves the text node into a blockquote, when we 72336 determine whether or not we should do the end merge, it incorrectly appears as though the end merge 72337 is merging out of a blockquote. The fix is to determine whether or not we should do the end merge 72338 before we do the start merge, so that the start merge doesn't effect our decision. 72339 72340 * editing/ReplaceSelectionCommand.cpp: 72341 (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Initialize the new boolean. 72342 (WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Moved code from doApply() here for clarity. 72343 (WebCore::ReplaceSelectionCommand::doApply): Set m_shouldMergeEnd before we do the start merge. 72344 * editing/ReplaceSelectionCommand.h: Added m_shouldMergeEnd. 72345 72346 2008-11-05 Cameron Zwarich <zwarich (a] apple.com> 72347 72348 Not reviewed. 72349 72350 Speculatively fix the Windows build, even though these changes may not 72351 actually matter for anything in the build, because the Windows bots are 72352 behind. 72353 72354 * WebCore.vcproj/WebCore.vcproj: 72355 72356 2008-11-05 Cameron Zwarich <zwarich (a] apple.com> 72357 72358 Not reviewed. 72359 72360 Fix the Qt build. 72361 72362 * bridge/qt/qt_class.cpp: 72363 * bridge/qt/qt_runtime.h: 72364 72365 2008-11-05 Cameron Zwarich <zwarich (a] apple.com> 72366 72367 Rubber-stamped by Sam Weinig. 72368 72369 Move more files to the runtime subdirectory of JavaScriptCore. 72370 72371 * ForwardingHeaders/kjs/collector.h: Removed. 72372 * ForwardingHeaders/kjs/completion.h: Removed. 72373 * ForwardingHeaders/kjs/identifier.h: Removed. 72374 * ForwardingHeaders/kjs/interpreter.h: Removed. 72375 * ForwardingHeaders/kjs/lookup.h: Removed. 72376 * ForwardingHeaders/kjs/operations.h: Removed. 72377 * ForwardingHeaders/kjs/protect.h: Removed. 72378 * ForwardingHeaders/kjs/ustring.h: Removed. 72379 * ForwardingHeaders/runtime/Collector.h: Copied from ForwardingHeaders/kjs/collector.h. 72380 * ForwardingHeaders/runtime/Completion.h: Copied from ForwardingHeaders/kjs/completion.h. 72381 * ForwardingHeaders/runtime/Identifier.h: Copied from ForwardingHeaders/kjs/identifier.h. 72382 * ForwardingHeaders/runtime/Interpreter.h: Copied from ForwardingHeaders/kjs/interpreter.h. 72383 * ForwardingHeaders/runtime/Lookup.h: Copied from ForwardingHeaders/kjs/lookup.h. 72384 * ForwardingHeaders/runtime/Operations.h: Copied from ForwardingHeaders/kjs/operations.h. 72385 * ForwardingHeaders/runtime/Protect.h: Copied from ForwardingHeaders/kjs/protect.h. 72386 * ForwardingHeaders/runtime/UString.h: Copied from ForwardingHeaders/kjs/ustring.h. 72387 * bindings/js/GCController.cpp: 72388 * bindings/js/JSCustomPositionCallback.h: 72389 * bindings/js/JSCustomPositionErrorCallback.h: 72390 * bindings/js/JSCustomSQLStatementCallback.h: 72391 * bindings/js/JSCustomSQLStatementErrorCallback.h: 72392 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 72393 * bindings/js/JSCustomVoidCallback.h: 72394 * bindings/js/JSDOMBinding.h: 72395 * bindings/js/JSDOMWindowBase.h: 72396 * bindings/js/JSEventListener.h: 72397 * bindings/js/ScheduledAction.h: 72398 * bindings/js/ScriptController.cpp: 72399 * bindings/js/ScriptController.h: 72400 * bindings/objc/WebScriptObject.mm: 72401 * bindings/scripts/CodeGeneratorJS.pm: 72402 * bridge/NP_jsobject.cpp: 72403 * bridge/c/c_class.cpp: 72404 * bridge/jni/jni_class.cpp: 72405 * bridge/jni/jni_jsobject.mm: 72406 * bridge/npruntime.cpp: 72407 * bridge/runtime_root.h: 72408 * history/CachedPage.h: 72409 * html/CanvasRenderingContext2D.cpp: 72410 * html/HTMLCanvasElement.cpp: 72411 * inspector/InspectorController.cpp: 72412 * inspector/JavaScriptCallFrame.cpp: 72413 * page/Console.cpp: 72414 * page/Page.cpp: 72415 * platform/text/AtomicString.cpp: 72416 * platform/text/PlatformString.h: 72417 72418 2008-11-05 Sam Weinig <sam (a] webkit.org> 72419 72420 Reviewed by Anders Carlsson. 72421 72422 Fix https://bugs.webkit.org/show_bug.cgi?id=22085 72423 The Plugin JS object should expose item() and namedItem() methods to match Firefox 72424 72425 * bindings/js/JSPluginCustom.cpp: 72426 (WebCore::JSPlugin::nameGetter): 72427 * plugins/Plugin.cpp: 72428 (WebCore::Plugin::namedItem): 72429 * plugins/Plugin.h: 72430 * plugins/Plugin.idl: 72431 72432 2008-11-05 Alexey Proskuryakov <ap (a] webkit.org> 72433 72434 Reviewed by Maciej Stachowiak. 72435 72436 https://bugs.webkit.org/show_bug.cgi?id=21060 72437 Range#surroundContents incorrectly throws BAD_BOUNDARYPOINTS_ERR 72438 72439 Test: fast/dom/Range/surroundContents-check-boundary-points.html 72440 72441 * dom/Range.cpp: (WebCore::Range::surroundContents): Fix BAD_BOUNDARYPOINTS_ERR checks. 72442 72443 2008-11-05 Anders Carlsson <andersca (a] apple.com> 72444 72445 Reviewed by Dan Bernstein. 72446 72447 Remove two global destructors from CoreTextController. 72448 72449 * platform/graphics/mac/CoreTextController.cpp: 72450 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): 72451 72452 2008-11-05 Darin Fisher <darin (a] chromium.org> 72453 72454 Reviewed by Darin Adler. 72455 72456 CRASH at Scrollbar::invalidateRect due to null m_client 72457 https://bugs.webkit.org/show_bug.cgi?id=22080 72458 72459 * platform/Scrollbar.cpp: 72460 (WebCore::Scrollbar::isWindowActive): 72461 (WebCore::Scrollbar::invalidateRect): 72462 72463 2008-11-04 Sam Weinig <sam (a] webkit.org> 72464 72465 Reviewed by Simon Hausmann. 72466 72467 Fix https://bugs.webkit.org/show_bug.cgi?id=21648 72468 navigator.mimeTypes and navigator.plugins don't expose item and namedItem to JS 72469 72470 - Also adds constructors for Plugin, PluginArray, MimeType and MimeTypeArray. 72471 72472 * bindings/js/JSMimeTypeArrayCustom.cpp: 72473 (WebCore::JSMimeTypeArray::nameGetter): 72474 * bindings/js/JSPluginArrayCustom.cpp: 72475 (WebCore::JSPluginArray::nameGetter): 72476 * page/DOMWindow.idl: 72477 * plugins/MimeType.idl: 72478 * plugins/MimeTypeArray.cpp: 72479 (WebCore::MimeTypeArray::namedItem): 72480 * plugins/MimeTypeArray.h: 72481 * plugins/MimeTypeArray.idl: 72482 * plugins/Plugin.idl: 72483 * plugins/PluginArray.cpp: 72484 (WebCore::PluginArray::namedItem): 72485 * plugins/PluginArray.h: 72486 * plugins/PluginArray.idl: 72487 72488 2008-11-05 Steve Falkenburg <sfalken (a] apple.com> 72489 72490 Build fix. 72491 72492 * plugins/PluginPackage.cpp: 72493 72494 2008-11-05 Jeff Cook <cookiecaper (a] gmail.com> 72495 72496 Reviewed by Simon Hausmann and Tor Arne. 72497 72498 Fix crash in the Qt port when unloading swfdec and Flash 10 72499 by reordering window destruction and plugin stop. 72500 72501 See https://bugs.webkit.org/show_bug.cgi?id=20779 72502 72503 * plugins/qt/PluginViewQt.cpp: 72504 (WebCore::PluginView::stop): 72505 72506 2008-11-05 Simon Hausmann <hausmann (a] webkit.org> 72507 72508 Reviewed by Tor Arne Vestb 72509 72510 Fix loading of Flash 10 in the Qt port by faking the toolkit to be Gtk. 72511 72512 Otherwise Flash refuses to load and function :( 72513 72514 * plugins/PluginPackage.cpp: 72515 (WebCore::PluginPackage::determineQuirks): 72516 * plugins/PluginQuirkSet.h: 72517 (WebCore::): 72518 * plugins/qt/PluginViewQt.cpp: 72519 (WebCore::PluginView::getValue): 72520 72521 2008-11-05 Simon Hausmann <hausmann (a] webkit.org> 72522 72523 Reviewed by Tor Arne Vestb 72524 72525 Unify determineQuirks between the Qt and the Gtk PluginPackage. 72526 Share the code for parsing the module version from the description. 72527 This is currently used to determine Flash based quirks. 72528 72529 * plugins/PluginPackage.cpp: 72530 (WebCore::PluginPackage::createPackage): 72531 (WebCore::PluginPackage::determineQuirks): 72532 (WebCore::PluginPackage::determineModuleVersionFromDescription): 72533 * plugins/PluginPackage.h: 72534 * plugins/gtk/PluginPackageGtk.cpp: 72535 (WebCore::PluginPackage::fetchInfo): 72536 * plugins/qt/PluginPackageQt.cpp: 72537 (WebCore::PluginPackage::fetchInfo): 72538 72539 2008-11-04 Cameron Zwarich <zwarich (a] apple.com> 72540 72541 Rubber-stamped by Sam Weinig. 72542 72543 Move kjs/dtoa.h to the wtf subdirectory of JavaScriptCore. 72544 72545 * ForwardingHeaders/kjs/dtoa.h: Removed. 72546 * ForwardingHeaders/wtf/dtoa.h: Copied from ForwardingHeaders/kjs/dtoa.h. 72547 * css/CSSParser.cpp: 72548 * platform/text/String.cpp: 72549 * platform/text/StringImpl.cpp: 72550 72551 2008-11-04 Jonathan Haas <myrdred (a] gmail.com> 72552 72553 Addiitonal tweaks and patch prep by Pamela Greene <pam (a] chromium.org> 72554 72555 Reviewed by Darin Adler. 72556 72557 Fixed an issue which could cause memory corruption using ToT libxml. 72558 See https://bugs.webkit.org/show_bug.cgi?id=15715 72559 72560 Test: fast/xsl/xslt-nested-stylesheets.xml 72561 72562 * xml/XSLImportRule.cpp: 72563 (WebCore::XSLImportRule::setXSLStyleSheet): Set parent rather than owner document 72564 * xml/XSLStyleSheet.cpp: 72565 (WebCore::XSLStyleSheet::XSLStyleSheet): Initialize m_parentStyleSheet 72566 (WebCore::XSLStyleSheet::parseString): Make all child stylesheets use parent's dictionary 72567 (WebCore::XSLStyleSheet::setParentStyleSheet): Added 72568 * xml/XSLStyleSheet.h: Added m_parentStyleSheet member 72569 72570 2008-11-04 Simon Fraser <simon.fraser (a] apple.com> 72571 72572 No review. 72573 72574 Improved buid fix: include MathExtras.h to get roundf on all platforms. 72575 72576 * platform/graphics/FloatPoint.h: 72577 72578 2008-11-04 Brady Eidson <beidson (a] apple.com> 72579 72580 Reviewed by John Sullivan 72581 72582 Add a simple "visited" method to HistoryItem for use by global history 72583 72584 * WebCore.base.exp: 72585 72586 * history/HistoryItem.cpp: 72587 (WebCore::HistoryItem::visited): Update the title on the item, set last visited time, 72588 and bump the visit count. All things that should happen when a url is visited again! 72589 * history/HistoryItem.h: 72590 72591 2008-11-04 Jan Michael Alonzo <jmalonzo (a] webkit.org> 72592 72593 Build fix. Not reviewed. 72594 72595 * platform/graphics/FloatPoint.h: include math.h. 72596 reported by zdobersek in #webkit. 72597 72598 2008-11-04 Darin Fisher <darin (a] chromium.org> 72599 72600 Reviewed by Anders Carlsson. 72601 72602 No need to clobber all ResourceRequest fields in FrameLoader::reload() 72603 https://bugs.webkit.org/show_bug.cgi?id=21949 72604 72605 * loader/FrameLoader.cpp: 72606 (WebCore::FrameLoader::reload): 72607 72608 2008-11-04 Darin Adler <darin (a] apple.com> 72609 72610 Reviewed by Tim Hatcher. 72611 72612 * storage/Database.cpp: 72613 (WebCore::databaseVersionKey): Tweaked formatting. 72614 72615 2008-11-03 Darin Adler <darin (a] apple.com> 72616 72617 Reviewed by Tim Hatcher. 72618 72619 - https://bugs.webkit.org/show_bug.cgi?id=22061 72620 create script to check for exit-time destructors 72621 72622 * WebCore.xcodeproj/project.pbxproj: Added a script 72623 phase that runs the check-for-exit-time-destructors script. 72624 72625 * html/HTMLAttributeNames.in: Removed some unused attribute names. 72626 72627 * html/HTMLEmbedElement.cpp: 72628 (WebCore::HTMLEmbedElement::parseMappedAttribute): Removed code that 72629 sets the write-only m_pluginPage. 72630 * html/HTMLEmbedElement.h: Ditto. 72631 72632 * platform/mac/CursorMac.mm: 72633 (WebCore::leakNamedCursor): Changed to return a Cursor&. 72634 (WebCore::pointerCursor): Changed to leak an object to avoid an 72635 exit-time destructor. 72636 (WebCore::crossCursor): Ditto. 72637 (WebCore::handCursor): Ditto. 72638 (WebCore::moveCursor): Ditto. 72639 (WebCore::verticalTextCursor): Ditto. 72640 (WebCore::cellCursor): Ditto. 72641 (WebCore::contextMenuCursor): Ditto. 72642 (WebCore::aliasCursor): Ditto. 72643 (WebCore::zoomInCursor): Ditto. 72644 (WebCore::zoomOutCursor): Ditto. 72645 (WebCore::copyCursor): Ditto. 72646 (WebCore::noneCursor): Ditto. 72647 (WebCore::progressCursor): Ditto. 72648 (WebCore::noDropCursor): Ditto. 72649 (WebCore::notAllowedCursor): Ditto. 72650 (WebCore::iBeamCursor): Ditto. 72651 (WebCore::waitCursor): Ditto. 72652 (WebCore::helpCursor): Ditto. 72653 (WebCore::eastResizeCursor): Ditto. 72654 (WebCore::northResizeCursor): Ditto. 72655 (WebCore::northEastResizeCursor): Ditto. 72656 (WebCore::northWestResizeCursor): Ditto. 72657 (WebCore::southResizeCursor): Ditto. 72658 (WebCore::southEastResizeCursor): Ditto. 72659 (WebCore::southWestResizeCursor): Ditto. 72660 (WebCore::westResizeCursor): Ditto. 72661 (WebCore::northSouthResizeCursor): Ditto. 72662 (WebCore::eastWestResizeCursor): Ditto. 72663 (WebCore::northEastSouthWestResizeCursor): Ditto. 72664 (WebCore::northWestSouthEastResizeCursor): Ditto. 72665 (WebCore::columnResizeCursor): Ditto. 72666 (WebCore::rowResizeCursor): Ditto. 72667 (WebCore::grabCursor): Ditto. 72668 (WebCore::grabbingCursor): Ditto. 72669 72670 * storage/Database.cpp: 72671 (WebCore::guidMutex): Changed to leak an object to avoid an 72672 exit-time destructor. Also added a comment explaining why it's 72673 thread safe. 72674 (WebCore::guidToVersionMap): Ditto. 72675 (WebCore::guidToDatabaseMap): Ditto. 72676 (WebCore::Database::databaseInfoTableName): Ditto. 72677 (WebCore::databaseVersionKey): Ditto. 72678 (WebCore::Database::getVersionFromDatabase): Ditto. 72679 (WebCore::Database::setVersionInDatabase): Ditto. 72680 (WebCore::guidForOriginAndName): Ditto. 72681 * storage/DatabaseTracker.cpp: 72682 (WebCore::DatabaseTracker::tracker): Ditto. 72683 (WebCore::notificationMutex): Ditto. 72684 (WebCore::notificationQueue): Ditto. 72685 (WebCore::DatabaseTracker::notifyDatabasesChanged): Ditto. 72686 72687 2008-11-04 Simon Fraser <simon.fraser (a] apple.com> 72688 72689 Reviewed by Dave Hyatt 72690 72691 https://bugs.webkit.org/show_bug.cgi?id=21941 72692 72693 Rename absolutePosition() to localToAbsolute(), and add the ability 72694 to optionally take transforms into account (which will eventually be the 72695 default behavior). 72696 72697 * WebCore.base.exp: 72698 * WebCore.xcodeproj/project.pbxproj: 72699 * dom/ContainerNode.cpp: 72700 (WebCore::ContainerNode::getUpperLeftCorner): 72701 (WebCore::ContainerNode::getLowerRightCorner): 72702 (WebCore::ContainerNode::getRect): 72703 * dom/ContainerNode.h: 72704 * dom/MouseRelatedEvent.cpp: 72705 (WebCore::MouseRelatedEvent::receivedTarget): 72706 * dom/Node.cpp: 72707 (WebCore::Node::getRect): 72708 * editing/SelectionController.cpp: 72709 (WebCore::SelectionController::layout): 72710 (WebCore::SelectionController::caretRect): 72711 * editing/visible_units.cpp: 72712 (WebCore::previousLinePosition): 72713 (WebCore::nextLinePosition): 72714 * html/HTMLAnchorElement.cpp: 72715 (WebCore::HTMLAnchorElement::isKeyboardFocusable): 72716 (WebCore::HTMLAnchorElement::defaultEventHandler): 72717 * html/HTMLAreaElement.cpp: 72718 (WebCore::HTMLAreaElement::getRect): 72719 * html/HTMLImageElement.cpp: 72720 (WebCore::HTMLImageElement::x): 72721 (WebCore::HTMLImageElement::y): 72722 * html/HTMLInputElement.cpp: 72723 (WebCore::HTMLInputElement::defaultEventHandler): 72724 * html/HTMLInputElement.h: 72725 * page/AccessibilityRenderObject.cpp: 72726 (WebCore::AccessibilityRenderObject::boundingBoxRect): 72727 * page/EventHandler.cpp: 72728 (WebCore::EventHandler::handleDrag): 72729 * platform/graphics/FloatPoint.h: 72730 (WebCore::roundedIntPoint): 72731 * platform/graphics/IntSize.h: 72732 (WebCore::IntSize::expand): 72733 * rendering/LayoutState.cpp: 72734 (WebCore::LayoutState::LayoutState): 72735 * rendering/RenderBlock.cpp: 72736 (WebCore::RenderBlock::layoutBlock): 72737 (WebCore::RenderBlock::paintObject): 72738 (WebCore::RenderBlock::selectionGapRects): 72739 (WebCore::RenderBlock::fillBlockSelectionGaps): 72740 (WebCore::RenderBlock::nodeAtPoint): 72741 (WebCore::RenderBlock::positionForCoordinates): 72742 * rendering/RenderBox.cpp: 72743 (WebCore::RenderBox::localToAbsolute): 72744 (WebCore::RenderBox::computeAbsoluteRepaintRect): 72745 (WebCore::RenderBox::caretRect): 72746 * rendering/RenderBox.h: 72747 (WebCore::RenderBox::relativePositionOffset): 72748 * rendering/RenderContainer.cpp: 72749 (WebCore::RenderContainer::addLineBoxRects): 72750 * rendering/RenderFlow.cpp: 72751 (WebCore::RenderFlow::absoluteClippedOverflowRect): 72752 (WebCore::RenderFlow::caretRect): 72753 (WebCore::RenderFlow::addFocusRingRects): 72754 * rendering/RenderLayer.cpp: 72755 (WebCore::RenderLayer::updateLayerPosition): 72756 (WebCore::RenderLayer::convertToLayerCoords): 72757 (WebCore::RenderLayer::addScrolledContentOffset): 72758 (WebCore::RenderLayer::subtractScrolledContentOffset): 72759 (WebCore::RenderLayer::scrollRectToVisible): 72760 * rendering/RenderLayer.h: 72761 (WebCore::RenderLayer::scrolledContentOffset): 72762 (WebCore::RenderLayer::relativePositionOffset): 72763 * rendering/RenderListBox.cpp: 72764 (WebCore::RenderListBox::panScroll): 72765 (WebCore::RenderListBox::scrollToward): 72766 * rendering/RenderListMarker.cpp: 72767 (WebCore::RenderListMarker::selectionRect): 72768 * rendering/RenderObject.cpp: 72769 (WebCore::RenderObject::absoluteBoundingBoxRect): 72770 (WebCore::RenderObject::computeAbsoluteRepaintRect): 72771 (WebCore::RenderObject::localToAbsolute): 72772 (WebCore::RenderObject::addDashboardRegions): 72773 (WebCore::RenderObject::absoluteContentBox): 72774 (WebCore::RenderObject::absoluteOutlineBox): 72775 * rendering/RenderObject.h: 72776 (WebCore::RenderObject::localToAbsoluteForContent): 72777 * rendering/RenderPart.cpp: 72778 (WebCore::RenderPart::updateWidgetPosition): 72779 * rendering/RenderReplaced.cpp: 72780 (WebCore::RenderReplaced::selectionRect): 72781 * rendering/RenderSVGInlineText.cpp: 72782 (WebCore::RenderSVGInlineText::computeAbsoluteRectForRange): 72783 * rendering/RenderSVGText.cpp: 72784 (WebCore::RenderSVGText::absoluteRects): 72785 * rendering/RenderTableCell.cpp: 72786 (WebCore::RenderTableCell::localToAbsolute): 72787 * rendering/RenderTableCell.h: 72788 * rendering/RenderText.cpp: 72789 (WebCore::RenderText::addLineBoxRects): 72790 (WebCore::RenderText::caretRect): 72791 (WebCore::RenderText::selectionRect): 72792 * rendering/RenderVideo.cpp: 72793 (WebCore::RenderVideo::updatePlayer): 72794 * rendering/RenderView.cpp: 72795 (WebCore::RenderView::localToAbsolute): 72796 * rendering/RenderView.h: 72797 * rendering/RenderWidget.cpp: 72798 (WebCore::RenderWidget::updateWidgetPosition): 72799 * svg/SVGSVGElement.cpp: 72800 (WebCore::SVGSVGElement::getScreenCTM): 72801 72802 2008-11-03 Yael Aharon <yael.aharon (a] nokia.com> 72803 72804 Reviewed by Simon Hausmann. 72805 72806 Add methods for getting and setting user data on History Item. 72807 This change is limited to QT port only. Tests were added in 72808 the patch for https://bugs.webkit.org/show_bug.cgi?id=21864. 72809 72810 Minor change by Simon: made the functions inline and added a missing 72811 const. 72812 72813 * history/HistoryItem.h: 72814 72815 2008-11-01 Alexey Proskuryakov <ap (a] webkit.org> 72816 72817 Reviewed by Darin Adler. 72818 72819 https://bugs.webkit.org/show_bug.cgi?id=22030 72820 Make EventNames usable from multiple threads 72821 72822 * platform/text/AtomicString.cpp: 72823 (WebCore::stringTable): 72824 (WebCore::AtomicString::add): 72825 (WebCore::AtomicString::remove): 72826 (WebCore::AtomicString::find): 72827 (WebCore::AtomicString::init): 72828 * platform/text/AtomicString.h: 72829 Atomic string table is now per-thread. Individual strings cannot be shared between threads, 72830 so global AtomicString constants cannot be used from threads other than the main one. 72831 72832 * dom/EventNames.cpp: 72833 (WebCore::EventNames::EventNames): 72834 (WebCore::eventNames): 72835 (WebCore::EventNames::init): 72836 * dom/EventNames.h: 72837 Made EventNames a ThreadSpecific struct. Individual event names are now accessed as 72838 eventNames().fooEvent, not EventNames::fooEvent. This makes EventNames usable from all 72839 threads. 72840 72841 * WebCore.base.exp: 72842 * bindings/js/JSDOMWindowBase.cpp: 72843 * bindings/js/JSEventListener.cpp: 72844 * bindings/js/ScriptController.cpp: 72845 (WebCore::ScriptController::processingUserGesture): 72846 * dom/BeforeTextInsertedEvent.cpp: 72847 (WebCore::BeforeTextInsertedEvent::BeforeTextInsertedEvent): 72848 * dom/BeforeUnloadEvent.cpp: 72849 (WebCore::BeforeUnloadEvent::BeforeUnloadEvent): 72850 * dom/CharacterData.cpp: 72851 (WebCore::CharacterData::dispatchModifiedEvent): 72852 * dom/ContainerNode.cpp: 72853 (WebCore::dispatchChildInsertionEvents): 72854 (WebCore::dispatchChildRemovalEvents): 72855 * dom/DedicatedWorker.cpp: 72856 (WebCore::DedicatedWorker::dispatchErrorEvent): 72857 * dom/Document.cpp: 72858 (WebCore::Document::implicitClose): 72859 (WebCore::Document::setFocusedNode): 72860 (WebCore::Document::addListenerTypeIfNeeded): 72861 (WebCore::Document::removeWindowInlineEventListenerForType): 72862 (WebCore::Document::addWindowEventListener): 72863 (WebCore::Document::removeWindowEventListener): 72864 (WebCore::Document::finishedParsing): 72865 * dom/EventTargetNode.cpp: 72866 (WebCore::EventTargetNode::dispatchGenericEvent): 72867 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): 72868 (WebCore::EventTargetNode::dispatchWindowEvent): 72869 (WebCore::EventTargetNode::dispatchUIEvent): 72870 (WebCore::EventTargetNode::dispatchSimulatedClick): 72871 (WebCore::EventTargetNode::dispatchMouseEvent): 72872 (WebCore::EventTargetNode::dispatchFocusEvent): 72873 (WebCore::EventTargetNode::dispatchBlurEvent): 72874 (WebCore::EventTargetNode::defaultEventHandler): 72875 (WebCore::EventTargetNode::on*): (multiple methods) 72876 (WebCore::EventTargetNode::setOn*): (multiple methods) 72877 * dom/KeyboardEvent.cpp: 72878 (WebCore::eventTypeForKeyboardEventType): 72879 (WebCore::KeyboardEvent::keyCode): 72880 (WebCore::KeyboardEvent::charCode): 72881 * dom/MessageEvent.cpp: 72882 (WebCore::MessageEvent::MessageEvent): 72883 * dom/MessagePort.cpp: 72884 (WebCore::MessagePort::dispatchMessages): 72885 (WebCore::MessagePort::dispatchCloseEvent): 72886 * dom/MouseEvent.cpp: 72887 (WebCore::MouseEvent::isDragEvent): 72888 (WebCore::MouseEvent::toElement): 72889 (WebCore::MouseEvent::fromElement): 72890 * dom/OverflowEvent.cpp: 72891 (WebCore::OverflowEvent::OverflowEvent): 72892 * dom/TextEvent.cpp: 72893 (WebCore::TextEvent::TextEvent): 72894 * dom/WebKitAnimationEvent.cpp: 72895 (WebCore::WebKitAnimationEvent::WebKitAnimationEvent): 72896 (WebCore::WebKitAnimationEvent::~WebKitAnimationEvent): 72897 (WebCore::WebKitAnimationEvent::initWebKitAnimationEvent): 72898 (WebCore::WebKitAnimationEvent::animationName): 72899 (WebCore::WebKitAnimationEvent::elapsedTime): 72900 * dom/WebKitTransitionEvent.cpp: 72901 (WebCore::WebKitTransitionEvent::WebKitTransitionEvent): 72902 (WebCore::WebKitTransitionEvent::~WebKitTransitionEvent): 72903 (WebCore::WebKitTransitionEvent::initWebKitTransitionEvent): 72904 (WebCore::WebKitTransitionEvent::propertyName): 72905 (WebCore::WebKitTransitionEvent::elapsedTime): 72906 * dom/WheelEvent.cpp: 72907 (WebCore::WheelEvent::WheelEvent): 72908 (WebCore::WheelEvent::initWheelEvent): 72909 * dom/XMLTokenizerLibxml2.cpp: 72910 * dom/XMLTokenizerQt.cpp: 72911 * editing/DeleteButton.cpp: 72912 (WebCore::DeleteButton::defaultEventHandler): 72913 * editing/EditCommand.cpp: 72914 * editing/Editor.cpp: 72915 (WebCore::Editor::canDHTMLCut): 72916 (WebCore::Editor::canDHTMLCopy): 72917 (WebCore::Editor::canDHTMLPaste): 72918 (WebCore::Editor::tryDHTMLCopy): 72919 (WebCore::Editor::tryDHTMLCut): 72920 (WebCore::Editor::tryDHTMLPaste): 72921 (WebCore::dispatchEditableContentChangedEvents): 72922 * editing/ReplaceSelectionCommand.cpp: 72923 (WebCore::ReplacementFragment::ReplacementFragment): 72924 * editing/SelectionController.cpp: 72925 (WebCore::SelectionController::setFocused): 72926 * html/HTMLAnchorElement.cpp: 72927 (WebCore::HTMLAnchorElement::defaultEventHandler): 72928 * html/HTMLBodyElement.cpp: 72929 (WebCore::HTMLBodyElement::parseMappedAttribute): 72930 * html/HTMLButtonElement.cpp: 72931 (WebCore::HTMLButtonElement::parseMappedAttribute): 72932 (WebCore::HTMLButtonElement::defaultEventHandler): 72933 * html/HTMLElement.cpp: 72934 (WebCore::HTMLElement::parseMappedAttribute): 72935 * html/HTMLFormControlElement.cpp: 72936 (WebCore::HTMLFormControlElement::onChange): 72937 * html/HTMLFormElement.cpp: 72938 (WebCore::HTMLFormElement::handleLocalEvents): 72939 (WebCore::HTMLFormElement::prepareSubmit): 72940 (WebCore::HTMLFormElement::reset): 72941 (WebCore::HTMLFormElement::parseMappedAttribute): 72942 * html/HTMLFrameElementBase.cpp: 72943 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 72944 * html/HTMLFrameSetElement.cpp: 72945 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 72946 * html/HTMLImageElement.cpp: 72947 (WebCore::HTMLImageElement::parseMappedAttribute): 72948 * html/HTMLImageLoader.cpp: 72949 (WebCore::HTMLImageLoader::dispatchLoadEvent): 72950 * html/HTMLInputElement.cpp: 72951 (WebCore::HTMLInputElement::parseMappedAttribute): 72952 (WebCore::HTMLInputElement::setValueFromRenderer): 72953 (WebCore::HTMLInputElement::preDispatchEventHandler): 72954 (WebCore::HTMLInputElement::postDispatchEventHandler): 72955 (WebCore::HTMLInputElement::defaultEventHandler): 72956 (WebCore::HTMLInputElement::onSearch): 72957 * html/HTMLLabelElement.cpp: 72958 (WebCore::HTMLLabelElement::defaultEventHandler): 72959 * html/HTMLMediaElement.cpp: 72960 (WebCore::HTMLMediaElement::load): 72961 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): 72962 (WebCore::HTMLMediaElement::setReadyState): 72963 (WebCore::HTMLMediaElement::progressEventTimerFired): 72964 (WebCore::HTMLMediaElement::seek): 72965 (WebCore::HTMLMediaElement::setDefaultPlaybackRate): 72966 (WebCore::HTMLMediaElement::setPlaybackRate): 72967 (WebCore::HTMLMediaElement::play): 72968 (WebCore::HTMLMediaElement::pause): 72969 (WebCore::HTMLMediaElement::setVolume): 72970 (WebCore::HTMLMediaElement::setMuted): 72971 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): 72972 (WebCore::HTMLMediaElement::documentWillBecomeInactive): 72973 * html/HTMLObjectElement.cpp: 72974 (WebCore::HTMLObjectElement::parseMappedAttribute): 72975 * html/HTMLOptionElement.cpp: 72976 * html/HTMLScriptElement.cpp: 72977 (WebCore::HTMLScriptElement::parseMappedAttribute): 72978 (WebCore::HTMLScriptElement::dispatchLoadEvent): 72979 (WebCore::HTMLScriptElement::dispatchErrorEvent): 72980 * html/HTMLSelectElement.cpp: 72981 (WebCore::HTMLSelectElement::parseMappedAttribute): 72982 (WebCore::HTMLSelectElement::defaultEventHandler): 72983 (WebCore::HTMLSelectElement::menuListDefaultEventHandler): 72984 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): 72985 * html/HTMLTextAreaElement.cpp: 72986 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 72987 (WebCore::HTMLTextAreaElement::defaultEventHandler): 72988 * html/HTMLTokenizer.cpp: 72989 (WebCore::HTMLTokenizer::notifyFinished): 72990 * loader/FrameLoader.cpp: 72991 (WebCore::FrameLoader::stopLoading): 72992 (WebCore::FrameLoader::canCachePage): 72993 * loader/ImageDocument.cpp: 72994 (WebCore::ImageEventListener::handleEvent): 72995 * loader/ImageLoader.cpp: 72996 * loader/MediaDocument.cpp: 72997 (WebCore::MediaDocument::defaultEventHandler): 72998 * loader/appcache/DOMApplicationCache.cpp: 72999 (WebCore::DOMApplicationCache::callCheckingListener): 73000 (WebCore::DOMApplicationCache::callErrorListener): 73001 (WebCore::DOMApplicationCache::callNoUpdateListener): 73002 (WebCore::DOMApplicationCache::callDownloadingListener): 73003 (WebCore::DOMApplicationCache::callProgressListener): 73004 (WebCore::DOMApplicationCache::callUpdateReadyListener): 73005 (WebCore::DOMApplicationCache::callCachedListener): 73006 * page/AccessibilityObject.cpp: 73007 * page/AccessibilityRenderObject.cpp: 73008 (WebCore::AccessibilityRenderObject::mouseButtonListener): 73009 * page/ContextMenuController.cpp: 73010 (WebCore::ContextMenuController::handleContextMenuEvent): 73011 * page/DOMWindow.cpp: 73012 (WebCore::DOMWindow::on*): (multiple methods) 73013 (WebCore::DOMWindow::setOn*): (multiple methods) 73014 * page/EventHandler.cpp: 73015 (WebCore::EventHandler::handleMousePressEvent): 73016 (WebCore::EventHandler::handleMouseDoubleClickEvent): 73017 (WebCore::EventHandler::handleMouseMoveEvent): 73018 (WebCore::EventHandler::handleMouseReleaseEvent): 73019 (WebCore::EventHandler::updateDragAndDrop): 73020 (WebCore::EventHandler::cancelDragAndDrop): 73021 (WebCore::EventHandler::performDragAndDrop): 73022 (WebCore::EventHandler::updateMouseEventTargetNode): 73023 (WebCore::EventHandler::dispatchMouseEvent): 73024 (WebCore::EventHandler::sendContextMenuEvent): 73025 (WebCore::EventHandler::canMouseDownStartSelect): 73026 (WebCore::EventHandler::canMouseDragExtendSelect): 73027 (WebCore::EventHandler::defaultKeyboardEventHandler): 73028 (WebCore::EventHandler::dragSourceMovedTo): 73029 (WebCore::EventHandler::dragSourceEndedAt): 73030 (WebCore::EventHandler::handleDrag): 73031 (WebCore::EventHandler::handleTextInputEvent): 73032 * page/FocusController.cpp: 73033 * page/Frame.cpp: 73034 (WebCore::Frame::sendResizeEvent): 73035 (WebCore::Frame::sendScrollEvent): 73036 * page/Page.cpp: 73037 (WebCore::networkStateChanged): 73038 * page/animation/AnimationBase.cpp: 73039 (WebCore::AnimationBase::updateStateMachine): 73040 (WebCore::AnimationBase::animationTimerCallbackFired): 73041 (WebCore::AnimationBase::primeEventTimers): 73042 * page/animation/ImplicitAnimation.cpp: 73043 (WebCore::ImplicitAnimation::onAnimationEnd): 73044 (WebCore::ImplicitAnimation::sendTransitionEvent): 73045 * page/animation/KeyframeAnimation.cpp: 73046 (WebCore::KeyframeAnimation::onAnimationStart): 73047 (WebCore::KeyframeAnimation::onAnimationIteration): 73048 (WebCore::KeyframeAnimation::onAnimationEnd): 73049 (WebCore::KeyframeAnimation::sendAnimationEvent): 73050 * page/gtk/EventHandlerGtk.cpp: 73051 * page/mac/EventHandlerMac.mm: 73052 (WebCore::isKeyboardOptionTab): 73053 * page/mac/FrameMac.mm: 73054 * page/qt/EventHandlerQt.cpp: 73055 (WebCore::isKeyboardOptionTab): 73056 * plugins/PluginView.cpp: 73057 * plugins/gtk/PluginViewGtk.cpp: 73058 * plugins/qt/PluginViewQt.cpp: 73059 * plugins/win/PluginViewWin.cpp: 73060 (WebCore::PluginView::handleKeyboardEvent): 73061 (WebCore::PluginView::handleMouseEvent): 73062 * rendering/MediaControlElements.cpp: 73063 (WebCore::MediaControlMuteButtonElement::defaultEventHandler): 73064 (WebCore::MediaControlPlayButtonElement::defaultEventHandler): 73065 (WebCore::MediaControlSeekButtonElement::defaultEventHandler): 73066 (WebCore::MediaControlTimelineElement::defaultEventHandler): 73067 (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): 73068 * rendering/RenderFrameSet.cpp: 73069 (WebCore::RenderFrameSet::userResize): 73070 * rendering/RenderLayer.cpp: 73071 (WebCore::RenderLayer::scrollToOffset): 73072 * rendering/RenderListBox.cpp: 73073 (WebCore::RenderListBox::valueChanged): 73074 * rendering/RenderMedia.cpp: 73075 (WebCore::RenderMedia::forwardEvent): 73076 * rendering/RenderObject.cpp: 73077 * rendering/RenderSlider.cpp: 73078 (WebCore::HTMLSliderThumbElement::defaultEventHandler): 73079 * rendering/RenderTextControl.cpp: 73080 (WebCore::RenderTextControl::forwardEvent): 73081 (WebCore::RenderTextControl::selectionChanged): 73082 * rendering/RenderWidget.cpp: 73083 * rendering/TextControlInnerElements.cpp: 73084 (WebCore::TextControlInnerTextElement::defaultEventHandler): 73085 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): 73086 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): 73087 * storage/LocalStorageArea.cpp: 73088 (WebCore::LocalStorageArea::dispatchStorageEvent): 73089 * storage/SessionStorageArea.cpp: 73090 (WebCore::SessionStorageArea::dispatchStorageEvent): 73091 * svg/SVGAElement.cpp: 73092 (WebCore::SVGAElement::defaultEventHandler): 73093 * svg/SVGDocument.cpp: 73094 (WebCore::SVGDocument::dispatchZoomEvent): 73095 (WebCore::SVGDocument::dispatchScrollEvent): 73096 * svg/SVGElement.cpp: 73097 (WebCore::SVGElement::parseMappedAttribute): 73098 (WebCore::hasLoadListener): 73099 (WebCore::SVGElement::sendSVGLoadEventIfPossible): 73100 * svg/SVGElementInstance.cpp: 73101 (WebCore::SVGElementInstance::on*): (multiple methods) 73102 (WebCore::SVGElementInstance::setOn*): (multiple methods) 73103 * svg/SVGImageLoader.cpp: 73104 (WebCore::SVGImageLoader::dispatchLoadEvent): 73105 * svg/SVGSVGElement.cpp: 73106 (WebCore::SVGSVGElement::parseMappedAttribute): 73107 * svg/SVGScriptElement.cpp: 73108 (WebCore::SVGScriptElement::dispatchErrorEvent): 73109 * xml/XMLHttpRequest.cpp: 73110 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent): 73111 (WebCore::XMLHttpRequest::dispatchAbortEvent): 73112 (WebCore::XMLHttpRequest::dispatchErrorEvent): 73113 (WebCore::XMLHttpRequest::dispatchLoadEvent): 73114 (WebCore::XMLHttpRequest::dispatchLoadStartEvent): 73115 (WebCore::XMLHttpRequest::dispatchProgressEvent): 73116 * xml/XMLHttpRequestUpload.cpp: 73117 (WebCore::XMLHttpRequestUpload::dispatchAbortEvent): 73118 (WebCore::XMLHttpRequestUpload::dispatchErrorEvent): 73119 (WebCore::XMLHttpRequestUpload::dispatchLoadEvent): 73120 (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent): 73121 (WebCore::XMLHttpRequestUpload::dispatchProgressEvent): 73122 * xml/XPathResult.cpp: 73123 (WebCore::XPathResult::XPathResult): 73124 (WebCore::XPathResult::~XPathResult): 73125 (WebCore::XPathResult::invalidateIteratorState): 73126 Access event names via eventNames() function. 73127 73128 2008-11-04 Cameron Zwarich <zwarich (a] apple.com> 73129 73130 Reviewed by Mark Rowe. 73131 73132 Delete unused forwarding headers. 73133 73134 * ForwardingHeaders/kjs/Activation.h: Removed. 73135 * ForwardingHeaders/kjs/Register.h: Removed. 73136 * ForwardingHeaders/kjs/RegisterID.h: Removed. 73137 73138 2008-11-04 Cameron Zwarich <zwarich (a] apple.com> 73139 73140 Not reviewed. 73141 73142 Fix stupid typo in previous build fix. 73143 73144 * bindings/js/JSStorageCustom.cpp: 73145 * bindings/scripts/CodeGeneratorJS.pm: 73146 * bridge/NP_jsobject.cpp: 73147 73148 2008-11-03 Cameron Zwarich <zwarich (a] apple.com> 73149 73150 Not reviewed. 73151 73152 Fix the build for all non-Mac platforms. 73153 73154 * ForwardingHeaders/kjs/PropertyNameArray.h: Removed. 73155 * ForwardingHeaders/runtime/PropertyNameArray.h: Copied from ForwardingHeaders/kjs/PropertyNameArray.h. 73156 * bindings/js/JSStorageCustom.cpp: 73157 * bindings/scripts/CodeGeneratorJS.pm: 73158 * bridge/NP_jsobject.cpp: 73159 73160 2008-11-03 Cameron Zwarich <zwarich (a] apple.com> 73161 73162 Not reviewed. 73163 73164 Fix the wxWindows build. 73165 73166 * bridge/c/c_instance.cpp: 73167 73168 2008-11-03 Cameron Zwarich <zwarich (a] apple.com> 73169 73170 Rubber-stamped by Maciej Stachowiak. 73171 73172 Move more files into the runtime subdirectory of JavaScriptCore. 73173 73174 * ForwardingHeaders/kjs/ArgList.h: Removed. 73175 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Removed. 73176 * ForwardingHeaders/kjs/ExecState.h: Removed. 73177 * ForwardingHeaders/kjs/InitializeThreading.h: Removed. 73178 * ForwardingHeaders/kjs/JSGlobalData.h: Removed. 73179 * ForwardingHeaders/kjs/JSLock.h: Removed. 73180 * ForwardingHeaders/kjs/SymbolTable.h: Removed. 73181 * ForwardingHeaders/runtime/ArgList.h: Copied from ForwardingHeaders/kjs/ArgList.h. 73182 * ForwardingHeaders/runtime/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/CollectorHeapIterator.h. 73183 * ForwardingHeaders/runtime/ExecState.h: Copied from ForwardingHeaders/kjs/ExecState.h. 73184 * ForwardingHeaders/runtime/InitializeThreading.h: Copied from ForwardingHeaders/kjs/InitializeThreading.h. 73185 * ForwardingHeaders/runtime/JSGlobalData.h: Copied from ForwardingHeaders/kjs/JSGlobalData.h. 73186 * ForwardingHeaders/runtime/JSLock.h: Copied from ForwardingHeaders/kjs/JSLock.h. 73187 * ForwardingHeaders/runtime/SymbolTable.h: Copied from ForwardingHeaders/kjs/SymbolTable.h. 73188 * bindings/js/GCController.cpp: 73189 * bindings/js/JSCustomPositionCallback.cpp: 73190 * bindings/js/JSCustomPositionErrorCallback.cpp: 73191 * bindings/js/JSCustomSQLStatementCallback.cpp: 73192 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 73193 * bindings/js/JSCustomSQLTransactionCallback.cpp: 73194 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 73195 * bindings/js/JSCustomVoidCallback.cpp: 73196 * bindings/js/JSCustomXPathNSResolver.cpp: 73197 * bindings/js/JSDOMWindowBase.cpp: 73198 * bindings/js/JSEventCustom.cpp: 73199 * bindings/js/JSEventListener.cpp: 73200 * bindings/js/JSNodeFilterCondition.cpp: 73201 * bindings/js/ScheduledAction.cpp: 73202 * bindings/js/ScriptController.cpp: 73203 * bindings/js/ScriptControllerMac.mm: 73204 * bindings/objc/WebScriptObject.mm: 73205 * bridge/NP_jsobject.cpp: 73206 * bridge/c/c_class.cpp: 73207 * bridge/c/c_instance.cpp: 73208 * bridge/c/c_runtime.cpp: 73209 * bridge/c/c_utility.cpp: 73210 * bridge/jni/jni_class.cpp: 73211 * bridge/jni/jni_instance.cpp: 73212 * bridge/jni/jni_jsobject.mm: 73213 * bridge/jni/jni_objc.mm: 73214 * bridge/jni/jni_runtime.cpp: 73215 * bridge/jni/jni_runtime.h: 73216 * bridge/jni/jni_utility.cpp: 73217 * bridge/npruntime.cpp: 73218 * bridge/objc/objc_instance.mm: 73219 * bridge/objc/objc_runtime.mm: 73220 * bridge/objc/objc_utility.mm: 73221 * bridge/runtime.cpp: 73222 * dom/Document.cpp: 73223 * dom/Node.cpp: 73224 * dom/NodeFilter.cpp: 73225 * dom/NodeIterator.cpp: 73226 * dom/TreeWalker.cpp: 73227 * history/CachedPage.cpp: 73228 * inspector/InspectorController.cpp: 73229 * inspector/JavaScriptCallFrame.cpp: 73230 * inspector/JavaScriptCallFrame.h: 73231 * inspector/JavaScriptDebugServer.cpp: 73232 * inspector/JavaScriptProfileNode.cpp: 73233 * loader/FrameLoader.cpp: 73234 * loader/icon/IconDatabase.cpp: 73235 * page/Console.cpp: 73236 * page/Page.cpp: 73237 * page/mac/FrameMac.mm: 73238 * plugins/PluginView.cpp: 73239 * plugins/gtk/PluginViewGtk.cpp: 73240 * plugins/qt/PluginViewQt.cpp: 73241 * plugins/win/PluginViewWin.cpp: 73242 * storage/Database.cpp: 73243 * xml/XMLHttpRequest.cpp: 73244 73245 2008-11-03 Cameron Zwarich <zwarich (a] apple.com> 73246 73247 Reviewed by Sam Weinig. 73248 73249 Remove the forwarding header for FunctionCallProfile, because it was 73250 renamed to ProfileNode in r33466. 73251 73252 * ForwardingHeaders/kjs/FunctionCallProfile.h: Removed. 73253 73254 2008-11-03 Simon Fraser <simon.fraser (a] apple.com> 73255 73256 Reviewed by Dave Hyatt 73257 73258 https://bugs.webkit.org/show_bug.cgi?id=22026 73259 73260 When computing the bounds of the transparency layer, we need to 73261 map the clipRect through the enclosing transform. 73262 73263 Test: fast/layers/opacity-transforms.html 73264 73265 * rendering/RenderLayer.cpp: 73266 (WebCore::transparencyClipBox): 73267 73268 2008-11-03 Kevin Decker <kdecker (a] apple.com> 73269 73270 Reviewed by Anders Carlsson. 73271 73272 https://bugs.webkit.org/show_bug.cgi?id=22053 73273 73274 Added additional support needed for the NPDrawingModelCoreAnimation drawing model. 73275 73276 * bridge/npapi.h: 73277 73278 2008-11-03 Xan Lopez <xan (a] gnome.org> 73279 73280 Reviewed by Alp Toker. 73281 73282 Update parseDataUrl() function in the libsoup http backend with 73283 the one from the curl backend which has recent correctness and crash 73284 fixes. 73285 73286 * platform/network/soup/ResourceHandleSoup.cpp: 73287 (WebCore::parseDataUrl): 73288 73289 2008-11-03 Holger Hans Peter Freyther <zecke (a] selfish.org> 73290 73291 Reviewed by Alp Toker. 73292 73293 https://bugs.webkit.org/show_bug.cgi?id=22041 73294 Fix CURL crashes on the test suite 73295 73296 Fix segfault with setDefersLoading(). Do not call into curl when we 73297 don't have a CURL handle. 73298 73299 It is attempted to defer the loading before the load has been 73300 started (no curl handle was allocated yet). If that happens then 73301 just remember that. ResourceHandleManager::startJob is already taking 73302 care of this and in initResourceHandle the the downloading will 73303 be paused if needed. 73304 73305 Fixes fast/loader/simultaneous-reloads-assert.html 73306 73307 * platform/network/curl/ResourceHandleCurl.cpp: 73308 (WebCore::ResourceHandle::setDefersLoading): 73309 73310 2008-11-03 Holger Hans Peter Freyther <zecke (a] selfish.org> 73311 73312 Reviewed by Alp Toker. 73313 73314 https://bugs.webkit.org/show_bug.cgi?id=22041 73315 Fix CURL crashes on the test suite 73316 73317 Do not send "no data" to WebCore in parseDataUrl(). 73318 73319 Fixes assert on fast/tokenizer/image-empty-crash.html 73320 73321 * platform/network/curl/ResourceHandleManager.cpp: 73322 (WebCore::parseDataUrl): 73323 73324 2008-11-02 Xan Lopez <xan (a] gnome.org> 73325 73326 Reviewed by Holger Freyther. 73327 73328 https://bugs.webkit.org/show_bug.cgi?id=22009 73329 HTML5 Video with GStreamer pulls gnome-vfs without using it 73330 73331 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 73332 Remove gnome-vfs include. 73333 73334 2008-11-01 Adam Barth <abarth (a] webkit.org> 73335 73336 Reviewed by Sam Weinig. 73337 73338 Be sure to check the final URLs of requested resources to make sure we 73339 don't get fooled by HTTP redirects. 73340 73341 https://bugs.webkit.org/show_bug.cgi?id=21963 73342 73343 Tests: http/tests/security/xss-DENIED-xsl-document-redirect.xml 73344 http/tests/security/xss-DENIED-xsl-external-entity-redirect.xml 73345 73346 * dom/XMLTokenizerLibxml2.cpp: 73347 (WebCore::openFunc): 73348 * loader/DocLoader.cpp: 73349 (WebCore::DocLoader::canRequest): 73350 (WebCore::DocLoader::requestResource): 73351 * loader/DocLoader.h: 73352 * xml/XSLTProcessor.cpp: 73353 (WebCore::docLoaderFunc): 73354 73355 2008-11-01 Alexey Proskuryakov <ap (a] webkit.org> 73356 73357 Reviewed by Darin Adler. 73358 73359 https://bugs.webkit.org/show_bug.cgi?id=22001 73360 AtomicStringImpl* keys of event listener maps can outlive their strings 73361 73362 Test: fast/events/destroyed-atomic-string.html 73363 73364 * dom/MessagePort.cpp: 73365 (WebCore::MessagePort::addEventListener): 73366 (WebCore::MessagePort::removeEventListener): 73367 (WebCore::MessagePort::dispatchEvent): 73368 * dom/MessagePort.h: 73369 * loader/appcache/DOMApplicationCache.cpp: 73370 (WebCore::DOMApplicationCache::addEventListener): 73371 (WebCore::DOMApplicationCache::removeEventListener): 73372 (WebCore::DOMApplicationCache::dispatchEvent): 73373 * loader/appcache/DOMApplicationCache.h: 73374 * xml/XMLHttpRequest.cpp: 73375 (WebCore::XMLHttpRequest::addEventListener): 73376 (WebCore::XMLHttpRequest::removeEventListener): 73377 (WebCore::XMLHttpRequest::dispatchEvent): 73378 * xml/XMLHttpRequest.h: 73379 * xml/XMLHttpRequestUpload.cpp: 73380 (WebCore::XMLHttpRequestUpload::addEventListener): 73381 (WebCore::XMLHttpRequestUpload::removeEventListener): 73382 (WebCore::XMLHttpRequestUpload::dispatchEvent): 73383 * xml/XMLHttpRequestUpload.h: 73384 Changed EventListenersMap to use AtomicString as key (instead of AtomicStringImpl*). 73385 73386 2008-10-31 Alexey Proskuryakov <ap (a] webkit.org> 73387 73388 Reviewed by Darin Adler. 73389 73390 https://bugs.webkit.org/show_bug.cgi?id=21998 73391 Use JSDOMGlobalObject in EventListener-related bindings 73392 73393 * dom/MessagePort.idl: Auto-generate bindings for onclose and onmessage. 73394 73395 * bindings/scripts/CodeGeneratorJS.pm: Use JSDOMGlobalObject instead of JSDOMWindow in JS 73396 bindings for inline event handlers. 73397 73398 * bindings/js/JSDOMApplicationCacheCustom.cpp: 73399 (WebCore::JSDOMApplicationCache::addEventListener): 73400 (WebCore::JSDOMApplicationCache::removeEventListener): 73401 * bindings/js/JSEventTargetNodeCustom.cpp: 73402 (WebCore::JSEventTargetNode::addEventListener): 73403 (WebCore::JSEventTargetNode::removeEventListener): 73404 * bindings/js/JSMessagePortCustom.cpp: 73405 (WebCore::JSMessagePort::removeEventListener): 73406 * bindings/js/JSSVGElementInstanceCustom.cpp: 73407 (WebCore::JSSVGElementInstance::addEventListener): 73408 (WebCore::JSSVGElementInstance::removeEventListener): 73409 * bindings/js/JSXMLHttpRequestCustom.cpp: 73410 (WebCore::JSXMLHttpRequest::addEventListener): 73411 (WebCore::JSXMLHttpRequest::removeEventListener): 73412 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 73413 (WebCore::JSXMLHttpRequestUpload::addEventListener): 73414 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 73415 Use ScriptExecutionContext and JSDOMGlobalObject in bindings. 73416 73417 * dom/EventTarget.h: 73418 * dom/EventTargetNode.cpp: 73419 (WebCore::EventTargetNode::scriptExecutionContext): 73420 * dom/EventTargetNode.h: 73421 * dom/MessagePort.cpp: 73422 * dom/MessagePort.h: 73423 (WebCore::MessagePort::scriptExecutionContext): 73424 * loader/appcache/DOMApplicationCache.cpp: 73425 (WebCore::DOMApplicationCache::scriptExecutionContext): 73426 * loader/appcache/DOMApplicationCache.h: 73427 * svg/SVGElementInstance.cpp: 73428 (WebCore::SVGElementInstance::scriptExecutionContext): 73429 * svg/SVGElementInstance.h: 73430 * xml/XMLHttpRequest.cpp: 73431 (WebCore::XMLHttpRequest::scriptExecutionContext): 73432 * xml/XMLHttpRequest.h: 73433 * xml/XMLHttpRequestUpload.cpp: 73434 (WebCore::XMLHttpRequestUpload::scriptExecutionContext): 73435 * xml/XMLHttpRequestUpload.h: 73436 Remove associatedFrame() method, and provide scriptExecutionContext() where it wasn't 73437 available yet. 73438 73439 2008-10-31 Cameron Zwarich <zwarich (a] apple.com> 73440 73441 Rubber-stamped by Geoff Garen. 73442 73443 Rename SourceRange.h to SourceCode.h. 73444 73445 * ForwardingHeaders/kjs/SourceCode.h: Copied from ForwardingHeaders/kjs/SourceRange.h. 73446 * ForwardingHeaders/kjs/SourceRange.h: Removed. 73447 * bindings/js/StringSourceProvider.h: 73448 * bridge/NP_jsobject.cpp: 73449 73450 2008-10-31 Cameron Zwarich <zwarich (a] apple.com> 73451 73452 Reviewed by Darin Adler. 73453 73454 Bug 22019: Move JSC::Interpreter::shouldPrintExceptions() to WebCore::Console 73455 <https://bugs.webkit.org/show_bug.cgi?id=22019> 73456 73457 * WebCore.base.exp: 73458 * page/Console.cpp: 73459 (WebCore::printToStandardOut): 73460 (WebCore::Console::shouldPrintExceptions): 73461 (WebCore::Console::setShouldPrintExceptions): 73462 * page/Console.h: 73463 73464 2008-10-31 Dan Bernstein <mitz (a] apple.com> 73465 73466 Reviewed by John Sullivan. 73467 73468 - WebCore part of <rdar://problem/6334641> Add WebView SPI for disabling document.cookie 73469 73470 * dom/Document.cpp: 73471 (WebCore::Document::cookie): Added checking if cookies are disabled. 73472 (WebCore::Document::setCookie): Ditto. 73473 * page/Navigator.cpp: 73474 (WebCore::Navigator::cookieEnabled): Ditto. 73475 * page/Page.cpp: 73476 (WebCore::Page::Page): Initialize m_cookieEnabled to true. 73477 * page/Page.h: 73478 (WebCore::Page::cookieEnabled): Added. 73479 (WebCore::Page::setCookieEnabled): Added. 73480 73481 2008-10-31 Adele Peterson <adele (a] apple.com> 73482 73483 Reviewed by Darin Adler. 73484 73485 WebCore Windows part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload. 73486 https://bugs.webkit.org/show_bug.cgi?id=22008 73487 73488 * platform/FileChooser.cpp: (WebCore::FileChooser::chooseIcon): 73489 Rename newIconForFile and newIconForFiles to createIconForFile and createIconForFiles. 73490 * platform/graphics/Icon.h: ditto. 73491 * platform/graphics/gtk/IconGtk.cpp: 73492 (WebCore::Icon::createIconForFile): ditto. 73493 (WebCore::Icon::createIconForFiles): ditto. 73494 * platform/graphics/mac/IconMac.mm: 73495 (WebCore::Icon::createIconForFile): ditto. 73496 (WebCore::Icon::createIconForFiles): ditto. 73497 * platform/graphics/qt/IconQt.cpp: 73498 (WebCore::Icon::createIconForFile): ditto. 73499 (WebCore::Icon::createIconForFiles): ditto. 73500 * platform/wx/TemporaryLinkStubs.cpp: 73501 (Icon::createIconForFile): ditto. 73502 (Icon::createIconForFiles): ditto. 73503 * platform/graphics/win/IconWin.cpp: 73504 (WebCore::Icon::createIconForFile): ditto. 73505 (WebCore::Icon::createIconForFiles): Add creation of an icon for multiple files. 73506 73507 * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): 73508 Improve icon creation code to match new code in Icon::createIconForFiles 73509 73510 2008-10-31 Timothy Hatcher <timothy (a] apple.com> 73511 73512 Add manual tests that check breakpoints on a blockless body of "for" loops. 73513 73514 https://bugs.webkit.org/show_bug.cgi?id=22004 73515 73516 Reviewed by Darin Adler. 73517 73518 * manual-tests/inspector/debugger-pause-on-for-in-statements.html: Added. 73519 * manual-tests/inspector/debugger-pause-on-for-statements.html: Added. 73520 73521 2008-10-31 Darin Adler <darin (a] apple.com> 73522 73523 - fix build 73524 73525 * platform/win/WCDataObject.cpp: Added missing include of "config.h". 73526 73527 2008-10-30 Alexey Proskuryakov <ap (a] webkit.org> 73528 73529 Reviewed by Darin Adler. 73530 73531 https://bugs.webkit.org/show_bug.cgi?id=21970 73532 Make MessagePort event dispatch work in workers 73533 73534 * bindings/js/JSDOMGlobalObject.cpp: 73535 (WebCore::JSDOMGlobalObject::JSDOMGlobalObjectData::JSDOMGlobalObjectData): 73536 (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): 73537 (WebCore::JSDOMGlobalObject::findJSEventListener): 73538 (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener): 73539 (WebCore::JSDOMGlobalObject::findJSUnprotectedEventListener): 73540 (WebCore::JSDOMGlobalObject::findOrCreateJSUnprotectedEventListener): 73541 (WebCore::JSDOMGlobalObject::jsEventListeners): 73542 (WebCore::JSDOMGlobalObject::jsInlineEventListeners): 73543 (WebCore::JSDOMGlobalObject::jsUnprotectedEventListeners): 73544 (WebCore::JSDOMGlobalObject::jsUnprotectedInlineEventListeners): 73545 (WebCore::JSDOMGlobalObject::setCurrentEvent): 73546 (WebCore::JSDOMGlobalObject::currentEvent): 73547 (WebCore::toJSDOMGlobalObject): 73548 * bindings/js/JSDOMGlobalObject.h: 73549 * bindings/js/JSDOMWindowBase.cpp: 73550 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): 73551 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 73552 (WebCore::JSDOMWindowBase::clearHelperObjectProperties): 73553 * bindings/js/JSDOMWindowBase.h: 73554 Moved event listener tracking from JSDOMWindow to JSDOMGlobalObject. 73555 73556 * bindings/js/JSEventListener.cpp: 73557 (WebCore::JSAbstractEventListener::handleEvent): 73558 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): 73559 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): 73560 (WebCore::JSUnprotectedEventListener::globalObject): 73561 (WebCore::JSUnprotectedEventListener::clearGlobalObject): 73562 (WebCore::JSEventListener::JSEventListener): 73563 (WebCore::JSEventListener::~JSEventListener): 73564 (WebCore::JSEventListener::globalObject): 73565 (WebCore::JSEventListener::clearGlobalObject): 73566 (WebCore::JSLazyEventListener::JSLazyEventListener): 73567 (WebCore::JSLazyEventListener::parseCode): 73568 * bindings/js/JSEventListener.h: 73569 (WebCore::JSUnprotectedEventListener::create): 73570 (WebCore::JSEventListener::create): 73571 (WebCore::JSLazyEventListener::create): 73572 Changed to use JSDOMGlobalObject and ScriptExecutionContext. 73573 73574 * bindings/js/JSMessagePortCustom.cpp: 73575 (WebCore::JSMessagePort::startConversation): 73576 (WebCore::JSMessagePort::addEventListener): 73577 (WebCore::JSMessagePort::removeEventListener): 73578 (WebCore::JSMessagePort::setOnmessage): 73579 (WebCore::JSMessagePort::setOnclose): 73580 Updated bindings to work with JSDOMGlobalObject. Next step is to make code generator emit 73581 such code, and stop using a custom implementation for JSMessagePort inline event handler 73582 getters and setters. 73583 73584 * dom/Document.cpp: 73585 (WebCore::Document::virtualURL): 73586 * dom/Document.h: 73587 * dom/ScriptExecutionContext.h: 73588 Expose url() method on ScriptExecutionContext (necessary for compiling scripts in 73589 JSLazyEventListener). 73590 73591 2008-10-31 Cameron Zwarich <zwarich (a] apple.com> 73592 73593 Not reviewed. 73594 73595 Speculative wxWindows build fix. 73596 73597 * webcore-base.bkl: 73598 73599 2008-10-30 Mark Rowe <mrowe (a] apple.com> 73600 73601 Reviewed by Jon Homeycutt. 73602 73603 Explicitly default to building for only the native architecture in debug and release builds. 73604 73605 * Configurations/DebugRelease.xcconfig: 73606 73607 2008-10-30 Cameron Zwarich <zwarich (a] apple.com> 73608 73609 Rubber-stamped by Sam Weinig. 73610 73611 Create a debugger directory in JavaScriptCore and move the relevant 73612 files to it. 73613 73614 * ForwardingHeaders/debugger: Added. 73615 * ForwardingHeaders/debugger/Debugger.h: Copied from ForwardingHeaders/kjs/debugger.h. 73616 * ForwardingHeaders/debugger/DebuggerCallFrame.h: Copied from ForwardingHeaders/kjs/DebuggerCallFrame.h. 73617 * ForwardingHeaders/kjs/DebuggerCallFrame.h: Removed. 73618 * ForwardingHeaders/kjs/debugger.h: Removed. 73619 * WebCore.pro: 73620 * bindings/js/ScriptController.cpp: 73621 * inspector/JavaScriptCallFrame.cpp: 73622 * inspector/JavaScriptCallFrame.h: 73623 * inspector/JavaScriptDebugServer.cpp: 73624 * inspector/JavaScriptDebugServer.h: 73625 73626 2008-10-30 Tony Chang <tony (a] chromium.org> 73627 73628 Fix 2 Windows theme bugs: 73629 1) Checkboxes marked readonly were rendered incorrectly 73630 2) If a button has focus and is pressed, it was rendered 73631 as focused rather than pressed. 73632 73633 https://bugs.webkit.org/show_bug.cgi?id=21859 73634 73635 Reviewed by Dave Hyatt. 73636 73637 * rendering/RenderThemeWin.cpp: 73638 (WebCore::RenderThemeWin::determineState): 73639 (WebCore::RenderThemeWin::determineButtonState): 73640 73641 2008-10-30 Benjamin K. Stuhl <bks24 (a] cornell.edu> 73642 73643 gcc 4.3.3/linux-x86 generates "suggest parentheses around && within ||" 73644 warnings; add some parentheses to disambiguate things. No functional 73645 changes, so no tests. 73646 73647 https://bugs.webkit.org/show_bug.cgi?id=21973 73648 Add parentheses to clean up some gcc warnings 73649 73650 Reviewed by Dan Bernstein. 73651 73652 * platform/graphics/Font.h: 73653 (WebCore::Font::treatAsZeroWidthSpace): 73654 73655 2008-10-30 Aaron Boodman <aa (a] chromium.org> 73656 73657 Added an explicit dependency on HashMap.h. It was getting pulled in via 73658 <kjs/identifier.h> in the case of JSC, causing errors for the Chromium port. 73659 73660 Reviewed by Darin Adler. 73661 73662 * platform/text/PlatformString.h: 73663 73664 2008-10-30 Greg Bolsinga <bolsinga (a] apple.com> 73665 73666 Reviewed by Sam Weinig 73667 73668 https://bugs.webkit.org/show_bug.cgi?id=21967 73669 73670 For some platforms the GeolocationService must be suspended and resumed. 73671 73672 * page/Geolocation.cpp: 73673 (WebCore::Geolocation::clearWatch): now uses Geolocation::hasListeners() 73674 (WebCore::Geolocation::suspend): calls GeolocationService::suspend() if there are listeners 73675 (WebCore::Geolocation::resume): calls GeolocationService::resume() if there are listeners 73676 (WebCore::Geolocation::geolocationServicePositionChanged): now uses Geolocation::hasListeners() 73677 * page/Geolocation.h: 73678 (WebCore::Geolocation::hasListeners): Indicates of the Geolocation has interested GeolocationService listeners 73679 * platform/GeolocationService.h: 73680 (WebCore::GeolocationService::suspend): empty implementation 73681 (WebCore::GeolocationService::resume): empty implementation 73682 73683 2008-10-30 Greg Bolsinga <bolsinga (a] apple.com> 73684 73685 Reviewed by Sam Weinig 73686 73687 https://bugs.webkit.org/show_bug.cgi?id=21966 73688 73689 The Geolocation spec was updated on 10/27/2008. This brings WebCore up to date. 73690 http://dev.w3.org/geo/api/spec-source.html 73691 73692 * page/Geolocation.cpp: 73693 (WebCore::Geolocation::GeoNotifier::GeoNotifier): PositionOptions' timeout now unsigned 73694 * page/Geoposition.cpp: velocity is now called speed 73695 (WebCore::Geoposition::toString): 73696 * page/Geoposition.h: velocity is now called speed 73697 (WebCore::Geoposition::create): 73698 (WebCore::Geoposition::speed): 73699 (WebCore::Geoposition::Geoposition): 73700 * page/Geoposition.idl: velocity is now called speed 73701 * page/PositionOptions.h: timeout is now unsigned 73702 (WebCore::PositionOptions::create): 73703 (WebCore::PositionOptions::timeout): 73704 (WebCore::PositionOptions::setTimeout): 73705 (WebCore::PositionOptions::PositionOptions): 73706 * page/PositionOptions.idl: timeout is now unsigned long 73707 73708 2008-10-30 Justin Garcia <justin.garcia (a] apple.com> 73709 73710 Also handle preserved newlines. 73711 73712 * editing/BreakBlockquoteCommand.cpp: 73713 (WebCore::BreakBlockquoteCommand::doApply): 73714 73715 2008-10-30 Justin Garcia <justin.garcia (a] apple.com> 73716 73717 Reviewed by Beth Dakin. 73718 73719 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line 73720 73721 * editing/BreakBlockquoteCommand.cpp: 73722 (WebCore::BreakBlockquoteCommand::doApply): 73723 Don't store the endingSelection() in selection, just call endingSelection() in the few places it's 73724 needed. This function is cheap since it just returns a reference to a Selection instead of creating one. 73725 Don't store an affinity. In the one place that it was used, isLastVisiblePositionInNode(VisiblePosition(pos, affinity), topBlockquote), 73726 we now use visiblePos (in order to avoid VisiblePosition creation). 73727 Set pos after we delete the current selection (if there is one), and be consistent about what we set 73728 pos to. Before, we upstream()ed it if there was a selection to delete and left it alone otherwise. In fact... 73729 ...we need to use downstream() for pos so that when a caret is at the boundary between two nodes, pos is 73730 in the first node that we want to move. This fixes the bug, since it lets code that checks for the case 73731 where the caret is between text and a br work correctly. 73732 73733 2008-10-30 Yael Aharon <yael.aharon (a] nokia.com> 73734 73735 Reviewed by Darin Adler. 73736 73737 Fix the Qt build. 73738 73739 https://bugs.webkit.org/show_bug.cgi?id=21969 73740 73741 * inspector/front-end/WebKit.qrc: 73742 * platform/graphics/qt/ImageBufferQt.cpp: 73743 (WebCore::ImageBufferData::ImageBufferData): 73744 (WebCore::ImageBuffer::ImageBuffer): 73745 (WebCore::ImageBuffer::context): 73746 (WebCore::ImageBuffer::image): 73747 (WebCore::ImageBuffer::toDataURL): 73748 73749 2008-10-30 Justin Garcia <justin.garcia (a] apple.com> 73750 73751 Reviewed by Darin Adler. 73752 73753 More preparation for: 73754 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line 73755 73756 * editing/BreakBlockquoteCommand.cpp: 73757 (WebCore::BreakBlockquoteCommand::doApply): Added comments. Don't need to use newStartNode. If the 73758 startNode needs to change, change it. Afterwords, check to make sure that it hasn't left topBlockquote. 73759 This is slightly stricter than before, where we just made sure that it still had a topBlockquote. This 73760 doesn't really fix a bug, since we can't really get into a situation where we move to a different 73761 topBlockquote, but it simplifies the code. 73762 73763 2008-10-30 Dirk Schulze <vbs85 (a] gmx.de> 73764 73765 Reviewed by Alp Toker. 73766 73767 https://bugs.webkit.org/show_bug.cgi?id=21883 73768 [CAIRO] globalAlpha has to be stored and restored 73769 73770 Cairo's globalAlpha has to be stored and reloaded on calling 73771 save() and restore(). We use the power of GraphicsContextState for this. 73772 73773 * platform/graphics/GraphicsContextPrivate.h: 73774 (WebCore::GraphicsContextState::GraphicsContextState): 73775 * platform/graphics/cairo/GraphicsContextCairo.cpp: 73776 (WebCore::GraphicsContext::fillPath): 73777 (WebCore::GraphicsContext::strokePath): 73778 (WebCore::GraphicsContext::setAlpha): 73779 (WebCore::GraphicsContext::getAlpha): 73780 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 73781 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 73782 73783 2008-10-29 Alexey Proskuryakov <ap (a] webkit.org> 73784 73785 Reviewed by Maciej Stachowiak. 73786 73787 Rename "attachedToEventTargetNode" to "isInline". 73788 73789 Inline (onXXX) attributes are used not just with event target nodes, but also with Window, 73790 XMLHttpRequest, MessagePort et al. 73791 73792 Also renamed createHTMLEventHandler() (which was a leftover from earlier isHTMLEvent -> 73793 attachedToEventTargetNode rename made for SVG) to createInlineEventListener(). 73794 And also renamed EventTargetNode, Document and Window "eventListenerForType" methods to 73795 "inlineEventListenerForType", as they work with inline listeners. 73796 73797 * bindings/js/JSDOMApplicationCacheCustom.cpp: 73798 (WebCore::JSDOMApplicationCache::addEventListener): 73799 (WebCore::JSDOMApplicationCache::removeEventListener): 73800 * bindings/js/JSMessagePortCustom.cpp: 73801 (WebCore::JSMessagePort::setOnmessage): 73802 (WebCore::JSMessagePort::setOnclose): 73803 * bindings/js/JSXMLHttpRequestCustom.cpp: 73804 (WebCore::JSXMLHttpRequest::addEventListener): 73805 (WebCore::JSXMLHttpRequest::removeEventListener): 73806 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 73807 (WebCore::JSXMLHttpRequestUpload::addEventListener): 73808 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 73809 Pass a correct value for this argument - callers used to be confused, because they didn't 73810 consider themselves event target nodes. This doesn't affect behavior however, as the only 73811 difference between inline and non-inline event handlers is that the former treat 73812 "return false" as "event.preventDefault()", which is not important to any of these objects. 73813 73814 * bindings/js/JSEventListener.cpp: (WebCore::JSLazyEventListener::parseCode): 73815 Assert that isInline is true instead of checking its value, as the constructor of this class 73816 always sets it to true. 73817 73818 * bindings/js/JSDOMWindowBase.cpp: 73819 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 73820 (WebCore::JSDOMWindowBase::findJSEventListener): 73821 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 73822 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): 73823 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 73824 (WebCore::JSDOMWindowBase::jsInlineEventListeners): 73825 (WebCore::JSDOMWindowBase::jsUnprotectedInlineEventListeners): 73826 * bindings/js/JSDOMWindowBase.h: 73827 * bindings/js/JSEventListener.cpp: 73828 (WebCore::JSAbstractEventListener::handleEvent): 73829 (WebCore::JSAbstractEventListener::isInline): 73830 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): 73831 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): 73832 (WebCore::JSEventListener::JSEventListener): 73833 (WebCore::JSEventListener::~JSEventListener): 73834 (WebCore::JSLazyEventListener::parseCode): 73835 * bindings/js/JSEventListener.h: 73836 (WebCore::JSAbstractEventListener::JSAbstractEventListener): 73837 (WebCore::JSUnprotectedEventListener::create): 73838 (WebCore::JSEventListener::create): 73839 * bindings/js/ScriptController.cpp: 73840 (WebCore::ScriptController::createInlineEventHandler): 73841 * bindings/js/ScriptController.h: 73842 * dom/Document.cpp: 73843 (WebCore::Document::setWindowInlineEventListenerForType): 73844 (WebCore::Document::windowInlineEventListenerForType): 73845 (WebCore::Document::removeWindowInlineEventListenerForType): 73846 (WebCore::Document::createEventListener): 73847 (WebCore::Document::setWindowInlineEventListenerForTypeAndAttribute): 73848 * dom/Document.h: 73849 * dom/EventListener.h: 73850 (WebCore::EventListener::isInline): 73851 * dom/EventTargetNode.cpp: 73852 (WebCore::EventTargetNode::removeInlineEventListenerForType): 73853 (WebCore::EventTargetNode::setInlineEventListenerForType): 73854 (WebCore::EventTargetNode::setInlineEventListenerForTypeAndAttribute): 73855 (WebCore::EventTargetNode::inlineEventListenerForType): 73856 (WebCore::EventTargetNode::on*): (many methods) 73857 (WebCore::EventTargetNode::setOn*): (many methods) 73858 * dom/EventTargetNode.h: 73859 * editing/ReplaceSelectionCommand.cpp: 73860 (WebCore::ReplacementFragment::ReplacementFragment): 73861 * html/HTMLBodyElement.cpp: 73862 (WebCore::HTMLBodyElement::parseMappedAttribute): 73863 * html/HTMLButtonElement.cpp: 73864 (WebCore::HTMLButtonElement::parseMappedAttribute): 73865 * html/HTMLElement.cpp: 73866 (WebCore::HTMLElement::parseMappedAttribute): 73867 * html/HTMLFormElement.cpp: 73868 (WebCore::HTMLFormElement::parseMappedAttribute): 73869 * html/HTMLFrameElementBase.cpp: 73870 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 73871 * html/HTMLFrameSetElement.cpp: 73872 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 73873 * html/HTMLImageElement.cpp: 73874 (WebCore::HTMLImageElement::parseMappedAttribute): 73875 * html/HTMLInputElement.cpp: 73876 (WebCore::HTMLInputElement::parseMappedAttribute): 73877 * html/HTMLObjectElement.cpp: 73878 (WebCore::HTMLObjectElement::parseMappedAttribute): 73879 * html/HTMLScriptElement.cpp: 73880 (WebCore::HTMLScriptElement::parseMappedAttribute): 73881 * html/HTMLSelectElement.cpp: 73882 (WebCore::HTMLSelectElement::parseMappedAttribute): 73883 * html/HTMLTextAreaElement.cpp: 73884 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 73885 * page/AccessibilityRenderObject.cpp: 73886 (WebCore::AccessibilityRenderObject::mouseButtonListener): 73887 * page/DOMWindow.cpp: 73888 (WebCore::DOMWindow::setInlineEventListenerForType): 73889 (WebCore::DOMWindow::inlineEventListenerForType): 73890 (WebCore::DOMWindow::on*): (many methods) 73891 (WebCore::DOMWindow::setOn*): (many methods) 73892 * page/DOMWindow.h: 73893 * svg/SVGElement.cpp: 73894 (WebCore::SVGElement::parseMappedAttribute): 73895 * svg/SVGElementInstance.cpp: 73896 (WebCore::SVGElementInstance::on*): (many methods) 73897 (WebCore::SVGElementInstance::setOn*): (many methods) 73898 * svg/SVGSVGElement.cpp: 73899 (WebCore::SVGSVGElement::parseMappedAttribute): 73900 Rename things, as described above. 73901 73902 2008-10-29 Gustavo Noronha Silva <gns (a] gnome.org> 73903 73904 Reviewed and slightly changed by Holger Freyther. 73905 73906 Added all the files that need to be installed for the Inspector to 73907 work. 73908 73909 * GNUmakefile.am: Invoke the shell to get the files. 73910 73911 2008-10-29 Andrew Scherkus <scherkus (a] chromium.org> 73912 73913 Reviewed by Darin Adler 73914 73915 Add MediaPlayerPrivateChromium to MediaPlayer 73916 https://bugs.webkit.org/show_bug.cgi?id=21930 73917 73918 * platform/graphics/MediaPlayer.cpp: 73919 73920 2008-10-29 Justin Garcia <justin.garcia (a] apple.com> 73921 73922 Reviewed by Darin Adler. 73923 73924 Some preparation for: 73925 <rdar://problem/6104369> Hitting return at the end of a quoted line creates an extraneous quoted line 73926 73927 Added an early return to avoid a level of if-nesting. No other changes. We probably don't 73928 need to rebalance whitespace before the early return but for now don't risk any change in behavior 73929 I'll revisit that later. 73930 73931 * editing/BreakBlockquoteCommand.cpp: 73932 (WebCore::BreakBlockquoteCommand::doApply): 73933 73934 2008-10-29 Kevin Ollivier <kevino (a] theolliviers.com> 73935 73936 wx build fixes after addition of runtime and ImageBuffer changes. 73937 73938 * platform/graphics/wx/ImageBufferData.h: Added. 73939 * platform/graphics/wx/ImageBufferWx.cpp: 73940 (WebCore::ImageBufferData::ImageBufferData): 73941 (WebCore::ImageBuffer::ImageBuffer): 73942 (WebCore::ImageBuffer::context): 73943 * webcore-base.bkl: 73944 73945 2008-10-29 Brett Wilson <brettw (a] chromium.org> 73946 73947 Reviewed by Darin Adler 73948 https://bugs.webkit.org/attachment.cgi?id=24745 73949 73950 Allow Skia implementations to get text style changed notifications. 73951 73952 * platform/graphics/GraphicsContext.cpp: 73953 73954 2008-10-29 Timothy Hatcher <timothy (a] apple.com> 73955 73956 Add a manual test that checks breakpoints on a blockless body of 73957 an "else" statement. 73958 73959 https://bugs.webkit.org/show_bug.cgi?id=21944 73960 73961 Reviewed by Maciej Stachowiak. 73962 73963 * manual-tests/inspector/debugger-pause-on-else-statements.html: Added. 73964 73965 2008-10-29 Alexey Proskuryakov <ap (a] webkit.org> 73966 73967 Reviewed by Darin Adler. 73968 73969 https://bugs.webkit.org/show_bug.cgi?id=21921 73970 MessagePort messages are dispatched to documents that are not fully active 73971 73972 Covered by corrected fast/events/message-port-inactive-document.html 73973 73974 * bindings/js/JSEventListener.cpp: 73975 (WebCore::JSAbstractEventListener::handleEvent): Don't dispatch messages to contexts 73976 that are not fully active. 73977 73978 2008-10-29 Alexey Proskuryakov <ap (a] webkit.org> 73979 73980 Reviewed by Sam Weinig. 73981 73982 https://bugs.webkit.org/show_bug.cgi?id=21922 73983 Expose MessagePort global constructor 73984 73985 Covered by existing dumper tests. 73986 73987 * dom/MessagePort.idl: 73988 * page/DOMWindow.idl: 73989 73990 2008-10-29 Alexey Proskuryakov <ap (a] webkit.org> 73991 73992 Reviewed by Darin Adler. 73993 73994 https://bugs.webkit.org/show_bug.cgi?id=21924 73995 HashTable internal index is not always deleted 73996 73997 * bindings/js/JSDOMBinding.cpp: (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap): 73998 Call deleteTable for HashTables that are being deleted. 73999 74000 2008-10-28 Alexey Proskuryakov <ap (a] webkit.org> 74001 74002 Reviewed by Darin Adler. 74003 74004 https://bugs.webkit.org/show_bug.cgi?id=21923 74005 Create an abstraction for script execution context 74006 74007 * GNUmakefile.am: 74008 * WebCore.pro: 74009 * WebCore.vcproj/WebCore.vcproj: 74010 * WebCore.xcodeproj/project.pbxproj: 74011 * WebCoreSources.bkl: 74012 Added ScriptExecutionContext.{h,cpp}. 74013 74014 * bindings/js/JSAudioConstructor.cpp: 74015 (WebCore::JSAudioConstructor::JSAudioConstructor): 74016 * bindings/js/JSAudioConstructor.h: 74017 * bindings/js/JSImageConstructor.cpp: 74018 (WebCore::JSImageConstructor::JSImageConstructor): 74019 * bindings/js/JSImageConstructor.h: 74020 * bindings/js/JSOptionConstructor.cpp: 74021 (WebCore::JSOptionConstructor::JSOptionConstructor): 74022 * bindings/js/JSOptionConstructor.h: 74023 * bindings/js/JSXMLHttpRequestConstructor.cpp: 74024 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 74025 * bindings/js/JSXMLHttpRequestConstructor.h: 74026 Pass ScriptExecutionContext instead of Document to make getDOMConstructor() happy. 74027 Since these objects can only work within documents now, it is immediately converted back 74028 to Document. 74029 74030 * bindings/js/JSMessageChannelConstructor.cpp: 74031 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): 74032 (WebCore::JSMessageChannelConstructor::construct): 74033 * bindings/js/JSMessageChannelConstructor.h: 74034 (WebCore::JSMessageChannelConstructor::scriptExecutionContext): 74035 MessageChannel needs to be supported in workers right away, so the constructor operates with 74036 it directly. 74037 74038 * dom/ActiveDOMObject.cpp: 74039 (WebCore::ActiveDOMObject::ActiveDOMObject): 74040 (WebCore::ActiveDOMObject::~ActiveDOMObject): 74041 (WebCore::ActiveDOMObject::contextDestroyed): 74042 * dom/ActiveDOMObject.h: 74043 (WebCore::ActiveDOMObject::scriptExecutionContext): 74044 * bindings/js/JSDOMBinding.cpp: 74045 (WebCore::markActiveObjectsForContext): 74046 (WebCore::markCrossHeapDependentObjectsForContext): 74047 Use ScriptExecutionContext instead of Document, now that ActiveDOMObject and MessagePort 74048 tracking is handled by ScriptExecutionContext. 74049 74050 * bindings/js/JSDOMBinding.h: (WebCore::getDOMPrototype): Moved to JSDOMGlobalObject. 74051 74052 * bindings/js/JSDOMGlobalObject.h: 74053 (WebCore::getDOMConstructor): Moved to this file, as constructors live in JSDOMGlobalObject. 74054 Also, the two-argument version that used to be in JSDOMWindowBase.cpp need to be accessible 74055 to worker context implementation. 74056 (WebCore::scriptExecutionContext): Added a pure virtual method to access 74057 ScriptExecutionContext, implemented by subclasses. 74058 74059 * bindings/js/JSDOMWindowBase.h: 74060 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::scriptExecutionContext): 74061 Implement by returning the associated document. Note that this method currently gives bogus 74062 results after navigation - DOMWindow Frame reference is not zeroed out, so we get a document 74063 that is currently in the frame, not the one associated with this window. 74064 74065 * bindings/js/JSDedicatedWorkerConstructor.cpp: Removed unnecessary include of DOMWindow.h. 74066 74067 * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::mark): 74068 Call markActiveObjectsForContext() by its new name. 74069 74070 * dom/DedicatedWorker.cpp: 74071 (WebCore::DedicatedWorker::DedicatedWorker): 74072 (WebCore::DedicatedWorker::document): 74073 * dom/DedicatedWorker.h: 74074 * xml/XMLHttpRequest.cpp: 74075 (WebCore::XMLHttpRequest::document): 74076 * xml/XMLHttpRequest.h: 74077 Added a document() function that upcasts ScriptExecutionContext, as these objects only work 74078 within documents currently (at least for XMLHttpRequest, this will change soon though). 74079 74080 * dom/Document.cpp: 74081 (WebCore::Document::Document): 74082 (WebCore::Document::~Document): 74083 Moved active object and MessagePort tracking up to ScriptExecutionContext, to share code 74084 with workers. 74085 74086 * dom/Document.h: 74087 (WebCore::Document::isDocument): 74088 (WebCore::Document::refScriptExecutionContext): 74089 (WebCore::Document::derefScriptExecutionContext): 74090 Inherit from ScriptExecutionContext. 74091 74092 * dom/MessageChannel.cpp: 74093 (WebCore::MessageChannel::MessageChannel): 74094 * dom/MessageChannel.h: 74095 (WebCore::MessageChannel::create): 74096 Use ScriptExecutionContext instead of Document. 74097 74098 * dom/MessagePort.cpp: 74099 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): Make m_port a RefPtr, because 74100 MessagePort doesn't ref() itself when posting this event any more (this is a fix for an 74101 unrelated issue that was causing random crashes in layout tests). 74102 (WebCore::MessagePort::MessagePort): 74103 (WebCore::MessagePort::~MessagePort): 74104 (WebCore::MessagePort::associatedFrame): 74105 (WebCore::MessagePort::clone): 74106 (WebCore::MessagePort::postMessage): 74107 (WebCore::MessagePort::startConversation): 74108 (WebCore::MessagePort::start): 74109 (WebCore::MessagePort::contextDestroyed): 74110 (WebCore::MessagePort::dispatchMessages): 74111 * dom/MessagePort.h: 74112 (WebCore::MessagePort::create): 74113 (WebCore::MessagePort::scriptExecutionContext): 74114 Use ScriptExecutionContext instead of Document. This is a step toward making MessagePort 74115 work in worker contexts - we need to also make some its method thread safe for cross-thread 74116 messaging, and make event dispatching thread safe. 74117 74118 * dom/ScriptExecutionContext.cpp: Added. 74119 * dom/ScriptExecutionContext.h: Added. 74120 ActiveDOMObject and MessagePort tracking is moved from Document. 74121 It is debatable whether ScriptExecutionContext should be a parent of Document or DOMWindow, 74122 but as I'm just moving Document code, and it is Document that is the main context object 74123 in our implementation currently. 74124 Changing ScriptExecutionContext to be a parent of DOMWindow causes a number of bugs that 74125 seem non-trivial to fix, and isn't really a part of this task. 74126 74127 2008-10-28 Alp Toker <alp (a] nuanti.com> 74128 74129 List newly-added ImageBufferData.h in build system. 74130 74131 * GNUmakefile.am: 74132 74133 2008-10-28 Alp Toker <alp (a] nuanti.com> 74134 74135 Reviewed by Cameron Zwarich. 74136 74137 De-list unused WebCore ForwardingHeaders to fix the dist target. 74138 74139 * GNUmakefile.am: 74140 74141 2008-10-28 Cameron Zwarich <zwarich (a] apple.com> 74142 74143 Not reviewed. 74144 74145 Attempt to fix the Windows build by generating Forwardingheaders for the 74146 runtime directory in JavaScriptCore. 74147 74148 * WebCore.vcproj/WebCore.vcproj: 74149 74150 2008-10-28 Justin Garcia <justin.garcia (a] apple.com> 74151 74152 Reviewed by Darin Adler. 74153 74154 <rdar://problem/5188560> REGRESSION: Spell checker doesn't clear spelling/grammar marker after error is marked as Ignored 74155 74156 * editing/Editor.cpp: 74157 (WebCore::Editor::ignoreSpelling): Remove misspelling markers from the word. 74158 (WebCore::Editor::learnSpelling): Added a FIXME about <rdar://problem/5396072>, which 74159 will probably require a change more complicated than just marking the learned word as 74160 misspelled. I'll address it with a separate patch. 74161 * editing/EditorCommand.cpp: 74162 (WebCore::executeIgnoreSpelling): Added. 74163 (WebCore::CommandEntry::): Added an entry for IgnoreSpelling. 74164 74165 2008-10-28 Cameron Zwarich <zwarich (a] apple.com> 74166 74167 Reviewed by Mark Rowe. 74168 74169 Move ForwardingHeaders to their correct location after the creation of 74170 the runtime directory in JavaScriptCore. 74171 74172 * ForwardingHeaders/kjs/ArrayPrototype.h: Removed. 74173 * ForwardingHeaders/kjs/BooleanObject.h: Removed. 74174 * ForwardingHeaders/kjs/CallData.h: Removed. 74175 * ForwardingHeaders/kjs/ConstructData.h: Removed. 74176 * ForwardingHeaders/kjs/DateInstance.h: Removed. 74177 * ForwardingHeaders/kjs/Error.h: Removed. 74178 * ForwardingHeaders/kjs/FunctionConstructor.h: Removed. 74179 * ForwardingHeaders/kjs/FunctionPrototype.h: Removed. 74180 * ForwardingHeaders/kjs/InternalFunction.h: Removed. 74181 * ForwardingHeaders/kjs/JSArray.h: Removed. 74182 * ForwardingHeaders/kjs/JSFunction.h: Removed. 74183 * ForwardingHeaders/kjs/JSGlobalObject.h: Removed. 74184 * ForwardingHeaders/kjs/JSNumberCell.h: Removed. 74185 * ForwardingHeaders/kjs/JSObject.h: Removed. 74186 * ForwardingHeaders/kjs/JSString.h: Removed. 74187 * ForwardingHeaders/kjs/JSValue.h: Removed. 74188 * ForwardingHeaders/kjs/ObjectPrototype.h: Removed. 74189 * ForwardingHeaders/kjs/PropertyMap.h: Removed. 74190 * ForwardingHeaders/kjs/PrototypeFunction.h: Removed. 74191 * ForwardingHeaders/kjs/StringObject.h: Removed. 74192 * ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h: Removed. 74193 * ForwardingHeaders/kjs/StringPrototype.h: Removed. 74194 * ForwardingHeaders/kjs/StructureID.h: Removed. 74195 * ForwardingHeaders/runtime: Added. 74196 * ForwardingHeaders/runtime/ArrayPrototype.h: Copied from ForwardingHeaders/kjs/ArrayPrototype.h. 74197 * ForwardingHeaders/runtime/BooleanObject.h: Copied from ForwardingHeaders/kjs/BooleanObject.h. 74198 * ForwardingHeaders/runtime/CallData.h: Copied from ForwardingHeaders/kjs/CallData.h. 74199 * ForwardingHeaders/runtime/ConstructData.h: Copied from ForwardingHeaders/kjs/ConstructData.h. 74200 * ForwardingHeaders/runtime/DateInstance.h: Copied from ForwardingHeaders/kjs/DateInstance.h. 74201 * ForwardingHeaders/runtime/Error.h: Copied from ForwardingHeaders/kjs/Error.h. 74202 * ForwardingHeaders/runtime/FunctionConstructor.h: Copied from ForwardingHeaders/kjs/FunctionConstructor.h. 74203 * ForwardingHeaders/runtime/FunctionPrototype.h: Copied from ForwardingHeaders/kjs/FunctionPrototype.h. 74204 * ForwardingHeaders/runtime/InternalFunction.h: Copied from ForwardingHeaders/kjs/InternalFunction.h. 74205 * ForwardingHeaders/runtime/JSArray.h: Copied from ForwardingHeaders/kjs/JSArray.h. 74206 * ForwardingHeaders/runtime/JSFunction.h: Copied from ForwardingHeaders/kjs/JSFunction.h. 74207 * ForwardingHeaders/runtime/JSGlobalObject.h: Copied from ForwardingHeaders/kjs/JSGlobalObject.h. 74208 * ForwardingHeaders/runtime/JSNumberCell.h: Copied from ForwardingHeaders/kjs/JSNumberCell.h. 74209 * ForwardingHeaders/runtime/JSObject.h: Copied from ForwardingHeaders/kjs/JSObject.h. 74210 * ForwardingHeaders/runtime/JSString.h: Copied from ForwardingHeaders/kjs/JSString.h. 74211 * ForwardingHeaders/runtime/JSValue.h: Copied from ForwardingHeaders/kjs/JSValue.h. 74212 * ForwardingHeaders/runtime/ObjectPrototype.h: Copied from ForwardingHeaders/kjs/ObjectPrototype.h. 74213 * ForwardingHeaders/runtime/PropertyMap.h: Copied from ForwardingHeaders/kjs/PropertyMap.h. 74214 * ForwardingHeaders/runtime/PrototypeFunction.h: Copied from ForwardingHeaders/kjs/PrototypeFunction.h. 74215 * ForwardingHeaders/runtime/StringObject.h: Copied from ForwardingHeaders/kjs/StringObject.h. 74216 * ForwardingHeaders/runtime/StringObjectThatMasqueradesAsUndefined.h: Copied from ForwardingHeaders/kjs/StringObjectThatMasqueradesAsUndefined.h. 74217 * ForwardingHeaders/runtime/StringPrototype.h: Copied from ForwardingHeaders/kjs/StringPrototype.h. 74218 * ForwardingHeaders/runtime/StructureID.h: Copied from ForwardingHeaders/kjs/StructureID.h. 74219 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 74220 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 74221 * bindings/js/JSClipboardCustom.cpp: 74222 * bindings/js/JSConsoleCustom.cpp: 74223 * bindings/js/JSCustomPositionCallback.h: 74224 * bindings/js/JSCustomPositionErrorCallback.h: 74225 * bindings/js/JSCustomSQLStatementCallback.h: 74226 * bindings/js/JSCustomSQLStatementErrorCallback.h: 74227 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 74228 * bindings/js/JSCustomVoidCallback.h: 74229 * bindings/js/JSCustomXPathNSResolver.h: 74230 * bindings/js/JSDOMBinding.cpp: 74231 * bindings/js/JSDOMBinding.h: 74232 * bindings/js/JSDOMGlobalObject.h: 74233 * bindings/js/JSDOMWindowBase.cpp: 74234 * bindings/js/JSDOMWindowCustom.cpp: 74235 * bindings/js/JSDOMWindowShell.cpp: 74236 * bindings/js/JSDatabaseCustom.cpp: 74237 * bindings/js/JSEventListener.cpp: 74238 * bindings/js/JSEventTarget.h: 74239 * bindings/js/JSHTMLDocumentCustom.cpp: 74240 * bindings/js/JSHistoryCustom.cpp: 74241 * bindings/js/JSInspectedObjectWrapper.cpp: 74242 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 74243 * bindings/js/JSLocationCustom.cpp: 74244 * bindings/js/JSNodeFilterCondition.h: 74245 * bindings/js/JSQuarantinedObjectWrapper.cpp: 74246 * bindings/js/JSQuarantinedObjectWrapper.h: 74247 * bindings/js/JSXMLHttpRequestCustom.cpp: 74248 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 74249 * bindings/objc/WebScriptObject.mm: 74250 * bindings/objc/WebScriptObjectPrivate.h: 74251 * bindings/scripts/CodeGeneratorJS.pm: 74252 * bridge/NP_jsobject.cpp: 74253 * bridge/c/c_instance.cpp: 74254 * bridge/c/c_utility.cpp: 74255 * bridge/c/c_utility.h: 74256 * bridge/jni/jni_instance.cpp: 74257 * bridge/jni/jni_jsobject.h: 74258 * bridge/jni/jni_jsobject.mm: 74259 * bridge/jni/jni_runtime.cpp: 74260 * bridge/jni/jni_utility.cpp: 74261 * bridge/jni/jni_utility.h: 74262 * bridge/objc/objc_instance.mm: 74263 * bridge/objc/objc_runtime.h: 74264 * bridge/objc/objc_runtime.mm: 74265 * bridge/objc/objc_utility.h: 74266 * bridge/objc/objc_utility.mm: 74267 * bridge/runtime.h: 74268 * bridge/runtime_array.cpp: 74269 * bridge/runtime_array.h: 74270 * bridge/runtime_method.cpp: 74271 * bridge/runtime_method.h: 74272 * bridge/runtime_object.cpp: 74273 * bridge/runtime_object.h: 74274 * bridge/runtime_root.cpp: 74275 * inspector/JavaScriptCallFrame.cpp: 74276 * inspector/JavaScriptProfile.cpp: 74277 * inspector/JavaScriptProfile.h: 74278 * inspector/JavaScriptProfileNode.cpp: 74279 * inspector/JavaScriptProfileNode.h: 74280 * loader/FrameLoader.cpp: 74281 * page/Console.cpp: 74282 * plugins/PluginView.cpp: 74283 * plugins/gtk/PluginViewGtk.cpp: 74284 * plugins/qt/PluginViewQt.cpp: 74285 * plugins/win/PluginViewWin.cpp: 74286 74287 2008-10-28 Adele Peterson <adele (a] apple.com> 74288 74289 Windows build fix. This removes Cairo include directories from non-Cairbo build configurations. 74290 74291 * WebCore.vcproj/WebCore.vcproj: 74292 74293 2008-10-28 Adele Peterson <adele (a] apple.com> 74294 74295 Windows build fix. 74296 74297 * platform/graphics/ImageBuffer.h: 74298 (WebCore::ImageBuffer::create): 74299 74300 2008-10-28 Cameron Zwarich <zwarich (a] apple.com> 74301 74302 Not reviewed. 74303 74304 Roll out a mistaken attempt at fixing the GTK build in r37947. 74305 74306 * GNUmakefile.am: 74307 74308 2008-10-28 Adele Peterson <adele (a] apple.com> 74309 74310 Reviewed by John Sullivan. 74311 74312 Fix for https://bugs.webkit.org/show_bug.cgi?id=21880 74313 "files" string for multifile uploads needs to be localized 74314 74315 * page/mac/WebCoreViewFactory.h: 74316 * platform/LocalizedStrings.h: 74317 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): 74318 * platform/gtk/LocalizedStringsGtk.cpp: (WebCore::multipleFileUploadText): 74319 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): 74320 * platform/mac/LocalizedStringsMac.mm: (WebCore::multipleFileUploadText): 74321 * platform/qt/Localizations.cpp: (WebCore::multipleFileUploadText): 74322 * platform/wx/LocalizedStringsWx.cpp: (WebCore::multipleFileUploadText): 74323 74324 2008-10-28 Brett Wilson <brettw (a] chromium.org> 74325 74326 Reviewed by Darin Adler. 74327 74328 https://bugs.webkit.org/show_bug.cgi?id=21816 74329 74330 Remove platform ifdefs in ImageBuffer.h by moving platform specific code 74331 into a new PlatformImageBuffer class. Move the static create function 74332 into the header because it can be cross-platform. Initialization now 74333 happens in the cunstructor which sets a flag that create uses to know 74334 whether it should return null or not. I also made passing of IntSize 74335 more consistent (always by reference). 74336 74337 This change also changes the ifdefs in GraphicsContext to allow Skia 74338 ports to implement text drawing modes. 74339 74340 * platform/graphics/ImageBuffer.h: 74341 (WebCore::ImageBuffer::create): 74342 (WebCore::ImageBuffer::size): 74343 * platform/graphics/cairo/ImageBufferCairo.cpp: 74344 (WebCore::ImageBufferData::ImageBufferData): 74345 (WebCore::ImageBuffer::ImageBuffer): 74346 (WebCore::ImageBuffer::~ImageBuffer): 74347 (WebCore::ImageBuffer::image): 74348 (WebCore::ImageBuffer::getImageData): 74349 (WebCore::ImageBuffer::putImageData): 74350 * platform/graphics/cairo/ImageBufferData.h: 74351 * platform/graphics/cg/ImageBufferCG.cpp: 74352 (WebCore::ImageBufferData::ImageBufferData): 74353 (WebCore::ImageBuffer::ImageBuffer): 74354 (WebCore::ImageBuffer::~ImageBuffer): 74355 (WebCore::ImageBuffer::getImageData): 74356 (WebCore::ImageBuffer::putImageData): 74357 * platform/graphics/cg/ImageBufferData.h: 74358 * platform/graphics/qt/ImageBufferData.h: 74359 * platform/graphics/qt/ImageBufferQt.cpp: 74360 (WebCore::ImageBufferData::ImageBufferData): 74361 (WebCore::ImageBuffer::ImageBuffer): 74362 (WebCore::ImageBuffer::~ImageBuffer): 74363 74364 2008-10-28 Cameron Zwarich <zwarich (a] apple.com> 74365 74366 Not reviewed. 74367 74368 Fix the GTK build. 74369 74370 * GNUmakefile.am: 74371 74372 2008-10-28 Cameron Zwarich <zwarich (a] apple.com> 74373 74374 Not reviewed. 74375 74376 Another Qt build fix. 74377 74378 * WebCore.pro: 74379 74380 2008-10-28 Greg Bolsinga <bolsinga (a] apple.com> 74381 74382 Reviewed by David Kilzer. 74383 74384 https://bugs.webkit.org/show_bug.cgi?id=21932 74385 Add non-pointer constant lookups to SoftLinking.h 74386 74387 * platform/mac/SoftLinking.h: 74388 74389 2008-10-28 Greg Bolsinga <bolsinga (a] apple.com> 74390 74391 Reviewed by David Kilzer. 74392 74393 https://bugs.webkit.org/show_bug.cgi?id=2192 74394 Missing semi-colons in Geoposition.idl 74395 74396 * page/Geoposition.idl: Add missing semi-colons 74397 74398 2008-10-28 Timothy Hatcher <timothy (a] apple.com> 74399 74400 Make the Profiles panel in the Web Inspector have an enable screen. 74401 Profiling now needs to be enabled before console.profile() works. 74402 74403 <rdar://problem/6211578> Make the JavaScript profiler opt-in, so it does 74404 not slow down JavaScript all the time 74405 74406 Reviewed by Darin Adler and Kevin McCullough. 74407 74408 * English.lproj/localizedStrings.js: New strings. 74409 * WebCore.base.exp: New and changed exports. 74410 * WebCore.vcproj/WebCore.vcproj: Add the PanelEnablerView.js file. 74411 * bindings/js/JSDOMWindowBase.cpp: 74412 (WebCore::JSDOMWindowBase::supportsProfiling): Call InspectorController:profilerEnabled. 74413 * inspector/InspectorController.cpp: 74414 (WebCore::InspectorController::InspectorController): Initialize the m_startProfiling 74415 Timer to call InspectorController::startUserInitiatedProfiling. 74416 (WebCore::InspectorController::startUserInitiatedProfilingSoon): Start a one-shot timer 74417 that calls InspectorController::startUserInitiatedProfiling. 74418 (WebCore::InspectorController::startUserInitiatedProfiling): Recompile all JavaScript 74419 and enable the profiler if the profiler was not enabled. 74420 (WebCore::InspectorController::stopUserInitiatedProfiling): Rearrange code for readability. 74421 (WebCore::InspectorController::enableProfiler): Recompile all the JavaScript functions 74422 if the skipRecompile argument is false. Call the profilerWasEnabled script function. 74423 (WebCore::InspectorController::disableProfiler): Recompile all the JavaScript functions. 74424 Call the profilerWasEnabled script function. 74425 (WebCore::InspectorController::disableDebugger): Set m_attachDebuggerWhenShown to false, 74426 so it won't be started later. 74427 * inspector/InspectorController.h: 74428 (WebCore::InspectorController::profilerEnabled): Return enabled() && m_profilerEnabled. 74429 * inspector/front-end/Images/debuggingButtons.png: Remove. 74430 * inspector/front-end/Images/enableButtons.png: Added. 74431 * inspector/front-end/Images/profilesSilhouette.png: Added. 74432 * inspector/front-end/Images/scriptsSilhouette.png: Added. 74433 * inspector/front-end/PanelEnablerView.js: Added. 74434 (WebInspector.PanelEnablerView): 74435 (WebInspector.PanelEnablerView.prototype._enableButtonCicked): Fire the "enable clicked" 74436 event so listeners can do their thing. 74437 (WebInspector.PanelEnablerView.prototype._windowResized): Test if the icon should be hidden. 74438 * inspector/front-end/ProfilesPanel.js: 74439 (WebInspector.ProfilesPanel): Create the PanelEnablerView and the strings needed for it. 74440 (WebInspector.ProfilesPanel.prototype.get statusBarItems): Include the enableToggleButton. 74441 (WebInspector.ProfilesPanel.prototype.profilerWasEnabled): Call reset and populateInterface. 74442 (WebInspector.ProfilesPanel.prototype.profilerWasDisabled): Call reset. 74443 (WebInspector.ProfilesPanel.prototype.reset): Call _updateInterface. 74444 (WebInspector.ProfilesPanel.prototype.setRecordingProfile): Moved in the code, no changes. 74445 (WebInspector.ProfilesPanel.prototype._updateInterface): Update the toggle button and 74446 show/hide other buttons. Also show/hide the PanelEnablerView. 74447 (WebInspector.ProfilesPanel.prototype._enableProfiling): Call _toggleProfiling if not enabled. 74448 (WebInspector.ProfilesPanel.prototype._toggleProfiling): Call InspectorController's 74449 disableProfiler or enableProfiler. 74450 * inspector/front-end/ScriptsPanel.js: 74451 (WebInspector.ScriptsPanel): Replace the overlay element with a PanelEnablerView. Replace the 74452 debuggingButton with the enableToggleButton. 74453 (WebInspector.ScriptsPanel.prototype.get statusBarItems): Replace the debuggingButton with 74454 the enableToggleButton. 74455 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): Hide/show the pauseOnExceptionButton 74456 when needed. Replace the overlay element with a PanelEnablerView. Replace the debuggingButton 74457 with the enableToggleButton. 74458 (WebInspector.ScriptsPanel.prototype._enableDebugging): Call _toggleDebugging when not enabled. 74459 (WebInspector.ScriptsPanel.prototype._toggleDebugging): Remove the call to _clearInterface, 74460 since reset is called from debuggerWasEnabled and debuggerWasDisabled. 74461 * inspector/front-end/View.js: Inherit from WebInspector.Object. 74462 * inspector/front-end/WebKit.qrc: Add the PanelEnablerView.js file. 74463 * inspector/front-end/inspector.css: New styles for the PanelEnablerView. 74464 * inspector/front-end/inspector.html: Add the PanelEnablerView.js file. 74465 * inspector/front-end/inspector.js: 74466 (WebInspector.profilerWasEnabled): Added. Calls the ProfilesPanel. 74467 (WebInspector.profilerWasDisabled): Ditto. 74468 * page/Console.cpp: 74469 (WebCore::Console::error): Remove null check for m_frame, since m_frame isn't used. 74470 (WebCore::Console::info): Ditto. 74471 (WebCore::Console::log): Ditto. 74472 (WebCore::Console::assertCondition): Ditto. 74473 (WebCore::Console::dirxml): Remove null check for m_frame and use this->page(). 74474 (WebCore::Console::count): Ditto. 74475 (WebCore::Console::profile): Return early if InspectorController::profilerEnabled is false. 74476 (WebCore::Console::profileEnd): Ditto. 74477 (WebCore::Console::warn): Remove null check for m_frame, since m_frame isn't used. 74478 * page/Settings.cpp: 74479 (WebCore::Settings::Settings): Remove initialization of m_didInitializeDeveloperExtrasEnabled. 74480 (WebCore::Settings::setDeveloperExtrasEnabled): Remove code that recompiled functions. 74481 Now just sets the member boolean. 74482 * page/Settings.h: Remove m_didInitializeDeveloperExtrasEnabled. 74483 74484 2008-10-28 Timothy Hatcher <timothy (a] apple.com> 74485 74486 Rename a few methods related to attaching and detaching the debugger. Also 74487 adds stub methods for enabling and disabling the profiler. 74488 74489 * Rename attachDebugger to enableDebugger. 74490 * Rename detachDebugger to disableDebugger. 74491 * Rename the debuggerAttached getter to debuggerEnabled. 74492 * Rename the debuggerAttached callback to debuggerWasEnabled. 74493 * Rename the debuggerDetached callback to debuggerWasDisabled. 74494 74495 Reviewed by Darin Adler. 74496 74497 * WebCore.base.exp: 74498 * inspector/InspectorController.cpp: 74499 (WebCore::InspectorController::InspectorController): 74500 (WebCore::InspectorController::setWindowVisible): 74501 (WebCore::InspectorController::windowScriptObjectAvailable): 74502 (WebCore::InspectorController::close): 74503 (WebCore::InspectorController::enableProfiler): 74504 (WebCore::InspectorController::disableProfiler): 74505 (WebCore::InspectorController::enableDebugger): 74506 (WebCore::InspectorController::disableDebugger): 74507 (WebCore::InspectorController::pauseInDebugger): 74508 (WebCore::InspectorController::resumeDebugger): 74509 (WebCore::InspectorController::stepOverStatementInDebugger): 74510 (WebCore::InspectorController::stepIntoStatementInDebugger): 74511 (WebCore::InspectorController::stepOutOfFunctionInDebugger): 74512 * inspector/InspectorController.h: 74513 (WebCore::InspectorController::profilerEnabled): 74514 (WebCore::InspectorController::debuggerEnabled): 74515 * inspector/front-end/BreakpointsSidebarPane.js: 74516 (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): 74517 (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): 74518 (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): 74519 * inspector/front-end/Object.js: 74520 * inspector/front-end/ProfilesPanel.js: 74521 (WebInspector.ProfilesPanel): 74522 * inspector/front-end/ScriptsPanel.js: 74523 (WebInspector.ScriptsPanel): 74524 (WebInspector.ScriptsPanel.prototype.get statusBarItems): 74525 (WebInspector.ScriptsPanel.prototype.debuggerWasEnabled): 74526 (WebInspector.ScriptsPanel.prototype.debuggerWasDetached): 74527 (WebInspector.ScriptsPanel.prototype.reset): 74528 (WebInspector.ScriptsPanel.prototype.canShowResource): 74529 (WebInspector.ScriptsPanel.prototype._updatePauseOnExceptionsButton): 74530 (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons): 74531 (WebInspector.ScriptsPanel.prototype._toggleDebugging): 74532 * inspector/front-end/View.js: 74533 * inspector/front-end/inspector.css: 74534 * inspector/front-end/inspector.html: 74535 * inspector/front-end/inspector.js: 74536 (WebInspector.addResource): 74537 (WebInspector.debuggerWasEnabled): 74538 (WebInspector.debuggerWasDisabled): 74539 74540 2008-10-28 Timothy Hatcher <timothy (a] apple.com> 74541 74542 Fix an exception when searching the Resources panel while there 74543 and resources queued to be added to the list. 74544 74545 Reviewed by Kevin McCullough. 74546 74547 * inspector/front-end/ResourcesPanel.js: 74548 (WebInspector.ResourcesPanel.prototype.searchCanceled): Null check 74549 the _resourcesTreeElement property. 74550 (WebInspector.ResourcesPanel.prototype.performSearch): Ditto. 74551 74552 2008-10-28 Alp Toker <alp (a] nuanti.com> 74553 74554 GTK+ build fix for older versions of Pango where PANGO_VERSION_CHECK 74555 isn't defined. 74556 74557 * platform/graphics/gtk/FontGtk.cpp: 74558 (WebCore::getDefaultPangoLayout): 74559 * platform/graphics/gtk/FontPlatformDataPango.cpp: 74560 74561 2008-10-28 Alexey Proskuryakov <ap (a] webkit.org> 74562 74563 Reviewed by Darin Adler. 74564 74565 https://bugs.webkit.org/show_bug.cgi?id=21893 74566 Character set is incorrect for external scripts in XHTML pages 74567 74568 <rdar://problem/6317451> Incorrect encoding for text in a popup at http://xpoint.ru/ 74569 74570 Test: fast/encoding/external-script-charset.xhtml 74571 74572 Expose scriptCharset() function on all ScriptElements, and call it from XML tokenizer. 74573 74574 * dom/ScriptElement.h: 74575 * dom/XMLTokenizerLibxml2.cpp: 74576 (WebCore::XMLTokenizer::endElementNs): 74577 * dom/XMLTokenizerQt.cpp: 74578 (WebCore::XMLTokenizer::parseEndElement): 74579 * html/HTMLScriptElement.h: 74580 * svg/SVGScriptElement.cpp: 74581 (WebCore::SVGScriptElement::scriptCharset): 74582 * svg/SVGScriptElement.h: 74583 74584 2008-10-28 Alp Toker <alp (a] nuanti.com> 74585 74586 Include copyright license files in the autotools dist target and 74587 exclude unused zlib headers. 74588 74589 Change suggested by Mike Hommey. 74590 74591 * GNUmakefile.am: 74592 74593 2008-10-27 Sam Weinig <sam (a] webkit.org> 74594 74595 Reviewed by Maciej Stachowiak. 74596 74597 Clear the window shell when destroying a page to allow documents 74598 which have no way of being reached anymore, to be torn down. 74599 74600 * page/Frame.cpp: 74601 (WebCore::Frame::pageDestroyed): 74602 74603 2008-10-27 Kevin Watters <kevinwatters (a] gmail.com> 74604 74605 Reviewed by Kevin Ollivier. 74606 74607 Update the active state as well as the focused state as both need to be true 74608 for the caret to be drawn. 74609 74610 https://bugs.webkit.org/show_bug.cgi?id=21900 74611 74612 * WebView.cpp: 74613 (wxWebView::OnSetFocus): 74614 (wxWebView::OnKillFocus): 74615 74616 2008-10-27 Kevin Ollivier <kevino (a] theolliviers.com> 74617 74618 wx build fix on Linux/GTK. Enable support for #include <JavaScriptCore/XYZ.h> style includes. 74619 74620 * webcore-wx.bkl: 74621 74622 2008-10-27 Michael Knaup <michael.knaup (a] mac.com> 74623 74624 Reviewed and tweaked by Darin Adler. 74625 74626 - https://bugs.webkit.org/show_bug.cgi?id=8988 74627 74628 Bug 8988: Add support for Mozilla CSS custom cursors. 74629 Added -webkit-grab and -webkit-grabbing cursor suppport 74630 for the Mac, dummy implementations for other platforms. 74631 74632 * css/CSSParser.cpp: 74633 (WebCore::CSSParser::parseValue): Updated since the 74634 -webkit-grabbing cursor is now the last one. 74635 74636 * css/CSSPrimitiveValueMappings.h: 74637 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added 74638 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING. 74639 74640 * css/CSSValueKeywords.in: Added -webkit-grab and 74641 -webkit-grabbing. 74642 74643 * manual-tests/cursor.html: Added -webkit-zoom-in, 74644 webkit-zoom-out, -webkit-grab, and -webkit-grabbing. 74645 74646 * page/EventHandler.cpp: 74647 (WebCore::EventHandler::selectCursor): Added 74648 CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING. 74649 74650 * platform/Cursor.h: Added grabCursor and grabbingCursor. 74651 74652 * platform/gtk/CursorGtk.cpp: 74653 (WebCore::grabCursor): Added. 74654 (WebCore::grabbingCursor): Added. 74655 * platform/mac/CursorMac.mm: 74656 (WebCore::grabCursor): Added. 74657 (WebCore::grabbingCursor): Added. 74658 * platform/qt/CursorQt.cpp: 74659 (WebCore::grabCursor): Added. 74660 (WebCore::grabbingCursor): Added. 74661 * platform/win/CursorWin.cpp: 74662 (WebCore::grabCursor): Added. 74663 (WebCore::grabbingCursor): Added. 74664 * platform/wx/CursorWx.cpp: 74665 (WebCore::grabCursor): Added. 74666 (WebCore::grabbingCursor): Added. 74667 74668 * rendering/style/RenderStyleConstants.h: 74669 Added CURSOR_WEBKIT_GRAB and CURSOR_WEBKIT_GRABBING. 74670 Also broke ECursor out into a single constant per line. 74671 Also added a couple of comments. 74672 74673 2008-10-27 Dimitri Glazkov <dglazkov (a] chromium.org> 74674 74675 Reviewed by Darin Adler. 74676 74677 * svg/SVGAnimatedTemplate.h: needed a HashMap define 74678 74679 2008-10-21 Eric Seidel <eric (a] webkit.org> 74680 74681 Reviewed by Dave Hyatt. 74682 74683 Infinite recursion crash in WebCore::RenderSVGRoot::absoluteClippedOverflowRect on a <stop> element outside of a gradient block 74684 https://bugs.webkit.org/show_bug.cgi?id=20400 74685 74686 Test: svg/custom/stop-crash.svg 74687 74688 * WebCore.xcodeproj/project.pbxproj: 74689 * rendering/RenderSVGGradientStop.h: 74690 (WebCore::RenderSVGGradientStop::absoluteClippedOverflowRect): 74691 74692 2008-10-27 Anders Carlsson <andersca (a] apple.com> 74693 74694 Reviewed by Sam Weinig. 74695 74696 No need to call release if the connection is null. 74697 74698 * platform/network/mac/ResourceHandleMac.mm: 74699 (WebCore::ResourceHandle::start): 74700 74701 2008-10-27 Anders Carlsson <andersca (a] apple.com> 74702 74703 Reviewed by Kevin Decker. 74704 74705 <rdar://problem/6322650> Crash in fast/loader/simultaneous-reloads-assert.html 74706 74707 Make sure to null check the NSURLConnection object. 74708 74709 * platform/network/mac/ResourceHandleMac.mm: 74710 (WebCore::ResourceHandle::start): 74711 (WebCore::ResourceHandle::setDefersLoading): 74712 74713 2008-10-27 Alexey Proskuryakov <ap (a] webkit.org> 74714 74715 Fix non-Mac builds. 74716 74717 * GNUmakefile.am: 74718 * WebCore.pro: 74719 * WebCore.vcproj/WebCore.vcproj: 74720 * WebCoreSources.bkl: 74721 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor. 74722 74723 2008-10-26 Alexey Proskuryakov <ap (a] webkit.org> 74724 74725 Reviewed by Sam Weinig. 74726 74727 https://bugs.webkit.org/show_bug.cgi?id=21886 74728 window.HTMLOptionElement == "[object HTMLElementConstructor]" instead of HTMLOptionElementConstructor 74729 74730 Test: fast/dom/HTMLOptionElement/option-prototype.html 74731 74732 We now have separate objects for window.Option and window.HTMLOptionElement - the latter 74733 "constructor" cannot be used to construct anything. This matches Firefox behavior. 74734 74735 * WebCore.xcodeproj/project.pbxproj: 74736 * bindings/js/JSDOMWindowBase.cpp: 74737 (jsDOMWindowBaseOption): 74738 * bindings/js/JSHTMLOptionElementConstructor.cpp: Removed. 74739 * bindings/js/JSHTMLOptionElementConstructor.h: Removed. 74740 * bindings/js/JSOptionConstructor.cpp: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp. 74741 * bindings/js/JSOptionConstructor.h: Copied from WebCore/bindings/js/JSHTMLOptionElementConstructor.h. 74742 * html/HTMLOptionElement.idl: 74743 Renamed JSHTMLOptionElementConstructor to JSOptionConstructor. 74744 74745 * html/HTMLOptionElement.idl: Generate a constructor. 74746 74747 2008-10-25 Geoffrey Garen <ggaren (a] apple.com> 74748 74749 Not reviewed. 74750 74751 Try to fix Mac debug build on the buildbot. 74752 74753 * platform/FileChooser.cpp: 74754 (WebCore::FileChooserClient::~FileChooserClient): 74755 * platform/FileChooser.h: Moved destructor to .cpp file, to avoid a 74756 weak exported symbol. 74757 74758 2008-10-25 Jade Han <jade.han (a] nokia.com> 74759 74760 Reviewed by Anders. 74761 74762 Enable custom properties for Qt runtime objects in QtWebKit 74763 74764 https://bugs.webkit.org/show_bug.cgi?id=21813 74765 74766 * bridge/runtime_object.cpp: 74767 (JSC::RuntimeObjectImp::getOwnPropertySlot): 74768 (JSC::RuntimeObjectImp::put): 74769 74770 2008-10-24 Sam Weinig <sam (a] webkit.org> 74771 74772 Fix windows build. 74773 74774 * page/Chrome.cpp: 74775 * page/Chrome.h: 74776 74777 2008-10-24 Sam Weinig <sam (a] webkit.org> 74778 74779 Fix Qt build. 74780 74781 * platform/qt/FileChooserQt.cpp: 74782 74783 2008-10-24 Sam Weinig <sam (a] webkit.org> 74784 74785 Reviewed by Dan Bernstein. 74786 74787 Fix https://bugs.webkit.org/show_bug.cgi?id=21759 74788 Layering violation: FileChooser should not depend on Document/Frame/Page 74789 74790 Move file choosing into WebKit ChromeClient. 74791 74792 * loader/EmptyClients.h: 74793 (WebCore::EmptyChromeClient::runOpenPanel): 74794 * page/Chrome.cpp: 74795 (WebCore::Chrome::runOpenPanel): 74796 * page/Chrome.h: 74797 * page/ChromeClient.h: 74798 * page/mac/ChromeMac.mm: 74799 * platform/FileChooser.h: 74800 * platform/mac/FileChooserMac.mm: 74801 * platform/qt/FileChooserQt.cpp: 74802 * platform/win/FileChooserWin.cpp: 74803 * platform/wx/TemporaryLinkStubs.cpp: 74804 * rendering/RenderFileUploadControl.cpp: 74805 (WebCore::RenderFileUploadControl::click): 74806 74807 2008-10-24 Kevin Ollivier <kevino (a] theolliviers.com> 74808 74809 wx build fix - add newIconForFiles stub. 74810 74811 * platform/wx/TemporaryLinkStubs.cpp: 74812 (Icon::newIconForFiles): 74813 74814 2008-10-24 Kevin Watters <kevinwatters (a] gmail.com> 74815 74816 Reviewed by Kevin Ollivier. 74817 74818 Use the CGFont metrics APIs for more accurate measurements, and tweak the y 74819 value the text is drawn at (it was a couple pixels off before because wx 74820 internally adds to the y value. 74821 74822 https://bugs.webkit.org/show_bug.cgi?id=21853 74823 74824 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 74825 (wxFontProperties::wxFontProperties): 74826 * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp: 74827 (WebCore::drawTextWithSpacing): 74828 74829 2008-10-24 Eric Seidel <eric (a] webkit.org> 74830 74831 Reviewed by Sam Weinig. 74832 74833 Generate missing constructors and add test to prevent missing ones in the future 74834 https://bugs.webkit.org/show_bug.cgi?id=21846 74835 74836 Test: fast/js/global-constructors.html 74837 74838 * css/CSSStyleSheet.idl: 74839 * css/RGBColor.idl: 74840 * dom/NodeIterator.idl: 74841 * dom/TreeWalker.idl: 74842 * xml/XPathExpression.idl: 74843 74844 2008-10-24 Alexey Proskuryakov <ap (a] webkit.org> 74845 74846 Reviewed by Darin Adler. 74847 74848 https://bugs.webkit.org/show_bug.cgi?id=21836 74849 REGRESSION: Sign-in on Fancast.com causes crash in Webkit nightly 74850 74851 Test: http/tests/xmlhttprequest/detaching-frame.html 74852 74853 * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::dropProtection): Null check the window - 74854 even though XHR needs a context (AKA frame) to be serviced, the frame may be disconnected 74855 when dispatching the same callback that results in this function being called. 74856 74857 2008-10-24 David Kilzer <ddkilzer (a] apple.com> 74858 74859 Gtk build fix. 74860 74861 * platform/gtk/TemporaryLinkStubs.cpp: 74862 (WebCore::setFocusRingColorChangeFunction): Removed in r37858. 74863 74864 2008-10-24 Mark Rowe <mrowe (a] apple.com> 74865 74866 Reviewed by Sam Weinig. 74867 74868 <rdar://problem/6164952> Use constant kCGInterpolationMedium in GraphicsContextCG.cpp rather than hard-coded values. 74869 74870 * platform/graphics/cg/GraphicsContextCG.cpp: 74871 (WebCore::GraphicsContext::setImageInterpolationQuality): 74872 (WebCore::GraphicsContext::imageInterpolationQuality): 74873 74874 2008-10-24 Anders Carlsson <andersca (a] apple.com> 74875 74876 Reviewed by Sam Weinig. 74877 74878 <rdar://problem/5440917> Support NPN_Construct 74879 74880 * WebCore.NPAPI.exp: 74881 Export _NPN_Construct. 74882 74883 * bridge/NP_jsobject.cpp: 74884 (_NPN_Construct): 74885 Implement this. 74886 74887 * bridge/c/c_instance.cpp: 74888 (JSC::Bindings::CInstance::supportsConstruct): 74889 (JSC::Bindings::CInstance::invokeConstruct): 74890 Have this call the appropriate NPClass method. 74891 74892 * bridge/npruntime.h: 74893 Add NPN_Construct. 74894 74895 * bridge/npruntime_impl.h: 74896 Add _NPN_Construct. 74897 74898 * bridge/runtime.h: 74899 (JSC::Bindings::Instance::supportsConstruct): 74900 (JSC::Bindings::Instance::invokeConstruct): 74901 New methods. 74902 74903 * bridge/runtime_object.cpp: 74904 (JSC::callRuntimeConstructor): 74905 Call the native instance. 74906 74907 (JSC::RuntimeObjectImp::getConstructData): 74908 Implement this. 74909 74910 * bridge/runtime_object.h: 74911 Add new method declarations. 74912 74913 * plugins/gtk/PluginPackageGtk.cpp: 74914 (WebCore::PluginPackage::load): 74915 * plugins/qt/PluginPackageQt.cpp: 74916 (WebCore::PluginPackage::load): 74917 * plugins/win/PluginPackageWin.cpp: 74918 (WebCore::PluginPackage::load): 74919 Initialize m_pluginFuncs.construct. 74920 74921 2008-10-24 Adele Peterson <adele (a] apple.com> 74922 74923 Build fix. 74924 74925 * platform/FileChooser.h: (WebCore::FileChooserClient::~FileChooserClient): 74926 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): 74927 74928 2008-10-24 Greg Bolsinga <bolsinga (a] apple.com> 74929 74930 Fix GTK build break. 74931 74932 Reviewed by David Kilzer. 74933 74934 * GNUmakefile.am: Do not include .idl files whose generated files should not be 74935 compiled. 74936 74937 2008-10-24 David Kilzer <ddkilzer (a] apple.com> 74938 74939 Wx build fix. 74940 74941 * platform/wx/TemporaryLinkStubs.cpp: 74942 (WebCore::setFocusRingColorChangeFunction): Removed in r37858. 74943 74944 2008-10-24 Adele Peterson <adele (a] apple.com> 74945 74946 Reviewed by Sam Weinig. 74947 74948 WebCore part of fix for <rdar://problem/5839256> FILE CONTROL: multi-file upload. 74949 74950 This change adds support for multiple file selection in an <input type="file"> control when the "multiple" attribute is used. 74951 This is consistent with the direction HTML5 will be going in the future. 74952 74953 The initial implementation here will show "n files" as the text next to the control when multiple files are selected. You can view 74954 the individual files in a tooltip for now. Improvements to this control will come later. 74955 74956 Web developers will be able to access the FileList from the HTMLInputElement element, where they can get a base name and a size for each file. 74957 These FileList Files can also be sent in an XMLHTTPRequest. 74958 74959 * manual-tests/post-multi-file-upload.html: Added. 74960 * manual-tests/resources/multiFileResources: Added. 74961 * manual-tests/resources/multiFileResources/post-echo-and-notify-done.cgi: Added. 74962 * manual-tests/resources/multiFileResources/testFile1.html: Added. 74963 * manual-tests/resources/multiFileResources/testFile2.html: Added. 74964 * manual-tests/resources/multiFileResources/testFile3.html: Added. 74965 74966 * WebCore.base.exp: Added support to export the new "chooseFilenames" method to be used in WebKit. 74967 74968 * html/HTMLInputElement.cpp: 74969 (WebCore::HTMLInputElement::parseMappedAttribute): Add support for the multiple attribute. 74970 (WebCore::HTMLInputElement::value): Added comments. The HTML5 spec says that value shouldn't apply for the file upload control, 74971 but we don't want to break the behavior for existing websites that may rely on this. 74972 (WebCore::HTMLInputElement::setValue): ditto. 74973 (WebCore::HTMLInputElement::setValueFromRenderer): This is no longer used for file upload controls. setFileListFromRenderer is used instead. 74974 (WebCore::HTMLInputElement::setFileListFromRenderer): Added. 74975 * html/HTMLInputElement.h: 74976 74977 * page/Chrome.cpp: (WebCore::Chrome::setToolTip): Show a tooltip with the file name list for the multi-file upload control. 74978 74979 * page/DragController.cpp: (WebCore::DragController::concludeDrag): Updated to support multiple files. 74980 74981 * platform/FileChooser.cpp: Add support for maintaining a list of file paths that can be retrieved by the renderer. 74982 (WebCore::FileChooser::FileChooser): 74983 (WebCore::FileChooser::create): 74984 (WebCore::FileChooser::clear): 74985 (WebCore::FileChooser::chooseFile): 74986 (WebCore::FileChooser::chooseFiles): 74987 (WebCore::FileChooser::chooseIcon): 74988 * platform/FileChooser.h: 74989 (WebCore::FileChooser::filePaths): 74990 (WebCore::FileChooser::allowsMultipleFiles): 74991 74992 * platform/graphics/Icon.h: 74993 * platform/graphics/mac/IconMac.mm: (WebCore::Icon::newIconForFiles): Returns a generic icon for multiple files. 74994 * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::newIconForFiles): stubbed out. 74995 * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::newIconForFiles): ditto. 74996 * platform/graphics/win/IconWin.cpp: (WebCore::Icon::newIconForFiles): ditto. 74997 74998 * platform/gtk/FileChooserGtk.cpp: (WebCore::FileChooser::basenameForWidth): Updated to deal with new filenames vector. 74999 * platform/mac/FileChooserMac.mm: (WebCore::FileChooser::basenameForWidth): ditto. 75000 * platform/qt/FileChooserQt.cpp: 75001 (WebCore::FileChooser::openFileChooser): 75002 (WebCore::FileChooser::basenameForWidth): 75003 * platform/win/FileChooserWin.cpp: (WebCore::FileChooser::basenameForWidth): 75004 75005 * platform/network/mac/FormDataStreamMac.mm: (WebCore::disassociateStreamWithResourceHandle): 75006 Removed unnecessary assertion. This can get hit when connectionDidFinishLoading and cancel 75007 both get called for the same ResourceHandle. This getting called twice has no negative effect. 75008 75009 * rendering/RenderFileUploadControl.cpp: 75010 (WebCore::RenderFileUploadControl::valueChanged): Calls setFileListFromRenderer. 75011 (WebCore::RenderFileUploadControl::allowsMultipleFiles): Added. 75012 (WebCore::RenderFileUploadControl::updateFromElement): Uses the new filenames call from FileChooser. 75013 (WebCore::RenderFileUploadControl::receiveDroppedFiles): Updated to support multiple files. 75014 * rendering/RenderFileUploadControl.h: 75015 75016 2008-10-23 Peter Kasting <pkasting (a] google.com> 75017 75018 Reviewed by David Hyatt. 75019 75020 https://bugs.webkit.org/show_bug.cgi?id=21844 75021 Remove setFocusRingColorChangeFunction. 75022 75023 * page/Page.cpp: 75024 (WebCore::Page::Page): 75025 * platform/graphics/Color.h: 75026 * platform/graphics/mac/ColorMac.mm: 75027 (WebCore::focusRingColor): 75028 * platform/graphics/qt/GraphicsContextQt.cpp: 75029 * platform/graphics/win/ColorSafari.cpp: 75030 75031 2008-10-24 David Kilzer <ddkilzer (a] apple.com> 75032 75033 Build fix for Qt. 75034 75035 Reviewed by Greg. 75036 75037 * WebCore.pro: Added missing *.idl files. 75038 75039 2008-10-24 Greg Bolsinga <bolsinga (a] apple.com> 75040 75041 Reviewed by Sam Weinig. 75042 75043 https://bugs.webkit.org/show_bug.cgi?id=21475 75044 75045 Provide support for the Geolocation API 75046 75047 http://dev.w3.org/geo/api/spec-source.html 75048 75049 Test: geolocation/geolocation-not-implemented.html 75050 75051 * DerivedSources.make: 75052 * GNUmakefile.am: Added Geolocation support 75053 * WebCore.pro: Added Geolocation support 75054 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support 75055 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support 75056 * WebCoreSources.bkl: Added Geolocation support 75057 * bindings/js/JSCustomPositionCallback.cpp: Added. 75058 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): 75059 (WebCore::JSCustomPositionCallback::handleEvent): 75060 * bindings/js/JSCustomPositionCallback.h: Added. 75061 (WebCore::JSCustomPositionCallback::create): 75062 * bindings/js/JSCustomPositionErrorCallback.cpp: Added. 75063 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): 75064 (WebCore::JSCustomPositionErrorCallback::handleEvent): 75065 * bindings/js/JSCustomPositionErrorCallback.h: Added. 75066 (WebCore::JSCustomPositionErrorCallback::create): 75067 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom 75068 (WebCore::markDOMObjectWrapper): 75069 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom 75070 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding 75071 * bindings/js/JSGeolocationCustom.cpp: Added. 75072 (WebCore::JSGeolocation::getCurrentPosition): 75073 (WebCore::JSGeolocation::watchPosition): 75074 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation 75075 (WebCore::JSNavigator::mark): 75076 * dom/Document.cpp: 75077 (WebCore::Document::Document): 75078 * dom/Document.h: 75079 (WebCore::Document::setUsingGeolocation): 75080 (WebCore::Document::usingGeolocation): 75081 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation 75082 (WebCore::FrameLoader::canCachePage): 75083 * page/Geolocation.cpp: Added. 75084 (WebCore::Geolocation::GeoNotifier::GeoNotifier): 75085 (WebCore::Geolocation::GeoNotifier::timerFired): 75086 (WebCore::Geolocation::Geolocation): 75087 (WebCore::Geolocation::disconnectFrame): 75088 (WebCore::Geolocation::getCurrentPosition): 75089 (WebCore::Geolocation::watchPosition): 75090 (WebCore::Geolocation::clearWatch): 75091 (WebCore::Geolocation::stopUpdatingIfEmpty): 75092 (WebCore::Geolocation::sendErrorToOneShots): 75093 (WebCore::Geolocation::sendErrorToWatchers): 75094 (WebCore::Geolocation::sendPositionToOneShots): 75095 (WebCore::Geolocation::sendPositionToWatchers): 75096 (WebCore::Geolocation::handleError): 75097 (WebCore::Geolocation::geolocationServicePositionChanged): 75098 (WebCore::Geolocation::geolocationServiceErrorOccurred): 75099 * page/Geolocation.h: Added. 75100 (WebCore::Geolocation::create): 75101 (WebCore::Geolocation::~Geolocation): 75102 (WebCore::Geolocation::lastPosition): 75103 (WebCore::Geolocation::GeoNotifier::create): 75104 * page/Geolocation.idl: Added. 75105 * page/Geoposition.cpp: Added. 75106 (WebCore::Geoposition::toString): 75107 * page/Geoposition.h: Added. 75108 (WebCore::Geoposition::create): 75109 (WebCore::Geoposition::latitude): 75110 (WebCore::Geoposition::longitude): 75111 (WebCore::Geoposition::altitude): 75112 (WebCore::Geoposition::accuracy): 75113 (WebCore::Geoposition::altitudeAccuracy): 75114 (WebCore::Geoposition::heading): 75115 (WebCore::Geoposition::velocity): 75116 (WebCore::Geoposition::timestamp): 75117 (WebCore::Geoposition::Geoposition): 75118 * page/Geoposition.idl: Added. 75119 * page/Navigator.cpp: 75120 (WebCore::Navigator::disconnectFrame): disconnect Geolocation 75121 (WebCore::Navigator::geolocation): accessor for Geolocation 75122 * page/Navigator.h: 75123 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation 75124 * page/Navigator.idl: accessor for Geolocation 75125 * page/PositionCallback.h: Added. 75126 (WebCore::PositionCallback::~PositionCallback): 75127 * page/PositionCallback.idl: Added. 75128 * page/PositionError.h: Added. 75129 (WebCore::PositionError::): 75130 (WebCore::PositionError::create): 75131 (WebCore::PositionError::code): 75132 (WebCore::PositionError::message): 75133 (WebCore::PositionError::PositionError): 75134 * page/PositionError.idl: Added. 75135 * page/PositionErrorCallback.h: Added. 75136 (WebCore::PositionErrorCallback::~PositionErrorCallback): 75137 * page/PositionErrorCallback.idl: Added. 75138 * page/PositionOptions.h: Added. 75139 (WebCore::PositionOptions::create): 75140 (WebCore::PositionOptions::enableHighAccuracy): 75141 (WebCore::PositionOptions::setEnableHighAccuracy): 75142 (WebCore::PositionOptions::timeout): 75143 (WebCore::PositionOptions::setTimeout): 75144 (WebCore::PositionOptions::PositionOptions): 75145 * page/PositionOptions.idl: Added. 75146 * platform/GeolocationService.cpp: Added. 75147 (WebCore::GeolocationService::GeolocationService): 75148 (WebCore::GeolocationService::positionChanged): 75149 (WebCore::GeolocationService::errorOccurred): 75150 * platform/GeolocationService.h: Added. 75151 (WebCore::GeolocationServiceClient::~GeolocationServiceClient): 75152 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): 75153 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): 75154 (WebCore::GeolocationService::~GeolocationService): 75155 75156 2008-10-24 Simon Fraser <simon.fraser (a] apple.com> 75157 75158 Reviewed by Darin Adler 75159 75160 https://bugs.webkit.org/show_bug.cgi?id=21818 75161 75162 Add HashTraits for AtomicString so that AtomicString can be used as 75163 the key for a HashMap or HashSet. 75164 75165 * GNUmakefile.am: add AtomicStringHash.h 75166 * WebCore.vcproj/WebCore.vcproj: add AtomicStringHash.h 75167 * WebCore.xcodeproj/project.pbxproj: add AtomicStringHash.h 75168 * platform/text/AtomicString.h: 75169 (WebCore::AtomicString::AtomicString): 75170 (WebCore::AtomicString::isHashTableDeletedValue): 75171 specialize DefaultHash for AtomicString to use AtomicStringHash 75172 * platform/text/AtomicStringHash.h: Added. 75173 * platform/text/StringImpl.cpp: 75174 (WebCore::StringImpl::StringImpl): 75175 compute the hash up-front for the empty string 75176 * platform/text/StringImpl.h: 75177 (WebCore::StringImpl::existingHash): 75178 method to get the hash without a test and branch, for callers like 75179 AtomicStringHash who can guarantee that the hash has already been computed. 75180 75181 2008-10-24 Simon Fraser <simon.fraser (a] apple.com> 75182 75183 Reviewed by Sam Weinig 75184 75185 https://bugs.webkit.org/show_bug.cgi?id=21857 75186 75187 Add WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to the 75188 switch in _wrapCSSRule. 75189 75190 * bindings/objc/DOMCSS.mm: 75191 (+[DOMCSSRule _wrapCSSRule:WebCore::]): 75192 75193 2008-10-24 Adam Roben <aroben (a] apple.com> 75194 75195 Windows build fix 75196 75197 * plugins/PluginView.cpp: 75198 75199 2008-10-24 Dan Bernstein <mitz (a] apple.com> 75200 75201 Reviewed by Sam Weinig. 75202 75203 - fix https://bugs.webkit.org/show_bug.cgi?id=21851 75204 <rdar://problem/6304151> REGRESSION (r36513): Crash when removing a widget with percent height 75205 75206 Test: fast/replaced/percent-height-in-anonymous-block-widget.html 75207 75208 * rendering/RenderWidget.cpp: 75209 (WebCore::RenderWidget::destroy): Copied code added to 75210 RenderBox::destroy() in r36513 into this function. 75211 75212 2008-10-24 Timothy Hatcher <timothy (a] apple.com> 75213 75214 Add a mechanism to ask the InspectorClient for key/value setting pairs. 75215 These settings can be strings, numbers, booleans or string vectors. The 75216 settings are also bridged to and from JavaScript. 75217 75218 https://bugs.webkit.org/show_bug.cgi?id=21856 75219 75220 Reviewed by Darin Adler. 75221 75222 * WebCore.base.exp: Expose the String CFStringRef constructor. 75223 * inspector/InspectorClient.h: 75224 (WebCore::InspectorClient::populateSetting): Added, pure virtual. 75225 (WebCore::InspectorClient::storeSetting): Ditto. 75226 (WebCore::InspectorClient::removeSetting): Ditto. 75227 * inspector/InspectorController.cpp: 75228 (WebCore::setting): Calls InspectorController::setting and wraps the result in script types. 75229 (WebCore::setSetting): Calls InspectorController::setSetting after converting from script types. 75230 (WebCore::InspectorController::InspectorController): Increment a global static 75231 to track the number of live InspectorControllers. 75232 (WebCore::InspectorController::~InspectorController): Decrement the global static 75233 that tracks the number of live InspectorControllers. Delete the setting cache if there 75234 are no more live controllers. 75235 (WebCore::InspectorController::setting): Check the cache and return the setting from there, 75236 otherwise make a new Setting and ask the client to populate it. 75237 (WebCore::InspectorController::setSetting): Change the cache and ask the client to store it. 75238 (WebCore::InspectorController::windowScriptObjectAvailable): Add setting and setSetting 75239 to the InspectorController script class. 75240 * inspector/InspectorController.h: 75241 (WebCore::InspectorController::Setting::Setting): 75242 (WebCore::InspectorController::Setting::operator=): 75243 (WebCore::InspectorController::Setting::type): Return m_type. 75244 (WebCore::InspectorController::Setting::string): Return m_string. Assert the type is correct. 75245 (WebCore::InspectorController::Setting::stringVector): Return m_stringVector. 75246 Assert the type is correct. 75247 (WebCore::InspectorController::Setting::doubleValue): Return m_simpleContent.m_double. 75248 Assert the type is correct. 75249 (WebCore::InspectorController::Setting::integerValue): Return m_simpleContent.m_integer. 75250 Assert the type is correct. 75251 (WebCore::InspectorController::Setting::booleanValue): Return m_simpleContent.m_boolean. 75252 Assert the type is correct. 75253 (WebCore::InspectorController::Setting::set): Overloaded for each data type, sets the right 75254 field and the type. 75255 * loader/EmptyClients.h: 75256 (WebCore::EmptyInspectorClient::populateSetting): Added, empty method. 75257 (WebCore::EmptyInspectorClient::storeSetting): Ditto. 75258 (WebCore::EmptyInspectorClient::removeSetting): Ditto. 75259 75260 2008-10-24 Cameron Zwarich <zwarich (a] apple.com> 75261 75262 Reviewed by Sam Weinig. 75263 75264 Remove some C-style casts. 75265 75266 * html/HTMLViewSourceDocument.cpp: 75267 (WebCore::HTMLViewSourceDocument::addViewSourceToken): 75268 75269 2008-10-24 Darin Adler <darin (a] apple.com> 75270 75271 - finish rolling out https://bugs.webkit.org/show_bug.cgi?id=21732 75272 75273 * bindings/js/JSAttrCustom.cpp: 75274 * bindings/js/JSCSSRuleCustom.cpp: 75275 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 75276 * bindings/js/JSCSSValueCustom.cpp: 75277 * bindings/js/JSCanvasPixelArrayCustom.h: 75278 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 75279 * bindings/js/JSClipboardCustom.cpp: 75280 * bindings/js/JSConsoleCustom.cpp: 75281 * bindings/js/JSCustomSQLStatementCallback.cpp: 75282 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 75283 * bindings/js/JSCustomSQLTransactionCallback.cpp: 75284 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 75285 * bindings/js/JSCustomVoidCallback.cpp: 75286 * bindings/js/JSCustomVoidCallback.h: 75287 * bindings/js/JSCustomXPathNSResolver.cpp: 75288 * bindings/js/JSCustomXPathNSResolver.h: 75289 * bindings/js/JSDOMApplicationCacheCustom.cpp: 75290 * bindings/js/JSDOMBinding.cpp: 75291 * bindings/js/JSDOMBinding.h: 75292 * bindings/js/JSDOMWindowBase.cpp: 75293 * bindings/js/JSDOMWindowBase.h: 75294 * bindings/js/JSDOMWindowCustom.cpp: 75295 * bindings/js/JSDOMWindowCustom.h: 75296 * bindings/js/JSDOMWindowShell.cpp: 75297 * bindings/js/JSDOMWindowShell.h: 75298 * bindings/js/JSDatabaseCustom.cpp: 75299 * bindings/js/JSDedicatedWorkerCustom.cpp: 75300 * bindings/js/JSDocumentCustom.cpp: 75301 * bindings/js/JSElementCustom.cpp: 75302 * bindings/js/JSEventCustom.cpp: 75303 * bindings/js/JSEventListener.cpp: 75304 * bindings/js/JSEventTarget.cpp: 75305 * bindings/js/JSEventTarget.h: 75306 * bindings/js/JSEventTargetBase.h: 75307 * bindings/js/JSEventTargetNodeCustom.cpp: 75308 * bindings/js/JSHTMLAllCollection.h: 75309 * bindings/js/JSHTMLAppletElementCustom.cpp: 75310 * bindings/js/JSHTMLCollectionCustom.cpp: 75311 * bindings/js/JSHTMLDocumentCustom.cpp: 75312 * bindings/js/JSHTMLEmbedElementCustom.cpp: 75313 * bindings/js/JSHTMLFormElementCustom.cpp: 75314 * bindings/js/JSHTMLFrameElementCustom.cpp: 75315 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 75316 * bindings/js/JSHTMLIFrameElementCustom.cpp: 75317 * bindings/js/JSHTMLInputElementCustom.cpp: 75318 * bindings/js/JSHTMLObjectElementCustom.cpp: 75319 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 75320 * bindings/js/JSHTMLSelectElementCustom.cpp: 75321 * bindings/js/JSHTMLSelectElementCustom.h: 75322 * bindings/js/JSHistoryCustom.cpp: 75323 * bindings/js/JSImageDataCustom.cpp: 75324 * bindings/js/JSInspectedObjectWrapper.cpp: 75325 * bindings/js/JSInspectedObjectWrapper.h: 75326 * bindings/js/JSInspectorCallbackWrapper.cpp: 75327 * bindings/js/JSInspectorCallbackWrapper.h: 75328 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 75329 * bindings/js/JSLocationCustom.cpp: 75330 * bindings/js/JSMessagePortCustom.cpp: 75331 * bindings/js/JSMimeTypeArrayCustom.cpp: 75332 * bindings/js/JSNamedNodeMapCustom.cpp: 75333 * bindings/js/JSNamedNodesCollection.cpp: 75334 * bindings/js/JSNamedNodesCollection.h: 75335 * bindings/js/JSNavigatorCustom.cpp: 75336 * bindings/js/JSNodeCustom.cpp: 75337 * bindings/js/JSNodeFilterCondition.cpp: 75338 * bindings/js/JSNodeFilterCondition.h: 75339 * bindings/js/JSNodeFilterCustom.cpp: 75340 * bindings/js/JSNodeIteratorCustom.cpp: 75341 * bindings/js/JSNodeListCustom.cpp: 75342 * bindings/js/JSPluginArrayCustom.cpp: 75343 * bindings/js/JSPluginCustom.cpp: 75344 * bindings/js/JSPluginElementFunctions.cpp: 75345 * bindings/js/JSPluginElementFunctions.h: 75346 * bindings/js/JSQuarantinedObjectWrapper.cpp: 75347 * bindings/js/JSQuarantinedObjectWrapper.h: 75348 * bindings/js/JSRGBColor.cpp: 75349 * bindings/js/JSRGBColor.h: 75350 * bindings/js/JSSQLResultSetRowListCustom.cpp: 75351 * bindings/js/JSSQLTransactionCustom.cpp: 75352 * bindings/js/JSSVGElementInstanceCustom.cpp: 75353 * bindings/js/JSSVGLengthCustom.cpp: 75354 * bindings/js/JSSVGMatrixCustom.cpp: 75355 * bindings/js/JSSVGPathSegCustom.cpp: 75356 * bindings/js/JSSVGPathSegListCustom.cpp: 75357 * bindings/js/JSSVGPointListCustom.cpp: 75358 * bindings/js/JSSVGTransformListCustom.cpp: 75359 * bindings/js/JSStorageCustom.cpp: 75360 * bindings/js/JSStyleSheetCustom.cpp: 75361 * bindings/js/JSStyleSheetListCustom.cpp: 75362 * bindings/js/JSTextCustom.cpp: 75363 * bindings/js/JSTreeWalkerCustom.cpp: 75364 * bindings/js/JSXMLHttpRequestCustom.cpp: 75365 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 75366 * bindings/js/JSXSLTProcessorCustom.cpp: 75367 * bindings/js/ScheduledAction.cpp: 75368 * bindings/js/ScheduledAction.h: 75369 * bindings/js/ScriptController.cpp: 75370 * bindings/js/ScriptController.h: 75371 * bindings/objc/WebScriptObject.mm: 75372 * bindings/objc/WebScriptObjectPrivate.h: 75373 * bindings/scripts/CodeGeneratorJS.pm: 75374 * bridge/NP_jsobject.cpp: 75375 * bridge/c/c_instance.cpp: 75376 * bridge/c/c_instance.h: 75377 * bridge/c/c_runtime.cpp: 75378 * bridge/c/c_runtime.h: 75379 * bridge/c/c_utility.cpp: 75380 * bridge/c/c_utility.h: 75381 * bridge/jni/jni_instance.cpp: 75382 * bridge/jni/jni_instance.h: 75383 * bridge/jni/jni_jsobject.h: 75384 * bridge/jni/jni_jsobject.mm: 75385 * bridge/jni/jni_objc.mm: 75386 * bridge/jni/jni_runtime.cpp: 75387 * bridge/jni/jni_runtime.h: 75388 * bridge/jni/jni_utility.cpp: 75389 * bridge/jni/jni_utility.h: 75390 * bridge/objc/WebScriptObject.h: 75391 * bridge/objc/objc_class.h: 75392 * bridge/objc/objc_class.mm: 75393 * bridge/objc/objc_instance.h: 75394 * bridge/objc/objc_instance.mm: 75395 * bridge/objc/objc_runtime.h: 75396 * bridge/objc/objc_runtime.mm: 75397 * bridge/objc/objc_utility.h: 75398 * bridge/objc/objc_utility.mm: 75399 * bridge/qt/qt_class.cpp: 75400 * bridge/qt/qt_class.h: 75401 * bridge/qt/qt_instance.cpp: 75402 * bridge/qt/qt_instance.h: 75403 * bridge/qt/qt_runtime.cpp: 75404 * bridge/qt/qt_runtime.h: 75405 * bridge/runtime.cpp: 75406 * bridge/runtime.h: 75407 * bridge/runtime_array.cpp: 75408 * bridge/runtime_array.h: 75409 * bridge/runtime_method.cpp: 75410 * bridge/runtime_method.h: 75411 * bridge/runtime_object.cpp: 75412 * bridge/runtime_object.h: 75413 * bridge/testqtbindings.cpp: 75414 * inspector/JavaScriptCallFrame.cpp: 75415 * inspector/JavaScriptCallFrame.h: 75416 * inspector/JavaScriptProfile.cpp: 75417 * inspector/JavaScriptProfile.h: 75418 * inspector/JavaScriptProfileNode.cpp: 75419 * inspector/JavaScriptProfileNode.h: 75420 * loader/FrameLoader.cpp: 75421 * loader/FrameLoader.h: 75422 * page/Console.cpp: 75423 * page/Console.h: 75424 * plugins/MimeTypeArray.h: 75425 * plugins/Plugin.h: 75426 * plugins/PluginArray.h: 75427 * plugins/PluginView.cpp: 75428 * xml/XMLHttpRequest.cpp: 75429 Use JSValue* instead of JSValuePtr. 75430 75431 2008-10-24 Simon Hausmann <hausmann (a] webkit.org> 75432 75433 Fix the Qt build. 75434 75435 * bridge/qt/qt_instance.cpp: 75436 (JSC::Bindings::QtField::valueFromInstance): 75437 75438 2008-10-24 David Kilzer <ddkilzer (a] apple.com> 75439 75440 Rolled out r37840 and r37841. 75441 75442 * DerivedSources.make: 75443 * GNUmakefile.am: 75444 * WebCore.pro: 75445 * WebCore.vcproj/WebCore.vcproj: 75446 * WebCore.xcodeproj/project.pbxproj: 75447 * WebCoreSources.bkl: 75448 * bindings/js/JSCustomPositionCallback.cpp: Removed. 75449 * bindings/js/JSCustomPositionCallback.h: Removed. 75450 * bindings/js/JSCustomPositionErrorCallback.cpp: Removed. 75451 * bindings/js/JSCustomPositionErrorCallback.h: Removed. 75452 * bindings/js/JSDOMBinding.cpp: 75453 * bindings/js/JSDOMBinding.h: 75454 * bindings/js/JSDOMWindowCustom.cpp: 75455 (WebCore::markDOMObjectWrapper): 75456 * bindings/js/JSGeolocationCustom.cpp: Removed. 75457 * bindings/js/JSNavigatorCustom.cpp: 75458 * dom/Document.cpp: 75459 (WebCore::Document::Document): 75460 * dom/Document.h: 75461 * loader/FrameLoader.cpp: 75462 (WebCore::FrameLoader::canCachePage): 75463 * page/Geolocation.cpp: Removed. 75464 * page/Geolocation.h: Removed. 75465 * page/Geolocation.idl: Removed. 75466 * page/Geoposition.cpp: Removed. 75467 * page/Geoposition.h: Removed. 75468 * page/Geoposition.idl: Removed. 75469 * page/Navigator.cpp: 75470 (WebCore::Navigator::disconnectFrame): 75471 * page/Navigator.h: 75472 * page/Navigator.idl: 75473 * page/PositionCallback.h: Removed. 75474 * page/PositionCallback.idl: Removed. 75475 * page/PositionError.h: Removed. 75476 * page/PositionError.idl: Removed. 75477 * page/PositionErrorCallback.h: Removed. 75478 * page/PositionErrorCallback.idl: Removed. 75479 * page/PositionOptions.h: Removed. 75480 * page/PositionOptions.idl: Removed. 75481 * platform/GeolocationService.cpp: Removed. 75482 * platform/GeolocationService.h: Removed. 75483 75484 2008-10-23 David Kilzer <ddkilzer (a] apple.com> 75485 75486 Attempt to fix GTK build. 75487 75488 * GNUmakefile.am: Added new *.idl files that were missing. 75489 75490 2008-10-23 Greg Bolsinga <bolsinga (a] apple.com> 75491 75492 Reviewed by Sam Weinig. 75493 75494 https://bugs.webkit.org/show_bug.cgi?id=21475 75495 75496 Provide support for the Geolocation API 75497 75498 http://dev.w3.org/geo/api/spec-source.html 75499 75500 Test: geolocation/geolocation-not-implemented.html 75501 75502 * DerivedSources.make: 75503 * GNUmakefile.am: Added Geolocation support 75504 * WebCore.pro: Added Geolocation support 75505 * WebCore.vcproj/WebCore.vcproj: Added Geolocation support 75506 * WebCore.xcodeproj/project.pbxproj: Added Geolocation support 75507 * WebCoreSources.bkl: Added Geolocation support 75508 * bindings/js/JSCustomPositionCallback.cpp: Added. 75509 (WebCore::JSCustomPositionCallback::JSCustomPositionCallback): 75510 (WebCore::JSCustomPositionCallback::handleEvent): 75511 * bindings/js/JSCustomPositionCallback.h: Added. 75512 (WebCore::JSCustomPositionCallback::create): 75513 * bindings/js/JSCustomPositionErrorCallback.cpp: Added. 75514 (WebCore::JSCustomPositionErrorCallback::JSCustomPositionErrorCallback): 75515 (WebCore::JSCustomPositionErrorCallback::handleEvent): 75516 * bindings/js/JSCustomPositionErrorCallback.h: Added. 75517 (WebCore::JSCustomPositionErrorCallback::create): 75518 * bindings/js/JSDOMBinding.cpp: move markDOMObjectWrapper here from JSDOMWindowCustom 75519 (WebCore::markDOMObjectWrapper): 75520 * bindings/js/JSDOMBinding.h: move markDOMObjectWrapper here from JSDOMWindowCustom 75521 * bindings/js/JSDOMWindowCustom.cpp: move markDOMObjectWrapper to JSDOMBinding 75522 * bindings/js/JSGeolocationCustom.cpp: Added. 75523 (WebCore::JSGeolocation::getCurrentPosition): 75524 (WebCore::JSGeolocation::watchPosition): 75525 * bindings/js/JSNavigatorCustom.cpp: handle marking Geolocation 75526 (WebCore::JSNavigator::mark): 75527 * dom/Document.cpp: 75528 (WebCore::Document::Document): 75529 * dom/Document.h: 75530 (WebCore::Document::setUsingGeolocation): 75531 (WebCore::Document::usingGeolocation): 75532 * loader/FrameLoader.cpp: don't add to back forward cache if using Geolocation 75533 (WebCore::FrameLoader::canCachePage): 75534 * page/Geolocation.cpp: Added. 75535 (WebCore::Geolocation::GeoNotifier::GeoNotifier): 75536 (WebCore::Geolocation::GeoNotifier::timerFired): 75537 (WebCore::Geolocation::Geolocation): 75538 (WebCore::Geolocation::disconnectFrame): 75539 (WebCore::Geolocation::getCurrentPosition): 75540 (WebCore::Geolocation::watchPosition): 75541 (WebCore::Geolocation::clearWatch): 75542 (WebCore::Geolocation::stopUpdatingIfEmpty): 75543 (WebCore::Geolocation::sendErrorToOneShots): 75544 (WebCore::Geolocation::sendErrorToWatchers): 75545 (WebCore::Geolocation::sendPositionToOneShots): 75546 (WebCore::Geolocation::sendPositionToWatchers): 75547 (WebCore::Geolocation::handleError): 75548 (WebCore::Geolocation::geolocationServicePositionChanged): 75549 (WebCore::Geolocation::geolocationServiceErrorOccurred): 75550 * page/Geolocation.h: Added. 75551 (WebCore::Geolocation::create): 75552 (WebCore::Geolocation::~Geolocation): 75553 (WebCore::Geolocation::lastPosition): 75554 (WebCore::Geolocation::GeoNotifier::create): 75555 * page/Geolocation.idl: Added. 75556 * page/Geoposition.cpp: Added. 75557 (WebCore::Geoposition::toString): 75558 * page/Geoposition.h: Added. 75559 (WebCore::Geoposition::create): 75560 (WebCore::Geoposition::latitude): 75561 (WebCore::Geoposition::longitude): 75562 (WebCore::Geoposition::altitude): 75563 (WebCore::Geoposition::accuracy): 75564 (WebCore::Geoposition::altitudeAccuracy): 75565 (WebCore::Geoposition::heading): 75566 (WebCore::Geoposition::velocity): 75567 (WebCore::Geoposition::timestamp): 75568 (WebCore::Geoposition::Geoposition): 75569 * page/Geoposition.idl: Added. 75570 * page/Navigator.cpp: 75571 (WebCore::Navigator::disconnectFrame): disconnect Geolocation 75572 (WebCore::Navigator::geolocation): accessor for Geolocation 75573 * page/Navigator.h: 75574 (WebCore::Navigator::optionalGeolocation): accessor for Geolocation 75575 * page/Navigator.idl: accessor for Geolocation 75576 * page/PositionCallback.h: Added. 75577 (WebCore::PositionCallback::~PositionCallback): 75578 * page/PositionCallback.idl: Added. 75579 * page/PositionError.h: Added. 75580 (WebCore::PositionError::): 75581 (WebCore::PositionError::create): 75582 (WebCore::PositionError::code): 75583 (WebCore::PositionError::message): 75584 (WebCore::PositionError::PositionError): 75585 * page/PositionError.idl: Added. 75586 * page/PositionErrorCallback.h: Added. 75587 (WebCore::PositionErrorCallback::~PositionErrorCallback): 75588 * page/PositionErrorCallback.idl: Added. 75589 * page/PositionOptions.h: Added. 75590 (WebCore::PositionOptions::create): 75591 (WebCore::PositionOptions::enableHighAccuracy): 75592 (WebCore::PositionOptions::setEnableHighAccuracy): 75593 (WebCore::PositionOptions::timeout): 75594 (WebCore::PositionOptions::setTimeout): 75595 (WebCore::PositionOptions::PositionOptions): 75596 * page/PositionOptions.idl: Added. 75597 * platform/GeolocationService.cpp: Added. 75598 (WebCore::GeolocationService::GeolocationService): 75599 (WebCore::GeolocationService::positionChanged): 75600 (WebCore::GeolocationService::errorOccurred): 75601 * platform/GeolocationService.h: Added. 75602 (WebCore::GeolocationServiceClient::~GeolocationServiceClient): 75603 (WebCore::GeolocationServiceClient::geolocationServicePositionChanged): 75604 (WebCore::GeolocationServiceClient::geolocationServiceErrorOccurred): 75605 (WebCore::GeolocationService::~GeolocationService): 75606 75607 2008-10-23 Alp Toker <alp (a] nuanti.com> 75608 75609 Fix typo in comment in previous commit. GTK -> GLIB 75610 75611 * platform/gtk/guriescape.c: 75612 75613 2008-10-23 Kalle Vahlman <kalle.vahlman (a] movial.com> 75614 75615 Reviewed by Alp Toker. 75616 75617 https://bugs.webkit.org/show_bug.cgi?id=21824 75618 [GTK] FileSystem abstraction uses features from Glib 2.16 75619 75620 Wrap g_uri_unescape_string() to fix building with pre-2.16 Glib 75621 75622 * platform/gtk/guriescape.c: 75623 (unescape_character): 75624 (_webcore_g_uri_unescape_segment): 75625 (_webcore_g_uri_unescape_string): 75626 * platform/gtk/guriescape.h: 75627 75628 2008-10-23 Jan Michael Alonzo <jmalonzo (a] webkit.org> 75629 75630 Fix Gtk build typo introduced in http://trac.webkit.org/changeset/37826. 75631 75632 * GNUmakefile.am: 75633 75634 2008-10-23 Darin Fisher <darin (a] chromium.org> 75635 75636 Reviewed by Eric Seidel. 75637 75638 m_frame null checked but then dereferenced 75639 https://bugs.webkit.org/show_bug.cgi?id=21845 75640 75641 This error was found using a static analysis tool, and so I do not know 75642 how to produce a null m_frame on entry to this method. Hence, I have 75643 not included a regression test. 75644 75645 * page/EventHandler.cpp: 75646 (WebCore::EventHandler::allowDHTMLDrag): Add an early return. 75647 75648 2008-10-23 Dan Bernstein <mitz (a] apple.com> 75649 75650 Reviewed by Sam Weinig with no hesitation. 75651 75652 - fix the HTML/CSS case of https://bugs.webkit.org/show_bug.cgi?id=19839 75653 <rdar://problem/6304805> A PDF,RLE sequence that should be a no-op affects bidi reordering 75654 75655 Test: fast/text/bidi-embedding-pop-and-push-same.html 75656 75657 * platform/text/BidiResolver.h: 75658 (WebCore::BidiResolver::embed): Changed to only add the embedding 75659 operation to a vector of pending operations. 75660 75661 (WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Added. Moved the 75662 code that used to be in the PDF case of embed() here, except the part 75663 that sets the context. 75664 75665 (WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Added. Moved the 75666 code that used to be in the non-PDF case of embed() here, except the 75667 part the sets the context. 75668 75669 (WebCore::BidiResolver::commitExplicitEmbedding): Added. Processes the 75670 explicit embedding operations in the vector by creating an updated 75671 context and determining the old and new embedding levels. If the levels 75672 are not the same, calls {lower,raise}ExplicitEmbeddingLevel(). Always 75673 sets the context to the new one. 75674 75675 (WebCore::BidiResolver::createBidiRunsForLine): Added calls to 75676 commitExplicitEmbedding() after calling embed() and after calling 75677 increment(). 75678 75679 * rendering/bidi.cpp: 75680 (WebCore::bidiFirst): Added calls to commitExplicitEmbedding() because 75681 this function increments the resolver. 75682 75683 (WebCore::RenderBlock::skipLeadingWhitespace): Ditto. 75684 75685 2008-10-23 Jan Michael Alonzo <jmalonzo (a] webkit.org> 75686 75687 Gtk build fix. Not reviewed. 75688 75689 Add DNSCurl and DNSSoup to the Gtk build 75690 75691 * GNUmakefile.am: 75692 * platform/gtk/TemporaryLinkStubs.cpp: 75693 * platform/network/soup/DNSSoup.cpp: Copied from WebCore/platform/network/curl/DNSCurl.cpp. 75694 (WebCore::prefetchDNS): 75695 75696 2008-10-23 Eric Seidel <eric (a] webkit.org> 75697 75698 Reviewed by Sam Weinig. 75699 75700 Un-break the Darwin build. 75701 75702 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 75703 * platform/graphics/cg/ImageCG.cpp: 75704 75705 2008-10-23 Darin Fisher <darin (a] chromium.org> 75706 75707 Reviewed by Eric Seidel. 75708 75709 Fix forward decls to be struct instead of class. 75710 https://bugs.webkit.org/show_bug.cgi?id=21838 75711 75712 * rendering/style/StyleRareInheritedData.h: 75713 * rendering/style/StyleRareNonInheritedData.h: 75714 75715 2008-10-23 Brent Fulgham <bfulgham (a] gmail.com> 75716 75717 Reviewed by Oliver Hunt. 75718 75719 * platform/network/curl/ResourceRequest.h: A better implementation 75720 of CFURLRequest, rather than void*. This gives better compatibility 75721 with the WebKit.idl interface. 75722 (WebCore::ResourceRequest::cfURLRequest): 75723 75724 2008-10-23 Mike Pinkerton <pinkerton (a] chromium.org> 75725 75726 Reviewed by Eric Seidel. 75727 75728 PLATFORM(CHROMIUM) uses CG the same way PLATFORM(MAC) does so fix 75729 ifdefs to reflect that. 75730 75731 * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: 75732 * platform/graphics/cg/ImageCG.cpp: 75733 75734 2008-10-23 Peter Kasting <pkasting (a] google.com> 75735 75736 Reviewed by Adam Roben. 75737 75738 https://bugs.webkit.org/show_bug.cgi?id=21833 75739 Place JavaScript Debugger hooks under #if ENABLE(JAVASCRIPT_DEBUGGER). 75740 75741 * inspector/InspectorController.cpp: 75742 (WebCore::InspectorController::InspectorController): 75743 (WebCore::InspectorController::setWindowVisible): 75744 (WebCore::InspectorController::windowScriptObjectAvailable): 75745 (WebCore::InspectorController::close): 75746 * inspector/InspectorController.h: 75747 * page/Page.cpp: 75748 (WebCore::Page::Page): 75749 75750 2008-10-23 Kevin McCullough <kmccullough (a] apple.com> 75751 75752 Reviewed by Tim Hatcher. 75753 75754 https://bugs.webkit.org/show_bug.cgi?id=21817 75755 Bug 21817: Manual profiler tests should be made into layout tests 75756 75757 -Moving the tests before diffing so that it's clear what changed. 75758 75759 * manual-tests/inspector/profiler-test-anonymous-event-handler.html: Removed. 75760 * manual-tests/inspector/profiler-test-anonymous-function-called-from-different-contexts.html: Removed. 75761 * manual-tests/inspector/profiler-test-anonymous-function-calls-built-in-functions.html: Removed. 75762 * manual-tests/inspector/profiler-test-anonymous-function-calls-eval.html: Removed. 75763 * manual-tests/inspector/profiler-test-apply.html: Removed. 75764 * manual-tests/inspector/profiler-test-built-in-function-calls-anonymous.html: Removed. 75765 * manual-tests/inspector/profiler-test-built-in-function-calls-user-defined-function.html: Removed. 75766 * manual-tests/inspector/profiler-test-call-nodelist-as-function.html: Removed. 75767 * manual-tests/inspector/profiler-test-calling-the-function-that-started-the-profiler-from-another-scope.html: Removed. 75768 * manual-tests/inspector/profiler-test-compare-multiple-profiles.html: Removed. 75769 * manual-tests/inspector/profiler-test-constructor.html: Removed. 75770 * manual-tests/inspector/profiler-test-dead-time.html: Removed. 75771 * manual-tests/inspector/profiler-test-deep-recursion.html: Removed. 75772 * manual-tests/inspector/profiler-test-document-dot-write.html: Removed. 75773 * manual-tests/inspector/profiler-test-event-handler.html: Removed. 75774 * manual-tests/inspector/profiler-test-execution-context-and-eval-on-same-line.html: Removed. 75775 * manual-tests/inspector/profiler-test-heavy-view.html: Removed. 75776 * manual-tests/inspector/profiler-test-inline-event-handler.html: Removed. 75777 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-anonymous-function-calls.html: Removed. 75778 * manual-tests/inspector/profiler-test-multiple-and-different-scoped-function-calls.html: Removed. 75779 * manual-tests/inspector/profiler-test-multiple-frames.html: Removed. 75780 * manual-tests/inspector/profiler-test-multiple-windows.html: Removed. 75781 * manual-tests/inspector/profiler-test-nested-anonymous-functon.html: Removed. 75782 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: Removed. 75783 * manual-tests/inspector/profiler-test-no-execution-context.html: Removed. 75784 * manual-tests/inspector/profiler-test-one-execution-context.html: Removed. 75785 * manual-tests/inspector/profiler-test-profile-calls-in-included-file.html: Removed. 75786 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed. 75787 * manual-tests/inspector/profiler-test-profiling-from-a-nested-location.html: Removed. 75788 * manual-tests/inspector/profiler-test-simple-event-call.html: Removed. 75789 * manual-tests/inspector/profiler-test-simple-no-level-change.html: Removed. 75790 * manual-tests/inspector/profiler-test-start-and-stop-profiler-multiple-times.html: Removed. 75791 * manual-tests/inspector/profiler-test-start-and-stop-profiling-in-the-same-function.html: Removed. 75792 * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Removed. 75793 * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html: Removed. 75794 * manual-tests/inspector/profiler-test-stop-then-function-call.html: Removed. 75795 * manual-tests/inspector/profiler-test-throw-exception-from-eval.html: Removed. 75796 * manual-tests/inspector/profiler-test-two-execution-contexts.html: Removed. 75797 * manual-tests/inspector/profiler-test-user-defined-function-calls-built-in-functions.html: Removed. 75798 * manual-tests/inspector/profiler-test-window-dot-eval.html: Removed. 75799 * manual-tests/inspector/resources/other-frame.html: Removed. 75800 * manual-tests/inspector/resources/other-window.html: Removed. 75801 * manual-tests/inspector/resources/profiler-test-JS-resources.js: Removed. 75802 75803 2008-10-23 Adam Barth <abarth (a] webkit.org> 75804 75805 Reviewed by Sam Weinig. 75806 75807 https://bugs.webkit.org/show_bug.cgi?id=21826 75808 75809 Add accessor for SecurityOrigin::m_domainWasSetInDOM. 75810 75811 * page/SecurityOrigin.h: 75812 (WebCore::SecurityOrigin::domainWasSetInDOM): 75813 75814 2008-10-23 Darin Adler <darin (a] apple.com> 75815 75816 - roll out https://bugs.webkit.org/show_bug.cgi?id=21732 75817 75818 * bindings/js/ScheduledAction.h: 75819 * inspector/InspectorController.cpp: 75820 ProtectedPtr<JSValue> instead of ProtectedPtr<JSValuePtr>. 75821 75822 2008-10-23 Simon Hausmann <hausmann (a] webkit.org> 75823 75824 Fix the Qt build. 75825 75826 * bridge/qt/qt_runtime.cpp: 75827 (JSC::Bindings::QtConnectionObject::execute): 75828 * bridge/qt/qt_runtime.h: 75829 (JSC::Bindings::QtRuntimeMethod::createStructureID): 75830 75831 2008-10-23 Alexey Proskuryakov <ap (a] webkit.org> 75832 75833 Reviewed by Maciej Stachowiak. 75834 75835 https://bugs.webkit.org/show_bug.cgi?id=21825 75836 JSDOMBinding should not blindly cast the global object to JSDOMWindow 75837 75838 * bindings/js/JSDOMGlobalObject.cpp: 75839 * bindings/js/JSDOMGlobalObject.h: 75840 * GNUmakefile.am: 75841 * WebCore.pro: 75842 * WebCore.vcproj/WebCore.vcproj: 75843 * WebCore.xcodeproj/project.pbxproj: 75844 * WebCoreSources.bkl: 75845 Added JSDOMGlobalObject, a base class to be used by both Window and worker contexts. 75846 75847 * bindings/js/JSDOMBinding.cpp: 75848 (WebCore::getCachedDOMStructure): 75849 (WebCore::cacheDOMStructure): 75850 (WebCore::getCachedDOMConstructor): 75851 (WebCore::cacheDOMConstructor): 75852 Cast to JSDOMGlobalObject, as DOM objects live in DOM global objects. 75853 75854 * bindings/js/JSDOMWindowBase.cpp: 75855 (WebCore::JSDOMWindowBase::JSDOMWindowBase): 75856 * bindings/js/JSDOMWindowBase.h: 75857 * bindings/js/JSDOMWindowCustom.cpp: 75858 (WebCore::JSDOMWindow::mark): 75859 Moved constructor and structure tracking to JSDOMGlobalObject. 75860 75861 2008-10-23 Adam Barth <abarth (a] webkit.org> 75862 75863 Reviewed by Sam Weinig. 75864 75865 https://bugs.webkit.org/show_bug.cgi?id=21787 75866 75867 Update postMessage to send origin = "null" for non-serializable 75868 origins to match latest spec. Merge SecurityOrigin::toString and 75869 SecurityOrigin::toHTTPOrigin because they are now the same. 75870 75871 Test: http/tests/security/postMessage/data-url-sends-null-origin.html 75872 75873 * loader/FrameLoader.cpp: 75874 (WebCore::FrameLoader::outgoingOrigin): 75875 (WebCore::FrameLoader::loadURL): 75876 (WebCore::FrameLoader::addHTTPOriginIfNeeded): 75877 (WebCore::FrameLoader::loadItem): 75878 * loader/loader.cpp: 75879 (WebCore::Loader::Host::servePendingRequests): 75880 * page/SecurityOrigin.cpp: 75881 (WebCore::SecurityOrigin::toString): 75882 * page/SecurityOrigin.h: 75883 * xml/XMLHttpRequest.cpp: 75884 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): 75885 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 75886 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): 75887 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 75888 75889 2008-10-22 David Kilzer <ddkilzer (a] apple.com> 75890 75891 Bug 21781: WebCore::Settings should have a maximum decoded image size setting 75892 75893 <https://bugs.webkit.org/show_bug.cgi?id=21781> 75894 75895 Reviewed by Antti. 75896 75897 No tests since there is no change in behavior. 75898 75899 * loader/CachedImage.cpp: 75900 (WebCore::CachedImage::maximumDecodedImageSize): Added. Returns 75901 WebCore::Settings::maximumDecodedImageSize() or 0 on error. 75902 (WebCore::CachedImage::data): Flag an error if the image being 75903 loaded is too big. 75904 * loader/CachedImage.h: 75905 (WebCore::CachedImage::maximumDecodedImageSize): Added declaration. 75906 * page/Settings.cpp: 75907 (WebCore::Settings::Settings): Initialize m_maximumDecodedImageSize 75908 to the maximum value of size_t. 75909 * page/Settings.h: 75910 (WebCore::Settings::setMaximumDecodedImageSize): Added method. 75911 (WebCore::Settings::maximumDecodedImageSize): Ditto. 75912 75913 2008-10-22 Mike Pinkerton <pinkerton (a] chromium.org> 75914 75915 Reviewed by Dan Bernstein. 75916 Landed and tweaked a bit by Darin Adler. 75917 75918 - fix https://bugs.webkit.org/show_bug.cgi?id=21809 75919 75920 Remove PLATFORM(MAC) wrapping USE(ATSUI). It's redundant and inhibits 75921 its use for PLATFORM(CHROMIUM) in the future. 75922 75923 * platform/graphics/SimpleFontData.h: 75924 75925 2008-10-22 David Smith <catfish.man (a] gmail.com> 75926 75927 Reviewed by Anders Carlsson. 75928 75929 https://bugs.webkit.org/show_bug.cgi?id=19974 75930 getElementsByClassName not live enough 75931 75932 Test: fast/dom/getElementsByClassName/015.html 75933 75934 * dom/StyledElement.cpp: 75935 (WebCore::StyledElement::classAttributeChanged): call dispatchSubtreeModifiedEvent() 75936 75937 2008-10-22 Darin Adler <darin (a] apple.com> 75938 75939 Reviewed by Sam Weinig. 75940 75941 - fix https://bugs.webkit.org/show_bug.cgi?id=21294 75942 Bug 21294: Devirtualize getOwnPropertySlot() 75943 75944 * bindings/js/JSDOMWindowShell.h: 75945 (WebCore::JSDOMWindowShell::createStructureID): Added. Returns a structure without 75946 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. 75947 75948 * bindings/js/JSInspectorCallbackWrapper.cpp: 75949 (WebCore::JSInspectorCallbackWrapper::wrap): Change to use a unique structure 75950 for this class rather than sharing nullProtoStructureID, which no longer exists. 75951 75952 * bindings/js/JSNamedNodesCollection.h: 75953 (WebCore::JSNamedNodesCollection::createStructureID): Added. Returns a structure without 75954 HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. 75955 * bindings/js/JSRGBColor.h: 75956 (WebCore::JSRGBColor::createStructureID): Ditto. 75957 75958 * bindings/scripts/CodeGeneratorJS.pm: Added createStructureID functions for the wrappers, 75959 constructors, and prototypes in any case where they override getOwnPropertySlot, without 75960 HasStandardGetOwnPropertySlot. 75961 75962 * bridge/objc/objc_runtime.h: 75963 (JSC::Bindings::ObjcFallbackObjectImp::createStructureID): Added. Returns a structure 75964 without HasStandardGetOwnPropertySlot since this class overrides getOwnPropertySlot. 75965 * bridge/qt/qt_runtime.h: 75966 (JSC::Bindings::QtRuntimeMethod::createStructureID): Ditto. 75967 * bridge/runtime_array.h: 75968 (JSC::RuntimeArray::createStructureID): Ditto. 75969 * bridge/runtime_method.h: 75970 (JSC::RuntimeMethod::createStructureID): Ditto. 75971 * bridge/runtime_object.h: 75972 (JSC::RuntimeObjectImp::createStructureID): Ditto. 75973 75974 2008-10-22 Brent Fulgham <bfulgham (a] gmail.com> 75975 75976 Bring Windows Cairo Port's font handling in line with CG. 75977 http://bugs.webkit.org/show_bug.cgi?id=21812. 75978 75979 Reviewed by Adam Roben. 75980 75981 * platform/graphics/win/FontCacheWin.cpp: 75982 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo 75983 TrueType font search. It should match CG in all font selections. 75984 75985 2008-10-22 Brent Fulgham <bfulgham (a] gmail.com> 75986 75987 http://bugs.webkit.org/show_bug.cgi?id=21812. 75988 Bring Windows Cairo Port's font handling in line with CG. 75989 75990 Reviewed by David Hyatt. 75991 75992 * platform/graphics/win/FontCacheWin.cpp: 75993 (WebCore::createGDIFont): Remove unnecessary special-case for Cairo TrueType font search. It should match CG in all font selections. 75994 75995 2008-10-22 Brady Eidson <beidson (a] apple.com> 75996 75997 Reviewed by Adam Roben 75998 75999 <rdar://6261773> - autocomplete="off" doesn't work on Windows 76000 76001 Visual Studio makes a poor decision regarding the combination of enums and bitfields, such that a 76002 statement like "m_autocomplete = Off" followed by "return m_autocomplete == Off" would return "false" 76003 instead of the much more correct "true." 76004 76005 In the past we have worked around this by declaring the bitfield member as an unsigned instead 76006 of the enum type. 76007 76008 For more discussion, see http://trac.webkit.org/changeset/25329 76009 76010 * html/HTMLInputElement.h: Work around insane Visual Studio enum issue *sigh* 76011 76012 2008-10-22 Kevin McCullough <kmccullough (a] apple.com> 76013 76014 Reviewed by Oliver Hunt and Tim Hatcher. 76015 76016 https://bugs.webkit.org/show_bug.cgi?id=19225 76017 Bug 19225: JSProfiler: Create automated profiler tests 76018 - This change exports profiles on the console object so that they can be 76019 iterated over via JavaScript, and thus can be used in automated tests. 76020 76021 * bindings/js/JSConsoleCustom.cpp: Get the profiles and return an array 76022 that JS can use. 76023 (WebCore::JSConsole::profiles): 76024 * inspector/InspectorController.h: Use the new typedef. 76025 (WebCore::InspectorController::profiles): 76026 * page/Console.cpp: Keep our own array of profile objects. 76027 (WebCore::Console::profileEnd): 76028 * page/Console.h: Ditto. 76029 (WebCore::Console::profiles): 76030 * page/Console.idl: Expose the profiles to JS. 76031 76032 2008-10-22 David Hyatt <hyatt (a] apple.com> 76033 76034 https://bugs.webkit.org/show_bug.cgi?id=21775 76035 76036 Convert buttons over to use the new Theme API on OS X. 76037 76038 Reviewed by Adam Roben 76039 76040 * platform/LengthBox.h: 76041 (WebCore::LengthBox::LengthBox): 76042 * platform/Theme.cpp: 76043 (WebCore::Theme::controlBorder): 76044 (WebCore::Theme::controlPadding): 76045 * platform/Theme.h: 76046 (WebCore::Theme::controlFont): 76047 (WebCore::Theme::controlSize): 76048 (WebCore::Theme::minControlSize): 76049 (WebCore::Theme::controlRequiresPreWhiteSpace): 76050 * platform/mac/ThemeMac.h: 76051 (WebCore::ThemeMac::controlRequiresPreWhiteSpace): 76052 * platform/mac/ThemeMac.mm: 76053 (WebCore::checkboxSize): 76054 (WebCore::radioSize): 76055 (WebCore::buttonSizes): 76056 (WebCore::buttonMargins): 76057 (WebCore::button): 76058 (WebCore::paintButton): 76059 (WebCore::ThemeMac::controlFont): 76060 (WebCore::ThemeMac::controlSize): 76061 (WebCore::ThemeMac::minControlSize): 76062 (WebCore::ThemeMac::controlBorder): 76063 (WebCore::ThemeMac::controlPadding): 76064 (WebCore::ThemeMac::inflateControlPaintRect): 76065 (WebCore::ThemeMac::paint): 76066 * rendering/RenderTheme.cpp: 76067 (WebCore::RenderTheme::adjustStyle): 76068 (WebCore::RenderTheme::paint): 76069 (WebCore::RenderTheme::controlStatesForRenderer): 76070 (WebCore::RenderTheme::isDefault): 76071 (WebCore::RenderTheme::adjustRadioStyle): 76072 * rendering/RenderTheme.h: 76073 (WebCore::RenderTheme::setRadioSize): 76074 * rendering/RenderThemeMac.h: 76075 * rendering/RenderThemeMac.mm: 76076 (WebCore::RenderThemeMac::adjustRepaintRect): 76077 (WebCore::menuListButtonSizes): 76078 (WebCore::RenderThemeMac::adjustMenuListStyle): 76079 * rendering/style/RenderStyle.h: 76080 (WebCore::InheritedFlags::paddingBox): 76081 (WebCore::InheritedFlags::setPaddingBox): 76082 76083 2008-10-22 Chris Marrin <cmarrin (a] apple.com> 76084 76085 Reviewed by Dave Hyatt 76086 76087 Make sure that the AtomicString that identifies a set of animation keyframes 76088 stays live by keeping a copy in the WebKitCSSKeyframesRule. 76089 76090 Also call styleSheetChanged() when the keyframes name changes, but 76091 add an internal method that doesn't call styleSheetChanged() for use 76092 during normal stylesheet parsing. 76093 76094 Test: animations/change-keyframes-name.html 76095 76096 * css/CSSGrammar.y: 76097 * css/WebKitCSSKeyframesRule.cpp: 76098 (WebCore::WebKitCSSKeyframesRule::setName): 76099 * css/WebKitCSSKeyframesRule.h: 76100 (WebCore::WebKitCSSKeyframesRule::setNameInternal): 76101 76102 2008-10-22 Alexey Proskuryakov <ap (a] webkit.org> 76103 76104 Reviewed by Sam Weinig. 76105 76106 https://bugs.webkit.org/show_bug.cgi?id=21791 76107 WebCore JS bindings should be able to use non-static hash tables for properties 76108 76109 Add a map for HashTables to WebCore JS client data. 76110 76111 This makes property access noticeably slower, so it is an opt-in. For classes that need to be 76112 supported in workers in forseeable future this is not critical. 76113 76114 * bindings/js/JSDOMBinding.cpp: 76115 (WebCore::DOMObjectHashTableMap::get): 76116 (WebCore::DOMObjectHashTableMap::mapFor): 76117 (WebCore::getHashTableForGlobalData): 76118 (WebCore::DOMObjectWrapperMap::mapFor): 76119 WebCore client data is now a class that contains both a DOM wrapper map and a property hash 76120 table one. 76121 76122 * bindings/js/JSDOMBinding.h: Added getHashTableForGlobalData() to query the hash table map. 76123 76124 * bindings/scripts/CodeGeneratorJS.pm: If the class has a NoStaticTables attribute, use 76125 JSDOMBinding map to access its property hash tables. 76126 76127 * dom/MessageChannel.idl: 76128 * dom/MessagePort.idl: 76129 Added NoStaticTables attribute. 76130 76131 2008-10-22 Gustavo Noronha Silva <gns (a] gnome.org> 76132 76133 Reviewed by Timothy Hatcher. 76134 76135 Build failure because of missing include 76136 https://bugs.webkit.org/show_bug.cgi?id=21765 76137 76138 Build failure fix for WebKit/GTK+; added missing 76139 include (GOwnPtr.h) 76140 76141 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 76142 76143 2008-10-22 Alp Toker <alp (a] nuanti.com> 76144 76145 Reviewed by Adam Roben. 76146 76147 Fix crashes on older GTK+ versions (2.8). gtk_widget_style_get() 76148 doesn't initialize values if the requested property doesn't exist, so 76149 initialize the values to the documented defaults before calling it 76150 where necessary. Additionally, avoid critical warnings by not calling 76151 gtk_widget_style_get() when we know the property isn't available. 76152 76153 Note that this is an imported source file which doesn't follow the 76154 WebKit coding style. 76155 76156 * platform/gtk/gtk2drawing.c: 76157 (moz_gtk_init): 76158 (moz_gtk_button_get_inner_border): 76159 (moz_gtk_combo_box_paint): 76160 (moz_gtk_toolbar_separator_paint): 76161 (moz_gtk_menu_separator_paint): 76162 (moz_gtk_get_widget_border): 76163 (moz_gtk_get_tab_scroll_arrow_size): 76164 (moz_gtk_get_toolbar_separator_width): 76165 (moz_gtk_get_menu_separator_height): 76166 76167 2008-10-22 Alp Toker <alp (a] nuanti.com> 76168 76169 Fix build for Cairo 1.2. 76170 76171 * platform/graphics/cairo/GraphicsContextCairo.cpp: 76172 (WebCore::GraphicsContext::clipOut): 76173 * platform/gtk/RenderThemeGtk.cpp: 76174 (WebCore::paintMozWidget): 76175 76176 2008-10-22 Darin Fisher <darin (a] chromium.org> 76177 76178 Reviewed by Eric Seidel. 76179 76180 A little more PLATFORM(CHROMIUM) in WebCore 76181 https://bugs.webkit.org/show_bug.cgi?id=21758 76182 76183 * page/AccessibilityObject.h: 76184 * platform/graphics/Icon.h: 76185 76186 2008-10-21 Alexey Proskuryakov <ap (a] webkit.org> 76187 76188 Reviewed by Darin Adler. 76189 76190 Test: fast/events/message-channel-gc-3.html 76191 76192 https://bugs.webkit.org/show_bug.cgi?id=21769 76193 MessagePort should be GC protected if there are messages to be delivered 76194 76195 * dom/MessagePort.h: Removed pending activity count. Now we track if a close event is 76196 pending, and check if the queue is non-empty. 76197 (WebCore::MessagePort::workerContext): Added a stub implementation for a cross-heap GC bug 76198 fix (below). 76199 76200 * dom/MessagePort.cpp: 76201 (WebCore::CloseMessagePortTimer::fired): 76202 (WebCore::MessagePort::MessagePort): 76203 (WebCore::MessagePort::queueCloseEvent): 76204 (WebCore::MessagePort::dispatchCloseEvent): 76205 (WebCore::MessagePort::hasPendingActivity): 76206 Track message and close event activity separately. 76207 76208 * bindings/js/JSDOMBinding.cpp: 76209 (WebCore::markCrossHeapDependentObjectsForDocument): Fixed a bug in cross-heap GC that was 76210 causing same-heap ports to never be deleted. 76211 76212 2008-10-21 Dan Bernstein <mitz (a] apple.com> 76213 76214 Reviewed by Sam Weinig. 76215 76216 - remove unreachable code 76217 76218 * platform/text/BidiResolver.h: 76219 (WebCore::::embed): 76220 76221 2008-10-21 Beth Dakin <bdakin (a] apple.com> 76222 76223 Reviewed by Darin Adler. 76224 76225 Fix for https://bugs.webkit.org/show_bug.cgi?id=20352 76226 REGRESSION(r31030-31055): Choosing "Print window" from frame set 76227 prints blank page 76228 and corresponding: <rdar://problem/6142398> 76229 76230 viewHeight() and viewWidth() only return valuable information if we 76231 are not printing. Everywhere else in the code, we make sure we are 76232 not printing before we call these functions. Adding a check for 76233 printing here fixes this bug, and framesets print again. 76234 76235 * rendering/RenderFrameSet.cpp: 76236 (WebCore::RenderFrameSet::layout): 76237 76238 2008-10-21 Yael Aharon <yael.aharon (a] nokia.com> 76239 76240 Reviewed by Simon. 76241 76242 Pixmap in canvas tag was not getting initialized. 76243 76244 See https://bugs.webkit.org/show_bug.cgi?id=21771 76245 76246 * platform/graphics/qt/ImageBufferQt.cpp: 76247 (WebCore::ImageBuffer::create): 76248 76249 2008-10-20 Simon Fraser <simon.fraser (a] apple.com> 76250 76251 Reviewed by Dan Bernstein 76252 76253 Add a comment explaining layoutDelta(), and an assertion 76254 that checks that delta changes were correctly paired during layout. 76255 76256 * rendering/RenderView.cpp: 76257 (WebCore::RenderView::layout): 76258 * rendering/RenderView.h: 76259 76260 2008-10-20 Timothy Hatcher <timothy (a] apple.com> 76261 76262 Make auto-complete only suggest properties that are valid syntax 76263 when using dot-notation. Also when completing numeric properties, 76264 the quotes are omitted inside the brackets. 76265 76266 https://bugs.webkit.org/show_bug.cgi?id=21760 76267 https://bugs.webkit.org/show_bug.cgi?id=21761 76268 76269 Reviewed by Oliver Hunt. 76270 76271 * inspector/front-end/Console.js: 76272 (WebInspector.Console.prototype.completions): Skip properties that 76273 are not valid identifies when using dot-notation. And omit the quotes 76274 when completing numbers in bracket-notation. 76275 76276 2008-10-20 Timothy Hatcher <timothy (a] apple.com> 76277 76278 Fixes the Profiles panel in the Web Inspector, which was broken by 76279 the JSValue base-class changes. Also renames some functions and 76280 variables in JavaScriptProfileNode.cpp that where title case. 76281 76282 https://bugs.webkit.org/show_bug.cgi?id=21764 76283 76284 Reviewed by Oliver Hunt. 76285 76286 * inspector/JavaScriptProfile.cpp: 76287 (WebCore::toJS): Use a JSObject pointer instead of JSValuePtr so the 76288 returned JSValuePtr will be treated as an object and not a value. 76289 * inspector/JavaScriptProfileNode.cpp: 76290 (WebCore::toJS): Ditto. 76291 76292 2008-10-20 Sam Weinig <sam (a] webkit.org> 76293 76294 Reviewed by Anders Carlsson. 76295 76296 Remove FrameLoaderClient::detachedFromParent4. It is no longer used by any port. 76297 76298 * loader/EmptyClients.h: 76299 (WebCore::EmptyFrameLoaderClient::detachedFromParent4):. 76300 * loader/FrameLoader.cpp: 76301 (WebCore::FrameLoader::detachFromParent): 76302 * loader/FrameLoaderClient.h: 76303 76304 2008-10-20 Antti Koivisto <antti (a] apple.com> 76305 76306 Reviewed by Adele Peterson. 76307 76308 Fix https://bugs.webkit.org/show_bug.cgi?id=21763 76309 REGRESSION (r36108-r36113): Can't load picture content on wired.com galleries 76310 <rdar://problem/6285025 76311 76312 If we get 304 response we need to explicitly check if that completes the frame load. 76313 76314 No test case, simulating the condition is pretty difficult. 76315 76316 * loader/loader.cpp: 76317 (WebCore::Loader::Host::didReceiveResponse): 76318 76319 2008-10-20 Anders Carlsson <andersca (a] apple.com> 76320 76321 Reviewed by Mark Rowe. 76322 76323 Work around <rdar://problem/6301728>. 76324 76325 Don't assert that loads are deferred when we're using CFNetwork on Mac or Windows. 76326 76327 * loader/MainResourceLoader.cpp: 76328 (WebCore::MainResourceLoader::didReceiveResponse): 76329 (WebCore::MainResourceLoader::didReceiveData): 76330 (WebCore::MainResourceLoader::didFinishLoading): 76331 (WebCore::MainResourceLoader::didFail): 76332 76333 2008-10-20 Beth Dakin <bdakin (a] apple.com> 76334 76335 Reviewed by Adele Peterson. 76336 76337 Speculative fix for <rdar://problem/6242585> CrashTracer: [USER] 19 76338 crashes in Safari at com.apple.WebCore 76339 WebCore::ScrollView::visibleContentRect const + 153 76340 76341 d->m_view can be null and is null-checked at other points in the 76342 code. The logs indicate that this crash occurs when closing a 76343 window containing a PDF, so in case where we crash, the PDF's view 76344 is probably already null. So the fix is to simply add a null-check. 76345 76346 * page/Frame.cpp: 76347 (WebCore::Frame::selectionRect): 76348 76349 2008-10-20 Adele Peterson <adele (a] apple.com> 76350 76351 Reviewed by Darin Adler. 76352 76353 * html/HTMLFormElement.cpp: (WebCore::HTMLFormElement::formData): 76354 Removed stray increment that would screw up any form with multiple files in it. 76355 76356 2008-10-20 Sam Weinig <sam (a] webkit.org> 76357 76358 Rubber-stamped by David Hyatt. 76359 76360 Split LengthBox and LengthSize into their own files. 76361 76362 * GNUmakefile.am: 76363 * WebCore.vcproj/WebCore.vcproj: 76364 * WebCore.xcodeproj/project.pbxproj: 76365 * platform/Length.h: 76366 (WebCore::Length::blend): 76367 * platform/LengthBox.h: Copied from platform/Length.h. 76368 (WebCore::LengthBox::LengthBox): 76369 (WebCore::LengthBox::nonZero): 76370 * platform/LengthSize.h: Copied from platform/Length.h. 76371 (WebCore::LengthSize::LengthSize): 76372 (WebCore::LengthSize::setWidth): 76373 (WebCore::LengthSize::setHeight): 76374 (WebCore::LengthSize::height): 76375 * platform/Theme.h: 76376 * rendering/style/FillLayer.h: 76377 * rendering/style/NinePieceImage.h: 76378 (WebCore::NinePieceImage::NinePieceImage): 76379 * rendering/style/RenderStyle.h: 76380 * rendering/style/StyleDashboardRegion.h: 76381 * rendering/style/StyleSurroundData.h: 76382 * rendering/style/StyleVisualData.h: 76383 76384 2008-10-20 Dan Bernstein <mitz (a] apple.com> 76385 76386 - Mac build fix 76387 76388 * WebCore.xcodeproj/project.pbxproj: 76389 76390 2008-10-20 Alp Toker <alp (a] nuanti.com> 76391 76392 Fix autotools dist build target by listing recently added header 76393 files only. Not reviewed. 76394 76395 * GNUmakefile.am: 76396 76397 2008-10-20 David Hyatt <hyatt (a] apple.com> 76398 76399 Clean up some USE(NEW_THEME) ifdefs (I botched one of them and have broken non-Mac platforms). Also 76400 refactor some of the code that I put in ThemeMac to be cross-platform, since it was in RenderTheme.cpp 76401 originally. 76402 76403 ifdef some methods in RenderTheme.cpp also that are no longer needed with the new Theme. 76404 76405 Reviewed by Adam Roben 76406 76407 * WebCore.xcodeproj/project.pbxproj: 76408 * platform/Theme.cpp: Added. 76409 (WebCore::Theme::controlSupportsBorder): 76410 (WebCore::Theme::controlSupportsPadding): 76411 * platform/Theme.h: 76412 * platform/mac/ThemeMac.h: 76413 * platform/mac/ThemeMac.mm: 76414 * rendering/RenderTheme.cpp: 76415 (WebCore::RenderTheme::adjustStyle): 76416 * rendering/RenderTheme.h: 76417 76418 2008-10-20 David Hyatt <hyatt (a] apple.com> 76419 76420 Rename LengthBox's members to have m_ in front of them. 76421 76422 Reviewed by Sam Weinig 76423 76424 * css/CSSComputedStyleDeclaration.cpp: 76425 (WebCore::valueForNinePieceImage): 76426 (WebCore::getPositionOffsetValue): 76427 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 76428 * css/CSSStyleSelector.cpp: 76429 (WebCore::CSSStyleSelector::mapNinePieceImage): 76430 * platform/Length.h: 76431 (WebCore::LengthBox::LengthBox): 76432 (WebCore::LengthBox::left): 76433 (WebCore::LengthBox::right): 76434 (WebCore::LengthBox::top): 76435 (WebCore::LengthBox::bottom): 76436 (WebCore::LengthBox::operator==): 76437 (WebCore::LengthBox::nonZero): 76438 * rendering/RenderObject.cpp: 76439 (WebCore::RenderObject::paintNinePieceImage): 76440 (WebCore::RenderObject::addDashboardRegions): 76441 * rendering/style/RenderStyle.cpp: 76442 (WebCore::positionedObjectMoved): 76443 (WebCore::RenderStyle::setClip): 76444 (WebCore::RenderStyle::noneDashboardRegions): 76445 * rendering/style/RenderStyle.h: 76446 (WebCore::InheritedFlags::left): 76447 (WebCore::InheritedFlags::right): 76448 (WebCore::InheritedFlags::top): 76449 (WebCore::InheritedFlags::bottom): 76450 (WebCore::InheritedFlags::clipLeft): 76451 (WebCore::InheritedFlags::clipRight): 76452 (WebCore::InheritedFlags::clipTop): 76453 (WebCore::InheritedFlags::clipBottom): 76454 (WebCore::InheritedFlags::marginTop): 76455 (WebCore::InheritedFlags::marginBottom): 76456 (WebCore::InheritedFlags::marginLeft): 76457 (WebCore::InheritedFlags::marginRight): 76458 (WebCore::InheritedFlags::paddingTop): 76459 (WebCore::InheritedFlags::paddingBottom): 76460 (WebCore::InheritedFlags::paddingLeft): 76461 (WebCore::InheritedFlags::paddingRight): 76462 (WebCore::InheritedFlags::setLeft): 76463 (WebCore::InheritedFlags::setRight): 76464 (WebCore::InheritedFlags::setTop): 76465 (WebCore::InheritedFlags::setBottom): 76466 (WebCore::InheritedFlags::setDashboardRegion): 76467 (WebCore::InheritedFlags::setClipLeft): 76468 (WebCore::InheritedFlags::setClipRight): 76469 (WebCore::InheritedFlags::setClipTop): 76470 (WebCore::InheritedFlags::setClipBottom): 76471 (WebCore::InheritedFlags::setMarginTop): 76472 (WebCore::InheritedFlags::setMarginBottom): 76473 (WebCore::InheritedFlags::setMarginLeft): 76474 (WebCore::InheritedFlags::setMarginRight): 76475 (WebCore::InheritedFlags::setPaddingTop): 76476 (WebCore::InheritedFlags::setPaddingBottom): 76477 (WebCore::InheritedFlags::setPaddingLeft): 76478 (WebCore::InheritedFlags::setPaddingRight): 76479 76480 2008-10-20 Timothy Hatcher <timothy (a] apple.com> 76481 76482 Make the Resource panel perform graph updates atomically, so when resources 76483 are added the graph and summary graph update at the same time. 76484 76485 https://bugs.webkit.org/show_bug.cgi?id=21755 76486 76487 Reviewed by Kevin McCullough. 76488 76489 * inspector/front-end/Resource.js: 76490 (WebInspector.Resource.prototype.get startTime): Return -1 if the _startTime 76491 property is undefined, null or 0. This allows callers to check for -1 and not 76492 the other values when there is no startTime yet. 76493 (WebInspector.Resource.prototype.get responseReceivedTime): Ditto. 76494 (WebInspector.Resource.prototype.get endTime): Ditto. 76495 (WebInspector.Resource.prototype.get duration): Remove an extra empty line. 76496 (WebInspector.Resource.prototype.get latency): Ditto. 76497 (WebInspector.Resource.prototype.get contentLength): Return 0 if the _duration 76498 property is undefined or null. This allows callers to always assume a number. 76499 (WebInspector.Resource.prototype.get expectedContentLength): Ditto. 76500 (WebInspector.Resource.prototype.get errors): Simplify the case where there is 76501 no _errors property yet. 76502 (WebInspector.Resource.prototype.set errors): Remove the check if the new value 76503 if the same as the previous value, since there is no work to guard. 76504 (WebInspector.Resource.prototype.get warnings): Simplify the case where there is 76505 no _warnings property yet. 76506 (WebInspector.Resource.prototype.set warnings): Remove the check if the new value 76507 if the same as the previous value, since there is no work to guard. 76508 (WebInspector.Resource.CompareByResponseReceivedTime): Add cases for when the 76509 responseReceivedTime is -1. 76510 (WebInspector.Resource.CompareByEndTime): Add cases for when the endTime is -1. 76511 * inspector/front-end/ResourcesPanel.js: 76512 (WebInspector.ResourcesPanel.prototype.get searchableViews): If a resource does not 76513 have a _resourcesTreeElement yet, exclude it from the searchable views. 76514 (WebInspector.ResourcesPanel.prototype.set calculator): Set _staleResource to _resources 76515 and call refresh to refresh the entire graph. 76516 (WebInspector.ResourcesPanel.prototype.set needsRefresh): Set a timeout if the panel 76517 is visible that calls refresh. 76518 (WebInspector.ResourcesPanel.prototype.refresh): Create the resource tree element and 76519 graph for a resource if it hasn't been created yet. If the boundaries changed during 76520 the first stale resource pass, do a full pass of all resources when updating the graphs. 76521 (WebInspector.ResourcesPanel.prototype.reset): Remove the legend items. 76522 (WebInspector.ResourcesPanel.prototype.addResource): Don't create the tree element and 76523 graph, these are now created during the first refresh. 76524 (WebInspector.ResourcesPanel.prototype.removeResource): Null check _resourcesTreeElement. 76525 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Ditto. 76526 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto. 76527 (WebInspector.ResourcesPanel.prototype.refreshResource): Remove most of the work, just 76528 add the resource to the _staleResources and set needsRefresh. 76529 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Null check 76530 _resourcesTreeElement. 76531 (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): Remove code to clear 76532 the timeout used by the deleted _sortResourcesSoonIfNeeded. Remove call to removeChild 76533 since the insertBefore call will do it if needed. 76534 (WebInspector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): Remove code to 76535 clear the timeout used by the deleted _updateGraphDividersSoonIfNeeded. 76536 (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): Remove code to clear the 76537 timeout used by the deleted _updateSummaryGraphSoon. No need to remove the totalLegendLabel, 76538 since all the legend items are removed in one pass right before. 76539 (WebInspector.ResourcesPanel.prototype._changeSortingFunction): Set the sortingFunction 76540 before the calculator so the correct sortingFunction is there when a refresh happens. 76541 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphPercentages): Set start to 0 76542 when the startTime is -1, since that looks best visually. Also set middle and end 76543 to the start and middle (respectfully) when startAtZero. This looks best visually. 76544 (WebInspector.ResourceGraph): Start the graph as hidden until the first refresh. 76545 (WebInspector.ResourceGraph.prototype.refresh): Remove the hidden class. 76546 76547 2008-10-20 David Hyatt <hyatt (a] apple.com> 76548 76549 https://bugs.webkit.org/show_bug.cgi?id=21733 76550 76551 Make sure that the haveMetadata flag is set to true for generated images from image buffers, so that 76552 no attempt is made to re-cache the frame from a non-existent image source. 76553 76554 Reviewed by Sam Weinig 76555 76556 * platform/graphics/cairo/ImageCairo.cpp: 76557 (WebCore::BitmapImage::BitmapImage): 76558 * platform/graphics/cg/ImageCG.cpp: 76559 (WebCore::BitmapImage::BitmapImage): 76560 76561 2008-10-20 Dan Bernstein <mitz (a] apple.com> 76562 76563 Reviewed by John Sullivan. 76564 76565 - make hasARenderedDescendant() have internal linkage 76566 76567 * editing/CompositeEditCommand.cpp: 76568 (WebCore::hasARenderedDescendant): 76569 76570 2008-10-20 Chris Fleizach <cfleizach (a] apple.com> 76571 76572 Reviewed by Jon Honeycutt 76573 76574 Fix a crash in Accessibility where a table section was being 76575 referenced without first checking if it was null 76576 76577 https://bugs.webkit.org/show_bug.cgi?id=21721 76578 76579 Test: accessibility/table-nofirstbody.html 76580 76581 * page/AccessibilityTable.cpp: 76582 (WebCore::AccessibilityTable::addChildren): 76583 76584 2008-10-20 David Hyatt <hyatt (a] apple.com> 76585 76586 Avoid some stderr spew from CG by checking if we have a decoder yet in ImageSourceCG. 76587 76588 Reviewed by Darin Adler 76589 76590 * platform/graphics/cg/ImageSourceCG.cpp: 76591 (WebCore::ImageSource::repetitionCount): 76592 (WebCore::ImageSource::frameDurationAtIndex): 76593 76594 2008-10-20 Alp Toker <alp (a] nuanti.com> 76595 76596 Reviewed by Mark Rowe. 76597 76598 Fix the pthread conditionals in the FTP code to correctly define 76599 threadsafe *_r functions on Windows. Partly fixes the GTK+/Win32 76600 build. 76601 76602 * loader/FTPDirectoryDocument.cpp: 76603 * loader/FTPDirectoryParser.cpp: 76604 76605 2008-10-20 David Hyatt <hyatt (a] apple.com> 76606 76607 https://bugs.webkit.org/show_bug.cgi?id=21751 76608 76609 Convert checkboxes and radio buttons on OS X over to the new Theme API. 76610 76611 Reviewed by Adam Roben 76612 76613 * css/CSSComputedStyleDeclaration.cpp: 76614 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 76615 * css/CSSStyleSelector.cpp: 76616 (WebCore::CSSStyleSelector::mapFillSize): 76617 * platform/Length.h: 76618 (WebCore::LengthSize::LengthSize): 76619 (WebCore::LengthSize::operator==): 76620 (WebCore::LengthSize::width): 76621 (WebCore::LengthSize::height): 76622 (WebCore::LengthSize::setWidth): 76623 (WebCore::LengthSize::setHeight): 76624 * platform/Theme.h: 76625 (WebCore::Theme::controlSize): 76626 (WebCore::Theme::controlSupportsBorder): 76627 (WebCore::Theme::controlSupportsPadding): 76628 (WebCore::Theme::paint): 76629 (WebCore::Theme::inflateControlPaintRect): 76630 * platform/ThemeTypes.h: 76631 (WebCore::): 76632 * platform/mac/ThemeMac.h: 76633 * platform/mac/ThemeMac.mm: 76634 (WebCore::): 76635 (WebCore::controlSizeForFont): 76636 (WebCore::sizeFromFont): 76637 (WebCore::setControlSize): 76638 (WebCore::updateStates): 76639 (WebCore::inflateRect): 76640 (WebCore::checkboxSizes): 76641 (WebCore::checkboxMargins): 76642 (WebCore::checkboxSize): 76643 (WebCore::checkbox): 76644 (WebCore::paintCheckbox): 76645 (WebCore::radioSizes): 76646 (WebCore::radioMargins): 76647 (WebCore::radioSize): 76648 (WebCore::radio): 76649 (WebCore::paintRadio): 76650 (WebCore::ThemeMac::baselinePositionAdjustment): 76651 (WebCore::ThemeMac::controlSize): 76652 (WebCore::ThemeMac::controlSupportsBorder): 76653 (WebCore::ThemeMac::controlSupportsPadding): 76654 (WebCore::ThemeMac::inflateControlPaintRect): 76655 (WebCore::ThemeMac::paint): 76656 * rendering/RenderBox.cpp: 76657 (WebCore::RenderBox::calculateBackgroundSize): 76658 * rendering/RenderObject.cpp: 76659 (WebCore::mustRepaintFillLayers): 76660 * rendering/RenderTheme.cpp: 76661 (WebCore::RenderTheme::adjustStyle): 76662 (WebCore::RenderTheme::paint): 76663 (WebCore::RenderTheme::baselinePosition): 76664 (WebCore::RenderTheme::adjustRepaintRect): 76665 (WebCore::RenderTheme::controlStatesForRenderer): 76666 (WebCore::RenderTheme::isFocused): 76667 * rendering/RenderTheme.h: 76668 * rendering/RenderThemeMac.h: 76669 * rendering/RenderThemeMac.mm: 76670 (WebCore::RenderThemeMac::adjustRepaintRect): 76671 * rendering/style/FillLayer.cpp: 76672 (WebCore::FillLayer::operator==): 76673 76674 2008-10-18 Geoffrey Garen <ggaren (a] apple.com> 76675 76676 Reviewed by Darin Adler. 76677 76678 Fixed https://bugs.webkit.org/show_bug.cgi?id=21735 76679 Emit profiling instrumentation only if the Web Inspector's profiling 76680 feature is enabled 76681 76682 * bindings/js/JSDOMWindowBase.cpp: 76683 (WebCore::JSDOMWindowBase::supportsProfiling): 76684 * bindings/js/JSDOMWindowBase.h: Implemented the interface for specifying 76685 whether a target global object has the Web Inspector's profiling feature 76686 enabled. 76687 76688 * inspector/JavaScriptDebugServer.cpp: 76689 (WebCore::JavaScriptDebugServer::recompileAllJSFunctionsSoon): 76690 (WebCore::JavaScriptDebugServer::didAddListener): 76691 (WebCore::JavaScriptDebugServer::didRemoveListener): 76692 * inspector/JavaScriptDebugServer.h: Exported an API for recompiling, 76693 used by the Settings object. 76694 76695 * page/Settings.cpp: 76696 (WebCore::Settings::Settings): 76697 (WebCore::Settings::setDeveloperExtrasEnabled): 76698 * page/Settings.h: Recompile when the developer menu is enabled/disabled 76699 for the first time, to add/remove profiling hooks. In the future, with 76700 better Web Inspector UI, we can do this on a page-by-page basis, 76701 instead of a global basis. 76702 76703 2008-10-20 David Hyatt <hyatt (a] apple.com> 76704 76705 Move Length to platform/. 76706 76707 Reviewed by Adam Roben 76708 76709 * GNUmakefile.am: 76710 * WebCore.pro: 76711 * WebCore.vcproj/WebCore.vcproj: 76712 * WebCore.xcodeproj/project.pbxproj: 76713 * WebCoreSources.bkl: 76714 * platform/Length.cpp: Copied from rendering/Length.cpp. 76715 * platform/Length.h: Copied from rendering/Length.h. 76716 76717 2008-10-20 Darin Adler <darin (a] apple.com> 76718 76719 - try to fix Qt build 76720 76721 * bridge/qt/qt_runtime.cpp: 76722 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Add asObject calls. 76723 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. 76724 76725 2008-10-20 Darin Adler <darin (a] apple.com> 76726 76727 - try to fix Qt build 76728 76729 * bridge/qt/qt_instance.cpp: 76730 (JSC::Bindings::QtInstance::mark): Use JSValue* instead of JSValuePtr. 76731 (JSC::Bindings::QtField::valueFromInstance): Ditto. 76732 * bridge/qt/qt_instance.h: Ditto. 76733 76734 2008-10-20 Darin Adler <darin (a] apple.com> 76735 76736 - try to fix Tiger build 76737 76738 * bridge/objc/objc_instance.mm: 76739 (ObjcInstance::invokeMethod): Add a const_cast to remove the unwanted 76740 volatile qualifier. 76741 (ObjcInstance::invokeDefaultMethod): Ditto. 76742 (ObjcInstance::getValueOfUndefinedField): Ditto. 76743 * bridge/objc/objc_runtime.mm: 76744 (JSC::Bindings::ObjcField::valueFromInstance): Ditto. 76745 76746 2008-10-20 Alexey Proskuryakov <ap (a] webkit.org> 76747 76748 Reviewed by Darin Adler. 76749 76750 https://bugs.webkit.org/show_bug.cgi?id=21750 76751 Eliminate the notion of "temporary events" 76752 76753 We mark some events as temporary when dispatching, for the sole reason of 76754 manually calling forgetDOMObject when done dispatching. 76755 76756 There doesn't seem to be any reason to call it manually, as JSEvent destructor 76757 will do this automatically right away. 76758 76759 * bindings/js/ScriptController.cpp: 76760 * bindings/js/ScriptController.h: 76761 Removed ScriptController::finishedWithEvent(), which was called after dispatching 76762 a temporary event. 76763 76764 * dom/ContainerNode.cpp: 76765 (WebCore::dispatchChildInsertionEvents): 76766 (WebCore::dispatchChildRemovalEvents): 76767 * dom/EventTarget.h: 76768 * dom/EventTargetNode.cpp: 76769 (WebCore::EventTargetNode::dispatchEvent): 76770 (WebCore::EventTargetNode::dispatchGenericEvent): 76771 (WebCore::EventTargetNode::dispatchSubtreeModifiedEvent): 76772 (WebCore::EventTargetNode::dispatchWindowEvent): 76773 (WebCore::EventTargetNode::dispatchUIEvent): 76774 (WebCore::EventTargetNode::dispatchKeyEvent): 76775 (WebCore::EventTargetNode::dispatchMouseEvent): 76776 (WebCore::EventTargetNode::dispatchWheelEvent): 76777 (WebCore::EventTargetNode::dispatchWebKitAnimationEvent): 76778 (WebCore::EventTargetNode::dispatchWebKitTransitionEvent): 76779 (WebCore::EventTargetNode::dispatchEventForType): 76780 (WebCore::EventTargetNode::dispatchProgressEvent): 76781 (WebCore::EventTargetNode::dispatchStorageEvent): 76782 * dom/EventTargetNode.h: 76783 * dom/MessagePort.cpp: 76784 (WebCore::MessagePort::dispatchMessages): 76785 (WebCore::MessagePort::dispatchCloseEvent): 76786 (WebCore::MessagePort::dispatchEvent): 76787 * dom/MessagePort.h: 76788 * editing/Editor.cpp: 76789 (WebCore::Editor::dispatchCPPEvent): 76790 (WebCore::dispatchEditableContentChangedEvents): 76791 * editing/ReplaceSelectionCommand.cpp: 76792 (WebCore::ReplacementFragment::ReplacementFragment): 76793 * editing/TypingCommand.cpp: 76794 (WebCore::TypingCommand::insertText): 76795 * loader/appcache/DOMApplicationCache.cpp: 76796 (WebCore::DOMApplicationCache::dispatchEvent): 76797 (WebCore::DOMApplicationCache::callListener): 76798 * loader/appcache/DOMApplicationCache.h: 76799 * page/EventHandler.cpp: 76800 (WebCore::EventHandler::dispatchDragEvent): 76801 (WebCore::EventHandler::keyEvent): 76802 (WebCore::EventHandler::handleTextInputEvent): 76803 * page/FrameView.cpp: 76804 (WebCore::FrameView::scheduleEvent): 76805 (WebCore::FrameView::updateOverflowStatus): 76806 (WebCore::FrameView::dispatchScheduledEvents): 76807 * page/FrameView.h: 76808 * rendering/RenderLayer.cpp: 76809 (WebCore::RenderLayer::scrollToOffset): 76810 (WebCore::RenderLayer::updateOverflowStatus): 76811 * svg/SVGElement.cpp: 76812 (WebCore::SVGElement::sendSVGLoadEventIfPossible): 76813 * svg/SVGElementInstance.cpp: 76814 (WebCore::SVGElementInstance::dispatchEvent): 76815 * svg/SVGElementInstance.h: 76816 * xml/XMLHttpRequest.cpp: 76817 (WebCore::XMLHttpRequest::dispatchEvent): 76818 (WebCore::XMLHttpRequest::dispatchReadyStateChangeEvent): 76819 (WebCore::XMLHttpRequest::dispatchXMLHttpRequestProgressEvent): 76820 * xml/XMLHttpRequest.h: 76821 * xml/XMLHttpRequestUpload.cpp: 76822 (WebCore::XMLHttpRequestUpload::dispatchEvent): 76823 (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent): 76824 * xml/XMLHttpRequestUpload.h: 76825 Don't pass the tempEvent boolean around. 76826 76827 2008-10-20 Alp Toker <alp (a] nuanti.com> 76828 76829 Remove unused includes only. Partial GTK+/Win build fix. 76830 76831 * platform/graphics/gtk/SimpleFontDataPango.cpp: 76832 76833 2008-10-20 Alexey Proskuryakov <ap (a] webkit.org> 76834 76835 Reviewed by Oliver Hunt. 76836 76837 https://bugs.webkit.org/show_bug.cgi?id=21705 76838 Implement Web Workers client-side API 76839 76840 The implementation is experimental, and disabled by default. It doesn't quite match the 76841 published draft, being influenced by further WHATWG discussions. 76842 76843 This only implements the client-side API, and does not actually create any threads or 76844 global contexts yet. 76845 76846 * DerivedSources.make: Added DedicatedWorker. SharedWorker is not implemented yet, as I'm 76847 still not sure if having separate classes for these helps at all. 76848 76849 * WebCore.xcodeproj/project.pbxproj: Added new files. 76850 76851 * bindings/js/JSDOMWindowBase.cpp: 76852 (jsDOMWindowBaseWorker): 76853 (WebCore::JSDOMWindowBase::put): 76854 (setJSDOMWindowBaseWorker): 76855 Added window.Worker constructor. Moved JSXSLTProcessorConstructor.h include out of ifdef 76856 to match prevailing style. 76857 76858 * bindings/js/JSDedicatedWorkerConstructor.cpp: Added. 76859 * bindings/js/JSDedicatedWorkerConstructor.h: Added. 76860 * bindings/js/JSDedicatedWorkerCustom.cpp: Added. 76861 The implementation of event listeners are left custom intentionally, for easier implementation 76862 of listeners that are not tied to any Document in the future. 76863 76864 * dom/DedicatedWorker.cpp: Added. 76865 * dom/DedicatedWorker.h: Added. 76866 * dom/DedicatedWorker.idl: Added. 76867 Added an implementation that can only load requested scripts for now. 76868 76869 2008-10-19 Darin Adler <darin (a] apple.com> 76870 76871 Reviewed by Dan Bernstein. 76872 76873 - fix assertion seen when opening inspector 76874 76875 * bindings/js/JSQuarantinedObjectWrapper.cpp: 76876 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): 76877 Removed unneeded asObject cast. 76878 76879 2008-10-19 Dan Bernstein <mitz (a] apple.com> 76880 76881 Rubber-stamped by Timothy Hatcher. 76882 76883 - remove empty directories and correct the MIME type of inspector images 76884 76885 * page/inspector: Removed. 76886 * page/inspector/Images: Removed. 76887 76888 2008-10-19 Timothy Hatcher <timothy (a] apple.com> 76889 76890 Make the Web Inspector Resources panel open quicker and change graphs 76891 faster. There was some accidental n^2 logic at fault when updating the 76892 graph boundaries. 76893 76894 https://bugs.webkit.org/show_bug.cgi?id=21742 76895 76896 Reviewed by Darin Adler. 76897 76898 * inspector/front-end/ResourcesPanel.js: 76899 (WebInspector.ResourcesPanel.prototype.set calculator): Return early for 76900 a null calculator. Remove the second argument passed to _refreshAllResources. 76901 (WebInspector.ResourcesPanel.prototype.refresh): Call updateBoundaries on 76902 the calculator for all the stale resources before calling refreshResource. 76903 Pass true for the first argument of refreshResource to skip the boundary update. 76904 (WebInspector.ResourcesPanel.prototype._updateGraphBoundariesIfNeeded): Remove 76905 the second argument passed to _refreshAllResources. 76906 (WebInspector.ResourcesPanel.prototype._refreshAllResourcesSoon): Remove the 76907 skipSort argument since every passed true, and it would be bad to pass false. 76908 (WebInspector.ResourcesPanel.prototype._refreshAllResources): Ditto. And if 76909 skipBoundaryUpdate is false, call updateBoundaries on the calculator for all 76910 the resources before calling refreshResource. Pass true for the first argument 76911 of refreshResource to skip the boundary update. 76912 76913 2008-10-19 Timothy Hatcher <timothy (a] apple.com> 76914 76915 Visually distinguish resources that loaded from the memory cache. 76916 76917 https://bugs.webkit.org/show_bug.cgi?id=14279 76918 76919 Reviewed by Dan Bernstein. 76920 76921 * English.lproj/localizedStrings.js: New string. 76922 * inspector/front-end/Images/timelineHollowPillBlue.png: Added. 76923 * inspector/front-end/Images/timelineHollowPillGray.png: Added. 76924 * inspector/front-end/Images/timelineHollowPillGreen.png: Added. 76925 * inspector/front-end/Images/timelineHollowPillOrange.png: Added. 76926 * inspector/front-end/Images/timelineHollowPillPurple.png: Added. 76927 * inspector/front-end/Images/timelineHollowPillRed.png: Added. 76928 * inspector/front-end/Images/timelineHollowPillYellow.png: Added. 76929 * inspector/front-end/ResourcesPanel.js: 76930 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): 76931 Add the "(from cache)" suffix to the tooltip. 76932 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): 76933 Add the "(from cache)" suffix to the tooltip. 76934 (WebInspector.ResourceGraph): Add the "resource-cached" class. 76935 * inspector/front-end/inspector.css: New styles to make the timeline 76936 bars use the hollow pill images. 76937 76938 2008-10-19 Timothy Hatcher <timothy (a] apple.com> 76939 76940 Update the scroll position in the Resources panel when loading 76941 a new page or toggling on small resource rows. 76942 76943 https://bugs.webkit.org/show_bug.cgi?id=20114 76944 76945 Reviewed by Darin Adler. 76946 76947 * inspector/front-end/ResourcesPanel.js: 76948 (WebInspector.ResourcesPanel.prototype.reset): Scroll to the top, 76949 since all the resource are being removed. 76950 (WebInspector.ResourcesPanel.prototype.removeResource): Call 76951 _adjustScrollPosition in case the view is shorter and needs scrolled. 76952 (WebInspector.ResourcesPanel.prototype._toggleLargerResources): Ditto. 76953 (WebInspector.ResourcesPanel.prototype._adjustScrollPosition): Check 76954 the height of the sidebar against the scrollTop and height of the 76955 resourcesContainerElement. If the sidebar is shorter, scroll up 76956 so the last resource is at the bottom again. 76957 76958 2008-10-19 Timothy Hatcher <timothy (a] apple.com> 76959 76960 Show per resource times and sizes when hovering over the bar graph for a resource. 76961 76962 https://bugs.webkit.org/show_bug.cgi?id=14300 76963 rdar://problem/5712802 76964 76965 Reviewed by Cameron Zwarich. 76966 76967 * English.lproj/localizedStrings.js: Add new strings. 76968 * inspector/front-end/Images/graphLabelCalloutLeft.png: Added. 76969 * inspector/front-end/Images/graphLabelCalloutRight.png: Added. 76970 * inspector/front-end/ResourcesPanel.js: 76971 (WebInspector.ResourcesPanel.prototype.refreshResource): Pass the calculator to the 76972 ResourceGraph.refresh function. 76973 (WebInspector.ResourceCalculator.prototype.computeBarGraphLabels): Default implementation 76974 returns the formatted value. 76975 (WebInspector.ResourceTimeCalculator.prototype.computeBarGraphLabels): Return discrete values 76976 for the latency and download times. Also generate a custom tooltip. 76977 (WebInspector.ResourceGraph): Add a mouseover event listener that calls refreshLabelPositions. 76978 (WebInspector.ResourceGraph.prototype.refreshLabelPositions): Added. Updates the label positions 76979 in case the bar has changed size. 76980 (WebInspector.ResourceGraph.prototype.refresh): Set the label text and tooltips. 76981 * inspector/front-end/inspector.css: New styles for the labels. 76982 76983 2008-10-19 Darin Adler <darin (a] apple.com> 76984 76985 Reviewed by Oliver Hunt. 76986 76987 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 76988 improve performance by eliminating JSValue as a base class for JSCell 76989 76990 Remove most uses of JSValue, which will be removed in a future patch. 76991 76992 * bindings/js/JSCustomXPathNSResolver.h: Removed declaration of JSValue 76993 and used JSValuePtr instead. 76994 * bindings/js/JSEventTarget.h: Ditto. 76995 * bindings/js/JSNodeFilterCondition.h: Ditto. 76996 * bindings/js/ScheduledAction.h: Ditto. 76997 * bindings/js/ScriptController.h: Ditto. 76998 * bindings/objc/WebScriptObjectPrivate.h: Ditto. 76999 * bridge/c/c_utility.h: Ditto. 77000 * bridge/jni/jni_jsobject.h: Ditto. 77001 * bridge/jni/jni_utility.h: Ditto. 77002 * bridge/objc/WebScriptObject.h: Ditto. 77003 * dom/Traversal.h: Ditto. 77004 * inspector/InspectorController.cpp: Ditto. 77005 * inspector/JavaScriptProfile.h: Ditto. 77006 * inspector/JavaScriptProfileNode.h: Ditto. 77007 * loader/FrameLoader.h: Ditto. 77008 * page/Console.h: Ditto. 77009 * plugins/MimeTypeArray.h: Ditto. 77010 * plugins/Plugin.h: Ditto. 77011 * plugins/PluginArray.h: Ditto. 77012 * plugins/PluginView.cpp: 77013 (WebCore::getString): Ditto. 77014 (WebCore::PluginView::performRequest): Ditto. 77015 * plugins/gtk/PluginViewGtk.cpp: Ditto. 77016 * plugins/qt/PluginViewQt.cpp: Ditto. 77017 * plugins/win/PluginViewWin.cpp: Ditto. 77018 77019 * bridge/qt/qt_class.cpp: 77020 (JSC::Bindings::QtClass::fallbackObject): Use JSValuePtr and JSObject* 77021 instead of JSValue*. 77022 * bridge/qt/qt_class.h: Ditto. 77023 * bridge/qt/qt_instance.cpp: 77024 (JSC::Bindings::QtInstance::mark): Ditto. 77025 (JSC::Bindings::QtInstance::invokeMethod): Ditto. 77026 (JSC::Bindings::QtInstance::defaultValue): Ditto. 77027 (JSC::Bindings::QtInstance::stringValue): Ditto. 77028 (JSC::Bindings::QtInstance::numberValue): Ditto. 77029 (JSC::Bindings::QtInstance::booleanValue): Ditto. 77030 (JSC::Bindings::QtInstance::valueOf): Ditto. 77031 (JSC::Bindings::QtField::valueFromInstance): Ditto. 77032 (JSC::Bindings::QtField::setValueToInstance): Ditto. 77033 * bridge/qt/qt_instance.h: Ditto. 77034 * bridge/qt/qt_runtime.cpp: Ditto. 77035 (JSC::Bindings::valueRealType): Ditto. 77036 (JSC::Bindings::convertValueToQVariant): Ditto. 77037 (JSC::Bindings::convertQVariantToValue): Ditto. 77038 (JSC::Bindings::findMethodIndex): Ditto. 77039 (JSC::Bindings::QtRuntimeMetaMethod::call): Ditto. 77040 (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter): Ditto. 77041 (JSC::Bindings::QtRuntimeMetaMethod::connectGetter): Ditto. 77042 (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter): Ditto. 77043 (JSC::Bindings::QtRuntimeConnectionMethod::call): Ditto. 77044 (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter): Ditto. 77045 (JSC::Bindings::QtArray::setValueAt): Ditto. 77046 (JSC::Bindings::QtArray::valueAt): Ditto. 77047 * bridge/qt/qt_runtime.h: Ditto. 77048 77049 * bridge/testqtbindings.cpp: 77050 (main): Use JSValuePtr. 77051 77052 2008-10-18 Darin Adler <darin (a] apple.com> 77053 77054 Reviewed by Oliver Hunt. 77055 77056 - next step of https://bugs.webkit.org/show_bug.cgi?id=21732 77057 improve performance by eliminating JSValue as a base class for JSCell 77058 77059 Tweak a little more to get closer to where we can make JSValuePtr a class. 77060 77061 * bindings/js/JSAudioConstructor.cpp: 77062 (WebCore::JSAudioConstructor::JSAudioConstructor): Use asObject. 77063 (WebCore::constructAudio): Ditto. 77064 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 77065 (WebCore::JSCSSStyleDeclaration::nameGetter): Ditto. 77066 77067 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 77068 (WebCore::toHTMLCanvasStyle): Use asString and asObject. 77069 (WebCore::JSCanvasRenderingContext2D::setFillColor): Ditto. 77070 (WebCore::JSCanvasRenderingContext2D::setStrokeColor): Ditto. 77071 (WebCore::JSCanvasRenderingContext2D::drawImage): Ditto. 77072 (WebCore::JSCanvasRenderingContext2D::drawImageFromRect): Ditto. 77073 (WebCore::JSCanvasRenderingContext2D::setShadow): Ditto. 77074 (WebCore::JSCanvasRenderingContext2D::createPattern): Ditto. 77075 77076 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 77077 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): Use JSValuePtr. 77078 77079 * bindings/js/JSDOMBinding.cpp: 77080 (WebCore::setDOMException): Use noValue. 77081 77082 * bindings/js/JSDOMBinding.h: 77083 (WebCore::getDOMPrototype): Use asObject. 77084 77085 * bindings/js/JSDOMWindowBase.cpp: 77086 (WebCore::showModalDialog): Use noValue. 77087 (jsDOMWindowBaseEvent): Use asObject. 77088 (jsDOMWindowBaseImage): Ditto. 77089 (jsDOMWindowBaseMessageChannel): Ditto. 77090 (jsDOMWindowBaseOption): Ditto. 77091 (jsDOMWindowBaseXMLHttpRequest): Ditto. 77092 (jsDOMWindowBaseAudio): Ditto. 77093 (jsDOMWindowBaseXSLTProcessor): Ditto. 77094 (WebCore::JSDOMWindowBase::childFrameGetter): Ditto. 77095 (WebCore::JSDOMWindowBase::indexGetter): Ditto. 77096 (WebCore::JSDOMWindowBase::namedItemGetter): Ditto. 77097 (WebCore::JSDOMWindowBase::getOwnPropertySlot): Ditto. 77098 (WebCore::JSDOMWindowBase::findJSEventListener): Ditto. 77099 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): Ditto. 77100 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): Ditto. 77101 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): Ditto. 77102 (windowProtoFuncOpen): Use noValue. 77103 (WebCore::toJSDOMWindow): Use asObject. 77104 77105 * bindings/js/JSDOMWindowCustom.cpp: 77106 (WebCore::setTimeoutOrInterval): Use asString. 77107 (WebCore::toDOMWindow): Use asObject. 77108 77109 * bindings/js/JSEventListener.cpp: 77110 (WebCore::JSAbstractEventListener::handleEvent): Use noValue. 77111 (WebCore::JSLazyEventListener::parseCode): Use asObject. 77112 77113 * bindings/js/JSHTMLCollectionCustom.cpp: 77114 (WebCore::JSHTMLCollection::nameGetter): Use asObject. 77115 * bindings/js/JSHTMLDocumentCustom.cpp: 77116 (WebCore::JSHTMLDocument::nameGetter): Ditto. 77117 * bindings/js/JSHTMLElementCustom.cpp: 77118 (WebCore::JSHTMLElement::pushEventHandlerScope): Ditto. 77119 * bindings/js/JSHTMLFormElementCustom.cpp: 77120 (WebCore::JSHTMLFormElement::nameGetter): Ditto. 77121 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 77122 (WebCore::JSHTMLFrameSetElement::nameGetter): Ditto. 77123 * bindings/js/JSHTMLOptionElementConstructor.cpp: 77124 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): Ditto. 77125 (WebCore::constructHTMLOptionElement): Ditto. 77126 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 77127 (WebCore::JSHTMLOptionsCollection::remove): Ditto. 77128 * bindings/js/JSImageConstructor.cpp: 77129 (WebCore::JSImageConstructor::JSImageConstructor): Ditto. 77130 (WebCore::constructImage): Ditto. 77131 * bindings/js/JSInspectedObjectWrapper.cpp: 77132 (WebCore::JSInspectedObjectWrapper::wrap): Ditto. 77133 * bindings/js/JSInspectorCallbackWrapper.cpp: 77134 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto. 77135 77136 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 77137 (WebCore::JSJavaScriptCallFrame::evaluate): Use noValue. 77138 77139 * bindings/js/JSMessageChannelConstructor.cpp: 77140 (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): Use asObject. 77141 (WebCore::JSMessageChannelConstructor::construct): Ditto. 77142 * bindings/js/JSMimeTypeArrayCustom.cpp: 77143 (WebCore::JSMimeTypeArray::nameGetter): Ditto. 77144 * bindings/js/JSNamedNodeMapCustom.cpp: 77145 (WebCore::JSNamedNodeMap::nameGetter): Ditto. 77146 * bindings/js/JSNamedNodesCollection.cpp: 77147 (WebCore::JSNamedNodesCollection::lengthGetter): Ditto. 77148 (WebCore::JSNamedNodesCollection::indexGetter): Ditto. 77149 * bindings/js/JSNodeFilterCustom.cpp: 77150 (WebCore::toNodeFilter): Ditto. 77151 * bindings/js/JSNodeListCustom.cpp: 77152 (WebCore::JSNodeList::nameGetter): Ditto. 77153 * bindings/js/JSPluginArrayCustom.cpp: 77154 (WebCore::JSPluginArray::nameGetter): Ditto. 77155 * bindings/js/JSPluginCustom.cpp: 77156 (WebCore::JSPlugin::nameGetter): Ditto. 77157 * bindings/js/JSPluginElementFunctions.cpp: 77158 (WebCore::runtimeObjectGetter): Ditto. 77159 (WebCore::runtimeObjectPropertyGetter): Ditto. 77160 * bindings/js/JSQuarantinedObjectWrapper.cpp: 77161 (WebCore::JSQuarantinedObjectWrapper::asWrapper): Ditto. 77162 (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot): Ditto. 77163 (WebCore::JSQuarantinedObjectWrapper::construct): Ditto. 77164 * bindings/js/JSRGBColor.cpp: 77165 (jsRGBColorRed): Ditto. 77166 (jsRGBColorGreen): Ditto. 77167 (jsRGBColorBlue): Ditto. 77168 77169 * bindings/js/JSSQLResultSetRowListCustom.cpp: 77170 (WebCore::JSSQLResultSetRowList::item): Use noValue. 77171 77172 * bindings/js/JSStorageCustom.cpp: 77173 (WebCore::JSStorage::nameGetter): Use asObject. 77174 (WebCore::JSStorage::deleteProperty): Ditto. 77175 (WebCore::JSStorage::customPut): Ditto. 77176 * bindings/js/JSStyleSheetListCustom.cpp: 77177 (WebCore::JSStyleSheetList::nameGetter): Ditto. 77178 * bindings/js/JSXMLHttpRequestConstructor.cpp: 77179 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): Ditto. 77180 * bindings/js/JSXSLTProcessorCustom.cpp: 77181 (WebCore::JSXSLTProcessor::importStylesheet): Ditto. 77182 (WebCore::JSXSLTProcessor::transformToFragment): Ditto. 77183 (WebCore::JSXSLTProcessor::transformToDocument): Ditto. 77184 77185 * bindings/js/ScriptController.cpp: 77186 (WebCore::ScriptController::evaluate): Use noValue. 77187 * bindings/objc/DOMInternal.mm: 77188 (-[WebScriptObject _initializeScriptDOMNodeImp]): Ditto. 77189 77190 * bindings/objc/WebScriptObject.mm: 77191 (-[WebScriptObject evaluateWebScript:]): Use JSValuePtr. 77192 (-[WebScriptObject valueForKey:]): Ditto. 77193 (-[WebScriptObject webScriptValueAtIndex:]): Ditto. 77194 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 77195 Use asObject and asString. 77196 77197 * bindings/scripts/CodeGeneratorJS.pm: Use asObject. 77198 77199 * bridge/c/c_instance.h: Use JSValuePtr. 77200 * bridge/c/c_runtime.cpp: 77201 (JSC::Bindings::CField::setValueToInstance): Ditto. 77202 77203 * bridge/c/c_utility.cpp: 77204 (JSC::Bindings::convertValueToNPVariant): Use asObject. 77205 77206 * bridge/jni/jni_instance.cpp: 77207 (JavaInstance::booleanValue): Use JSValuePtr. 77208 (JavaInstance::invokeMethod): Ditto. And noValue. 77209 * bridge/jni/jni_jsobject.mm: 77210 (JavaJSObject::getSlot): Ditto. 77211 (JavaJSObject::convertValueToJObject): Ditto. 77212 * bridge/jni/jni_runtime.cpp: 77213 (JavaField::dispatchValueFromInstance): Ditto. 77214 (JavaField::valueFromInstance): Ditto. 77215 (JavaField::dispatchSetValueToInstance): Ditto. 77216 (JavaField::setValueToInstance): Ditto. 77217 (JavaArray::setValueAt): Ditto. 77218 (JavaArray::valueAt): Ditto. 77219 * bridge/jni/jni_runtime.h: Ditto. 77220 77221 * bridge/jni/jni_utility.cpp: 77222 (JSC::Bindings::convertArrayInstanceToJavaArray): Take a JSArray* 77223 instead of a JSValue*. 77224 (JSC::Bindings::convertValueToJValue): Use asObject and asArray. 77225 77226 * bridge/objc/objc_class.h: Use JSValuePtr. 77227 * bridge/objc/objc_instance.h: Ditto. 77228 * bridge/objc/objc_runtime.h: Ditto. 77229 77230 * bridge/objc/objc_runtime.mm: 77231 (JSC::Bindings::callObjCFallbackObject): Use asObject. 77232 77233 * bridge/objc/objc_utility.h: Use JSValuePtr. 77234 * bridge/objc/objc_utility.mm: 77235 (JSC::Bindings::convertValueToObjcValue): Use JSValuePtr and asObject. 77236 (JSC::Bindings::convertObjcValueToValue): Use jsUndefined() instead of 0. 77237 77238 * bridge/runtime.cpp: 77239 (JSC::Bindings::Instance::getValueOfField): Use JSValuePtr. 77240 (JSC::Bindings::Instance::setValueOfField): Ditto. 77241 77242 * bridge/runtime_array.cpp: 77243 (JSC::RuntimeArray::lengthGetter): Use JSValuePtr and asObject. 77244 (JSC::RuntimeArray::indexGetter): Ditto. 77245 * bridge/runtime_array.h: Ditto. 77246 * bridge/runtime_method.cpp: 77247 (JSC::RuntimeMethod::lengthGetter): Ditto. 77248 (JSC::callRuntimeMethod): Ditto. 77249 * bridge/runtime_object.cpp: 77250 (JSC::RuntimeObjectImp::fallbackObjectGetter): Ditto. 77251 (JSC::RuntimeObjectImp::fieldGetter): Ditto. 77252 (JSC::RuntimeObjectImp::methodGetter): Ditto. 77253 77254 * loader/FrameLoader.cpp: 77255 (WebCore::FrameLoader::executeScript): Use noValue. 77256 77257 * page/Console.cpp: 77258 (WebCore::Console::trace): Use asInternalFunction. 77259 77260 2008-10-19 Dan Bernstein <mitz (a] apple.com> 77261 77262 Reviewed by Timothy Hatcher. 77263 77264 - lower the default button repaint frequency 77265 77266 * rendering/RenderButton.cpp: 77267 (WebCore::RenderButton::styleDidChange): Changed the timer interval from 77268 0.01 to 0.03. 77269 77270 2008-10-18 Dan Bernstein <mitz (a] apple.com> 77271 77272 Reviewed by Mark Rowe. 77273 77274 - Windows build fix 77275 77276 * rendering/RenderThemeSafari.cpp: 77277 (WebCore::RenderThemeSafari::paintMediaFullscreenButton): 77278 (WebCore::RenderThemeSafari::paintMediaMuteButton): 77279 (WebCore::RenderThemeSafari::paintMediaPlayButton): 77280 (WebCore::RenderThemeSafari::paintMediaSeekBackButton): 77281 (WebCore::RenderThemeSafari::paintMediaSeekForwardButton): 77282 (WebCore::RenderThemeSafari::paintMediaSliderThumb): 77283 77284 2008-10-18 Dan Bernstein <mitz (a] apple.com> 77285 77286 Reviewed by Sam Weinig. 77287 77288 - WebCore part of https://bugs.webkit.org/show_bug.cgi?id=21736 77289 Long-dead decoded image data make up for most of the object cache's memory use over time 77290 77291 Add a cache setting for how long decoded image data should be allowed to 77292 persist in memory after the image has died. By default, this is set to 77293 0, which means "forever". 77294 77295 * loader/Cache.cpp: 77296 (WebCore::Cache::Cache): Initialize m_deadDecodedDataDeletionInterval. 77297 * loader/Cache.h: 77298 (WebCore::Cache::setDeadDecodedDataDeletionInterval): Added a setter. 77299 (WebCore::Cache::deadDecodedDataDeletionInterval): Added a getter. 77300 * loader/CachedImage.cpp: 77301 (WebCore::CachedImage::CachedImage): Initialize the decoded data 77302 deletion timer. 77303 (WebCore::CachedImage::decodedDataDeletionTimerFired): Added. Destroys 77304 the decoded image data. 77305 (WebCore::CachedImage::addClient): Stop the timer if it is active. 77306 (WebCore::CachedImage::allClientsRemoved): Start the decoded data 77307 deletion timer. 77308 * loader/CachedImage.h: 77309 77310 2008-10-18 Darin Adler <darin (a] apple.com> 77311 77312 Reviewed by Dan Bernstein. 77313 77314 - fix https://bugs.webkit.org/show_bug.cgi?id=21645 77315 REGRESSION (r37469-r37605): File Input not Uploaded in Multipart/Form-data Form 77316 77317 * html/HTMLFormElement.cpp: 77318 (WebCore::HTMLFormElement::formData): 77319 Fix loop that goes through the FormDataList to go two at a time in a clearer 77320 way. My last patch screwed up the way it got form content from the items. 77321 This "two at a time" approach is a confusing way to do things, which explains 77322 why I got it wrong last time through, but I decided to just fix it locally for 77323 now rather than changing the design of FormDataList. 77324 77325 2008-10-18 Darin Adler <darin (a] apple.com> 77326 77327 Reviewed by Cameron Zwarich. 77328 77329 - next step on https://bugs.webkit.org/show_bug.cgi?id=21732 77330 improve performance by eliminating JSValue as a base class for JSCell 77331 77332 Use JSValuePtr everywhere instead of JSValue*. In the future, we'll be 77333 changing JSValuePtr to be a class, and then eventually renaming it 77334 to JSValue once that's done. 77335 77336 * bindings/js/JSAttrCustom.cpp: 77337 * bindings/js/JSCSSRuleCustom.cpp: 77338 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 77339 * bindings/js/JSCSSValueCustom.cpp: 77340 * bindings/js/JSCanvasPixelArrayCustom.h: 77341 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 77342 * bindings/js/JSClipboardCustom.cpp: 77343 * bindings/js/JSConsoleCustom.cpp: 77344 * bindings/js/JSCustomSQLStatementCallback.cpp: 77345 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 77346 * bindings/js/JSCustomSQLTransactionCallback.cpp: 77347 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 77348 * bindings/js/JSCustomVoidCallback.cpp: 77349 * bindings/js/JSCustomVoidCallback.h: 77350 * bindings/js/JSCustomXPathNSResolver.cpp: 77351 * bindings/js/JSDOMApplicationCacheCustom.cpp: 77352 * bindings/js/JSDOMBinding.cpp: 77353 * bindings/js/JSDOMBinding.h: 77354 * bindings/js/JSDOMWindowBase.cpp: 77355 * bindings/js/JSDOMWindowBase.h: 77356 * bindings/js/JSDOMWindowCustom.cpp: 77357 * bindings/js/JSDOMWindowCustom.h: 77358 * bindings/js/JSDOMWindowShell.cpp: 77359 * bindings/js/JSDOMWindowShell.h: 77360 * bindings/js/JSDatabaseCustom.cpp: 77361 * bindings/js/JSDocumentCustom.cpp: 77362 * bindings/js/JSElementCustom.cpp: 77363 * bindings/js/JSEventCustom.cpp: 77364 * bindings/js/JSEventListener.cpp: 77365 * bindings/js/JSEventTarget.cpp: 77366 * bindings/js/JSEventTargetBase.h: 77367 * bindings/js/JSEventTargetNodeCustom.cpp: 77368 * bindings/js/JSHTMLAllCollection.h: 77369 * bindings/js/JSHTMLAppletElementCustom.cpp: 77370 * bindings/js/JSHTMLCollectionCustom.cpp: 77371 * bindings/js/JSHTMLDocumentCustom.cpp: 77372 * bindings/js/JSHTMLEmbedElementCustom.cpp: 77373 * bindings/js/JSHTMLFormElementCustom.cpp: 77374 * bindings/js/JSHTMLFrameElementCustom.cpp: 77375 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 77376 * bindings/js/JSHTMLIFrameElementCustom.cpp: 77377 * bindings/js/JSHTMLInputElementCustom.cpp: 77378 * bindings/js/JSHTMLObjectElementCustom.cpp: 77379 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 77380 * bindings/js/JSHTMLSelectElementCustom.cpp: 77381 * bindings/js/JSHTMLSelectElementCustom.h: 77382 * bindings/js/JSHistoryCustom.cpp: 77383 * bindings/js/JSImageDataCustom.cpp: 77384 * bindings/js/JSInspectedObjectWrapper.cpp: 77385 * bindings/js/JSInspectedObjectWrapper.h: 77386 * bindings/js/JSInspectorCallbackWrapper.cpp: 77387 * bindings/js/JSInspectorCallbackWrapper.h: 77388 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 77389 * bindings/js/JSLocationCustom.cpp: 77390 * bindings/js/JSMessagePortCustom.cpp: 77391 * bindings/js/JSMimeTypeArrayCustom.cpp: 77392 * bindings/js/JSNamedNodeMapCustom.cpp: 77393 * bindings/js/JSNamedNodesCollection.cpp: 77394 * bindings/js/JSNamedNodesCollection.h: 77395 * bindings/js/JSNavigatorCustom.cpp: 77396 * bindings/js/JSNodeCustom.cpp: 77397 * bindings/js/JSNodeFilterCondition.cpp: 77398 * bindings/js/JSNodeFilterCustom.cpp: 77399 * bindings/js/JSNodeIteratorCustom.cpp: 77400 * bindings/js/JSNodeListCustom.cpp: 77401 * bindings/js/JSPluginArrayCustom.cpp: 77402 * bindings/js/JSPluginCustom.cpp: 77403 * bindings/js/JSPluginElementFunctions.cpp: 77404 * bindings/js/JSPluginElementFunctions.h: 77405 * bindings/js/JSQuarantinedObjectWrapper.cpp: 77406 * bindings/js/JSQuarantinedObjectWrapper.h: 77407 * bindings/js/JSRGBColor.cpp: 77408 * bindings/js/JSRGBColor.h: 77409 * bindings/js/JSSQLResultSetRowListCustom.cpp: 77410 * bindings/js/JSSQLTransactionCustom.cpp: 77411 * bindings/js/JSSVGElementInstanceCustom.cpp: 77412 * bindings/js/JSSVGLengthCustom.cpp: 77413 * bindings/js/JSSVGMatrixCustom.cpp: 77414 * bindings/js/JSSVGPathSegCustom.cpp: 77415 * bindings/js/JSSVGPathSegListCustom.cpp: 77416 * bindings/js/JSSVGPointListCustom.cpp: 77417 * bindings/js/JSSVGTransformListCustom.cpp: 77418 * bindings/js/JSStorageCustom.cpp: 77419 * bindings/js/JSStyleSheetCustom.cpp: 77420 * bindings/js/JSStyleSheetListCustom.cpp: 77421 * bindings/js/JSTextCustom.cpp: 77422 * bindings/js/JSTreeWalkerCustom.cpp: 77423 * bindings/js/JSXMLHttpRequestCustom.cpp: 77424 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 77425 * bindings/js/JSXSLTProcessorCustom.cpp: 77426 * bindings/js/ScheduledAction.cpp: 77427 * bindings/js/ScheduledAction.h: 77428 * bindings/js/ScriptController.cpp: 77429 * bindings/js/ScriptController.h: 77430 * bindings/objc/WebScriptObject.mm: 77431 * bindings/scripts/CodeGeneratorJS.pm: 77432 * bridge/NP_jsobject.cpp: 77433 * bridge/c/c_instance.cpp: 77434 * bridge/c/c_instance.h: 77435 * bridge/c/c_runtime.cpp: 77436 * bridge/c/c_runtime.h: 77437 * bridge/c/c_utility.cpp: 77438 * bridge/jni/jni_instance.cpp: 77439 * bridge/jni/jni_instance.h: 77440 * bridge/jni/jni_jsobject.mm: 77441 * bridge/jni/jni_objc.mm: 77442 * bridge/jni/jni_runtime.cpp: 77443 * bridge/jni/jni_runtime.h: 77444 * bridge/jni/jni_utility.cpp: 77445 * bridge/objc/objc_class.mm: 77446 * bridge/objc/objc_instance.h: 77447 * bridge/objc/objc_instance.mm: 77448 * bridge/objc/objc_runtime.h: 77449 * bridge/objc/objc_runtime.mm: 77450 * bridge/objc/objc_utility.h: 77451 * bridge/objc/objc_utility.mm: 77452 * bridge/runtime.h: 77453 * bridge/runtime_array.cpp: 77454 * bridge/runtime_array.h: 77455 * bridge/runtime_method.cpp: 77456 * bridge/runtime_method.h: 77457 * bridge/runtime_object.cpp: 77458 * bridge/runtime_object.h: 77459 * inspector/JavaScriptCallFrame.cpp: 77460 * inspector/JavaScriptCallFrame.h: 77461 * inspector/JavaScriptProfile.cpp: 77462 * inspector/JavaScriptProfileNode.cpp: 77463 * loader/FrameLoader.cpp: 77464 * loader/FrameLoader.h: 77465 * page/Console.cpp: 77466 * page/Console.h: 77467 * plugins/MimeTypeArray.h: 77468 * plugins/Plugin.h: 77469 * plugins/PluginArray.h: 77470 * xml/XMLHttpRequest.cpp: 77471 Replace JSValue* with JSValuePtr. 77472 77473 2008-10-18 Darin Adler <darin (a] apple.com> 77474 77475 Reviewed by Oliver Hunt. 77476 77477 - first step of https://bugs.webkit.org/show_bug.cgi?id=21732 77478 improve performance by eliminating JSValue as a base class for JSCell 77479 77480 Update for change to make PreferredPrimitiveType no longer 77481 a member of JSValue. 77482 77483 * bridge/c/c_instance.cpp: 77484 (JSC::Bindings::CInstance::defaultValue): Removed JSValue:: prefix. 77485 * bridge/jni/jni_instance.cpp: 77486 (JavaInstance::defaultValue): Ditto. 77487 * bridge/objc/objc_instance.mm: 77488 (ObjcInstance::defaultValue): Ditto. 77489 * bridge/qt/qt_instance.cpp: 77490 (JSC::Bindings::QtInstance::defaultValue): Ditto. 77491 * bridge/runtime.h: Ditto. Also removed typedef. 77492 77493 2008-10-18 Darin Adler <darin (a] apple.com> 77494 77495 - try to fix Windows build 77496 77497 * rendering/RenderThemeSafari.cpp: 77498 (WebCore::RenderThemeSafari::paintCheckbox): Explicitly qualify part name with 77499 SafariTheme namespace, since there is now an identically named constant in 77500 the ControlPart enum. 77501 (WebCore::RenderThemeSafari::paintButton): Ditto. 77502 (WebCore::RenderThemeSafari::paintTextField): Ditto. 77503 (WebCore::RenderThemeSafari::paintTextArea): Ditto. 77504 (WebCore::RenderThemeSafari::paintSearchField): Ditto. 77505 (WebCore::RenderThemeSafari::paintSearchFieldCancelButton): Ditto. 77506 (WebCore::RenderThemeSafari::paintSearchFieldResultsDecoration): Ditto. 77507 (WebCore::RenderThemeSafari::paintSearchFieldResultsButton): Ditto. 77508 77509 2008-10-18 Jan Michael Alonzo <jmalonzo (a] webkit.org> 77510 77511 Reviewed by Alp Toker. 77512 77513 [GTK] crash after selecting a file on an <input type=file> 77514 https://bugs.webkit.org/show_bug.cgi?id=21385 77515 77516 Follow Mac and Win's behaviors for Icon::paint 77517 77518 * platform/graphics/gtk/IconGtk.cpp: 77519 (WebCore::Icon::paint): check if painting is enabled before 77520 painting the icon 77521 77522 2008-10-18 Zan Dobersek <zandobersek (a] gmail.com> 77523 77524 Reviewed by Oliver Hunt. 77525 77526 Qt port build fix. 77527 77528 * platform/qt/RenderThemeQt.h: 77529 77530 2008-10-17 Kevin Watters <kevinwatters (a] gmail.com> 77531 77532 Reviewed by Kevin Ollivier 77533 77534 Fix wx port's scrollbar and drawing handling after recent changes. 77535 77536 https://bugs.webkit.org/show_bug.cgi?id=21720 77537 77538 * platform/ScrollView.h: 77539 * platform/wx/ScrollViewWx.cpp: 77540 (WebCore::ScrollView::platformVisibleContentRect): 77541 (WebCore::ScrollView::platformContentsSize): 77542 (WebCore::ScrollView::platformSetContentsSize): 77543 * platform/wx/WidgetWx.cpp: 77544 (WebCore::Widget::paint): 77545 77546 2008-10-17 Kevin Ollivier <kevino (a] theolliviers.com> 77547 77548 wx build fix. EAppearance -> ControlPart. 77549 77550 * platform/wx/RenderThemeWx.cpp: 77551 (WebCore::RenderThemeWx::isControlStyled): 77552 (WebCore::RenderThemeWx::adjustRepaintRect): 77553 (WebCore::RenderThemeWx::controlSupportsTints): 77554 (WebCore::RenderThemeWx::supportsFocus): 77555 (WebCore::RenderThemeWx::paintButton): 77556 77557 2008-10-17 David Hyatt <hyatt (a] apple.com> 77558 77559 Eliminate the EAppearance enum in favor of the new ControlPart enum. Cut out the scrollbar 77560 values from the enum since they are handled by ScrollbarTheme instead. 77561 77562 Reviewed by Tim Hatcher 77563 77564 * css/CSSPrimitiveValueMappings.h: 77565 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 77566 (WebCore::CSSPrimitiveValue::operator ControlPart): 77567 * css/CSSStyleSelector.cpp: 77568 (WebCore::CSSStyleSelector::adjustRenderStyle): 77569 * css/CSSValueKeywords.in: 77570 * platform/gtk/RenderThemeGtk.cpp: 77571 (WebCore::supportsFocus): 77572 (WebCore::RenderThemeGtk::baselinePosition): 77573 (WebCore::setToggleSize): 77574 (WebCore::RenderThemeGtk::setCheckboxSize): 77575 (WebCore::RenderThemeGtk::setRadioSize): 77576 (WebCore::RenderThemeGtk::adjustButtonStyle): 77577 * platform/qt/RenderThemeQt.cpp: 77578 (WebCore::RenderThemeQt::baselinePosition): 77579 (WebCore::RenderThemeQt::controlSupportsTints): 77580 (WebCore::RenderThemeQt::adjustRepaintRect): 77581 (WebCore::RenderThemeQt::isControlStyled): 77582 (WebCore::computeSizeBasedOnStyle): 77583 (WebCore::RenderThemeQt::paintButton): 77584 (WebCore::RenderThemeQt::paintTextField): 77585 (WebCore::RenderThemeQt::paintMenuList): 77586 (WebCore::RenderThemeQt::supportsFocus): 77587 (WebCore::RenderThemeQt::applyTheme): 77588 (WebCore::RenderThemeQt::adjustSliderThumbSize): 77589 * platform/qt/RenderThemeQt.h: 77590 * rendering/RenderSlider.cpp: 77591 (WebCore::RenderSlider::createThumbStyle): 77592 (WebCore::RenderSlider::layout): 77593 (WebCore::RenderSlider::setValueForPosition): 77594 (WebCore::RenderSlider::setPositionFromValue): 77595 (WebCore::RenderSlider::positionForOffset): 77596 (WebCore::RenderSlider::currentPosition): 77597 (WebCore::RenderSlider::setCurrentPosition): 77598 (WebCore::RenderSlider::trackSize): 77599 * rendering/RenderTheme.cpp: 77600 (WebCore::RenderTheme::adjustStyle): 77601 (WebCore::RenderTheme::paint): 77602 (WebCore::RenderTheme::paintBorderOnly): 77603 (WebCore::RenderTheme::paintDecorations): 77604 (WebCore::RenderTheme::isControlContainer): 77605 (WebCore::RenderTheme::isControlStyled): 77606 (WebCore::RenderTheme::supportsFocusRing): 77607 (WebCore::RenderTheme::isDefault): 77608 * rendering/RenderTheme.h: 77609 * rendering/RenderThemeMac.mm: 77610 (WebCore::RenderThemeMac::isControlStyled): 77611 (WebCore::RenderThemeMac::adjustRepaintRect): 77612 (WebCore::RenderThemeMac::baselinePosition): 77613 (WebCore::RenderThemeMac::controlSupportsTints): 77614 (WebCore::RenderThemeMac::adjustButtonStyle): 77615 (WebCore::RenderThemeMac::setButtonCellState): 77616 (WebCore::RenderThemeMac::popupInternalPaddingLeft): 77617 (WebCore::RenderThemeMac::popupInternalPaddingRight): 77618 (WebCore::RenderThemeMac::popupInternalPaddingTop): 77619 (WebCore::RenderThemeMac::popupInternalPaddingBottom): 77620 (WebCore::RenderThemeMac::paintSliderTrack): 77621 (WebCore::RenderThemeMac::paintSliderThumb): 77622 (WebCore::RenderThemeMac::adjustSliderThumbSize): 77623 * rendering/RenderThemeSafari.cpp: 77624 (WebCore::RenderThemeSafari::isControlStyled): 77625 (WebCore::RenderThemeSafari::adjustRepaintRect): 77626 (WebCore::RenderThemeSafari::baselinePosition): 77627 (WebCore::RenderThemeSafari::controlSupportsTints): 77628 (WebCore::RenderThemeSafari::adjustButtonStyle): 77629 (WebCore::RenderThemeSafari::popupInternalPaddingLeft): 77630 (WebCore::RenderThemeSafari::popupInternalPaddingRight): 77631 (WebCore::RenderThemeSafari::popupInternalPaddingTop): 77632 (WebCore::RenderThemeSafari::popupInternalPaddingBottom): 77633 (WebCore::RenderThemeSafari::paintSliderTrack): 77634 (WebCore::RenderThemeSafari::adjustSliderThumbSize): 77635 * rendering/RenderThemeWin.cpp: 77636 (WebCore::RenderThemeWin::supportsFocus): 77637 (WebCore::RenderThemeWin::determineClassicState): 77638 (WebCore::RenderThemeWin::getClassicThemeData): 77639 (WebCore::RenderThemeWin::getThemeData): 77640 (WebCore::drawControl): 77641 (WebCore::RenderThemeWin::paintSliderTrack): 77642 (WebCore::RenderThemeWin::adjustSliderThumbSize): 77643 * rendering/RenderThemeWin.h: 77644 * rendering/style/RenderStyle.h: 77645 (WebCore::InheritedFlags::hasAppearance): 77646 (WebCore::InheritedFlags::appearance): 77647 (WebCore::InheritedFlags::setAppearance): 77648 (WebCore::InheritedFlags::initialAppearance): 77649 * rendering/style/RenderStyleConstants.h: 77650 77651 2008-10-17 David Hyatt <hyatt (a] apple.com> 77652 77653 Beginning of the RenderTheme re-architecture (to share more code). Add the new Theme API header 77654 file. Add new USE(NEW_THEME) switch that is enabled on Mac. The Mac theme will be converted first. 77655 77656 Reviewed by Tim Hatcher 77657 77658 * WebCore.vcproj/WebCore.vcproj: 77659 * WebCore.xcodeproj/project.pbxproj: 77660 * config.h: 77661 * platform/Theme.h: Added. 77662 (WebCore::Theme::Theme): 77663 (WebCore::Theme::~Theme): 77664 (WebCore::Theme::baselinePositionAdjustment): 77665 (WebCore::Theme::controlHasInactiveAppearance): 77666 (WebCore::Theme::controlsCanHaveInactiveAppearance): 77667 (WebCore::Theme::controlsCanHaveHoveredAppearance): 77668 (WebCore::Theme::controlDrawsBorder): 77669 (WebCore::Theme::controlDrawsBackground): 77670 (WebCore::Theme::controlDrawsFocusOutline): 77671 (WebCore::Theme::selectionColor): 77672 (WebCore::Theme::textSearchHighlightColor): 77673 (WebCore::Theme::systemColor): 77674 (WebCore::Theme::systemFont): 77675 (WebCore::Theme::caretBlinkFrequency): 77676 (WebCore::Theme::themeChanged): 77677 (WebCore::Theme::controlSize): 77678 (WebCore::Theme::controlFont): 77679 (WebCore::Theme::controlPadding): 77680 (WebCore::Theme::controlInternalPadding): 77681 (WebCore::Theme::controlBorder): 77682 (WebCore::Theme::controlBorderRadius): 77683 (WebCore::Theme::paint): 77684 (WebCore::Theme::inflateControlPaintRect): 77685 * platform/ThemeTypes.h: Added. 77686 (WebCore::): 77687 (WebCore::ControlBox::ControlBox): 77688 (WebCore::ControlBox::top): 77689 (WebCore::ControlBox::right): 77690 (WebCore::ControlBox::bottom): 77691 (WebCore::ControlBox::left): 77692 * platform/mac/ThemeMac.h: Added. 77693 (WebCore::ThemeMac::ThemeMac): 77694 (WebCore::ThemeMac::~ThemeMac): 77695 * platform/mac/ThemeMac.mm: Added. 77696 (WebCore::platformTheme): 77697 * rendering/RenderTheme.cpp: 77698 (WebCore::RenderTheme::RenderTheme): 77699 * rendering/RenderTheme.h: 77700 77701 2008-10-17 Marco Barisione <marco.barisione (a] collabora.co.uk> 77702 77703 Reviewed by Sam Weinig. Landed by Jan Alonzo. 77704 77705 https://bugs.webkit.org/show_bug.cgi?id=21603 77706 [GTK] Minor fixes to GOwnPtr 77707 77708 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 77709 (WebCore::mediaPlayerPrivateErrorCallback): 77710 77711 2008-10-17 Timothy Hatcher <timothy (a] apple.com> 77712 77713 Recompile the JavaScript functions when removing any listener, so functions that are 77714 not being debugged can resume normal speed again. 77715 77716 https://bugs.webkit.org/show_bug.cgi?id=21715 77717 77718 Reviewed by Geoffrey Garen. 77719 77720 * bindings/js/JSDOMWindowBase.cpp: 77721 (WebCore::JSDOMWindowBase::globalExec): Changed an assert into an if check. This assert 77722 was firing when closing the window and having the recompile fire after. This was an 77723 overzelious assert now. 77724 * inspector/JavaScriptDebugServer.cpp: 77725 (WebCore::JavaScriptDebugServer::didRemoveListener): Start the recompile timer. 77726 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Removed the recompile timer start. 77727 77728 2008-10-17 Timothy Hatcher <timothy (a] apple.com> 77729 77730 Fixes a regression where starting a debugging session in 77731 another Web Inspector window would not show any scripts. 77732 Also only attach the debugger to only the required Pages. 77733 77734 https://bugs.webkit.org/show_bug.cgi?id=21708 77735 77736 Reviewed by Darin Adler. 77737 77738 * inspector/JavaScriptDebugServer.cpp: 77739 (WebCore::JavaScriptDebugServer::addListener): Add an assert and 77740 remove the call to willAddFirstListener(). Add a call to 77741 didAddListener(). 77742 (WebCore::JavaScriptDebugServer::removeListener): Add an assert 77743 and call to didRemoveListener(). 77744 (WebCore::JavaScriptDebugServer::pageCreated): Attach the debugger 77745 if there is a listener interested in the new Page. 77746 (WebCore::JavaScriptDebugServer::hasListenersInterestedInPage): 77747 Use hasGlobalListeners() instead of isEmpty(). 77748 (WebCore::JavaScriptDebugServer::sourceParsed): Ditto. 77749 (WebCore::JavaScriptDebugServer::didAddListener): Added. Attach the 77750 debugger to the page if non-null, or all pages if page is null. 77751 (WebCore::JavaScriptDebugServer::didRemoveListener): Added. Detach 77752 the debugger only if there are no interested listeners. 77753 (WebCore::JavaScriptDebugServer::didRemoveLastListener): Remove the 77754 call to Page::setDebuggerForAllPages(). 77755 * inspector/JavaScriptDebugServer.h: 77756 (WebCore::JavaScriptDebugServer::hasGlobalListeners): Added. 77757 77758 2008-10-15 Brett Wilson <brettw (a] chromium.org> 77759 77760 Reviewed by Timothy Hatcher. 77761 77762 Have ImageDocument generate its own filename for the title of images 77763 without relying on the suggested filename from the network layer, which 77764 may be nonexistant or not relevant. 77765 https://bugs.webkit.org/show_bug.cgi?id=21565 77766 77767 * loader/ImageDocument.cpp: 77768 (WebCore::ImageTokenizer::finish): 77769 77770 2008-10-17 Alexey Proskuryakov <ap (a] webkit.org> 77771 77772 Non-Mac build fix. 77773 77774 * GNUmakefile.am: 77775 * WebCore.pro: 77776 * WebCore.vcproj/WebCore.vcproj: 77777 * WebCoreSources.bkl: 77778 Added ActiveDOMObject to the build. 77779 77780 2008-10-17 Alexey Proskuryakov <ap (a] webkit.org> 77781 77782 Reviewed by Sam Weinig. 77783 77784 https://bugs.webkit.org/show_bug.cgi?id=21642 77785 Abstract out active object tracking 77786 77787 * WebCore.xcodeproj/project.pbxproj: 77788 * bindings/js/JSDOMBinding.cpp: 77789 (WebCore::markActiveObjectsForDocument): 77790 * dom/ActiveDOMObject.cpp: Added. 77791 (WebCore::ActiveDOMObject::ActiveDOMObject): 77792 (WebCore::ActiveDOMObject::~ActiveDOMObject): 77793 (WebCore::ActiveDOMObject::contextDestroyed): 77794 (WebCore::ActiveDOMObject::stop): 77795 * dom/ActiveDOMObject.h: Added. 77796 (WebCore::ActiveDOMObject::document): 77797 (WebCore::ActiveDOMObject::hasPendingActivity): 77798 (WebCore::ActiveDOMObject::setPendingActivity): 77799 (WebCore::ActiveDOMObject::unsetPendingActivity): 77800 * dom/Document.cpp: 77801 (WebCore::Document::~Document): 77802 (WebCore::Document::stopActiveDOMObjects): 77803 (WebCore::Document::createdActiveDOMObject): 77804 (WebCore::Document::destroyedActiveDOMObject): 77805 * dom/Document.h: 77806 (WebCore::Document::activeDOMObjects): 77807 * dom/MessagePort.cpp: 77808 (WebCore::MessagePort::contextDestroyed): 77809 * dom/MessagePort.h: 77810 * loader/FrameLoader.cpp: 77811 (WebCore::FrameLoader::stopLoading): 77812 * xml/XMLHttpRequest.cpp: 77813 (WebCore::XMLHttpRequest::XMLHttpRequest): 77814 (WebCore::XMLHttpRequest::~XMLHttpRequest): 77815 (WebCore::XMLHttpRequest::associatedFrame): 77816 (WebCore::XMLHttpRequest::responseXML): 77817 (WebCore::XMLHttpRequest::callReadyStateChangeListener): 77818 (WebCore::XMLHttpRequest::initSend): 77819 (WebCore::XMLHttpRequest::send): 77820 (WebCore::XMLHttpRequest::createRequest): 77821 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): 77822 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 77823 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): 77824 (WebCore::XMLHttpRequest::loadRequestSynchronously): 77825 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 77826 (WebCore::XMLHttpRequest::dropProtection): 77827 (WebCore::XMLHttpRequest::setRequestHeader): 77828 (WebCore::XMLHttpRequest::processSyncLoadResults): 77829 (WebCore::XMLHttpRequest::didFinishLoading): 77830 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): 77831 (WebCore::XMLHttpRequest::willSendRequest): 77832 (WebCore::XMLHttpRequest::accessControlCheck): 77833 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 77834 (WebCore::XMLHttpRequest::stop): 77835 (WebCore::XMLHttpRequest::contextDestroyed): 77836 * xml/XMLHttpRequest.h: 77837 Move activity tracking to a new ActiveDOMObject class. 77838 77839 2008-10-16 David Hyatt <hyatt (a] apple.com> 77840 77841 Simplify styleForRenderer to avoid confusion. Callers in the SVG filter code thought "forRenderer" meant 77842 they would be given a style that corresponded to the RenderObject* passed in. This is not what the code 77843 did though. This patch removes the renderer argument and the Element subclass shadow implementation 77844 so that confusion like this can't occur again. 77845 77846 Reviewed by Oliver Hunt 77847 77848 * dom/Element.cpp: 77849 * dom/Element.h: 77850 * dom/Node.cpp: 77851 (WebCore::Node::createRendererIfNeeded): 77852 (WebCore::Node::styleForRenderer): 77853 * dom/Node.h: 77854 * html/HTMLOptGroupElement.cpp: 77855 (WebCore::HTMLOptGroupElement::attach): 77856 * html/HTMLOptionElement.cpp: 77857 (WebCore::HTMLOptionElement::attach): 77858 * svg/SVGClipPathElement.cpp: 77859 (WebCore::SVGClipPathElement::canvasResource): 77860 * svg/SVGFEDiffuseLightingElement.cpp: 77861 (WebCore::SVGFEDiffuseLightingElement::build): 77862 * svg/SVGFEFloodElement.cpp: 77863 (WebCore::SVGFEFloodElement::build): 77864 * svg/SVGFESpecularLightingElement.cpp: 77865 (WebCore::SVGFESpecularLightingElement::build): 77866 * svg/SVGGradientElement.cpp: 77867 (WebCore::SVGGradientElement::buildStops): 77868 * svg/SVGUseElement.cpp: 77869 (WebCore::SVGUseElement::attachShadowTree): 77870 77871 2008-10-16 David Hyatt <hyatt (a] apple.com> 77872 77873 https://bugs.webkit.org/attachment.cgi?bugid=21647 77874 77875 Make RenderStyle inherit from RefCounted so that it works with RefPtr. RenderStyle was being malloced 77876 out of the RenderArena. Years and years ago (before TCMalloc), the plan was to make RenderStyles and 77877 all their associated sub-structs use the arena. However only the RenderStyle itself was ever changed 77878 to use the arena. 77879 77880 At a later point style sharing was implemented, which made using the arena for styles pretty pointless, 77881 as the bulk of the styles on a given page are actually shared. Not ever making the sub-structs use the 77882 arena also limited the usefulness. 77883 77884 Now that we have RefPtr/PassRefPtr to eliminate manual ref/deref and now that we use TCMalloc for fast 77885 mallocs, there is no reason to keep RenderStyles in the arena. The benefits of being able to eliminate 77886 manual ref/deref far outweigh keeping them in the arena. 77887 77888 Reviewed by Adam Roben 77889 77890 * css/CSSStyleSelector.cpp: 77891 (WebCore::CSSStyleSelector::CSSStyleSelector): 77892 (WebCore::CSSStyleSelector::~CSSStyleSelector): 77893 (WebCore::CSSStyleSelector::styleForElement): 77894 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 77895 (WebCore::CSSStyleSelector::pseudoStyleForElement): 77896 These methods now return a PassRefPtr. They will null out the m_style variable as they hand it back 77897 so that it isn't left pointing to the previous style resolve RenderStyle (which is what the old code did). 77898 77899 (WebCore::CSSStyleSelector::updateFont): 77900 (WebCore::CSSStyleSelector::checkSelector): 77901 (WebCore::CSSStyleSelector::applyProperty): 77902 (WebCore::CSSStyleSelector::mapFillSize): 77903 (WebCore::CSSStyleSelector::mapFillXPosition): 77904 (WebCore::CSSStyleSelector::mapFillYPosition): 77905 * css/CSSStyleSelector.h: 77906 (WebCore::CSSStyleSelector::style): 77907 * dom/Document.cpp: 77908 (WebCore::Document::recalcStyle): 77909 * dom/Element.cpp: 77910 (WebCore::Element::styleForRenderer): 77911 (WebCore::Element::recalcStyle): 77912 (WebCore::Element::computedStyle): 77913 * dom/Element.h: 77914 * dom/ElementRareData.h: 77915 (WebCore::ElementRareData::ElementRareData): 77916 (WebCore::ElementRareData::resetComputedStyle): 77917 * dom/Node.cpp: 77918 (WebCore::Node::diff): 77919 (WebCore::Node::createRendererIfNeeded): 77920 (WebCore::Node::styleForRenderer): 77921 (WebCore::Node::setRenderStyle): 77922 * dom/Node.h: 77923 * html/CanvasRenderingContext2D.cpp: 77924 (WebCore::CanvasRenderingContext2D::setFont): 77925 * html/HTMLOptGroupElement.cpp: 77926 (WebCore::HTMLOptGroupElement::attach): 77927 (WebCore::HTMLOptGroupElement::detach): 77928 (WebCore::HTMLOptGroupElement::setRenderStyle): 77929 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): 77930 * html/HTMLOptGroupElement.h: 77931 * html/HTMLOptionElement.cpp: 77932 (WebCore::HTMLOptionElement::attach): 77933 (WebCore::HTMLOptionElement::detach): 77934 (WebCore::HTMLOptionElement::setRenderStyle): 77935 (WebCore::HTMLOptionElement::nonRendererRenderStyle): 77936 * html/HTMLOptionElement.h: 77937 * page/animation/AnimationBase.h: 77938 (WebCore::AnimationBase::animate): 77939 * page/animation/AnimationController.cpp: 77940 (WebCore::AnimationController::updateAnimations): 77941 * page/animation/AnimationController.h: 77942 * page/animation/CompositeAnimation.cpp: 77943 (WebCore::CompositeAnimationPrivate::updateTransitions): 77944 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): 77945 (WebCore::CompositeAnimationPrivate::animate): 77946 (WebCore::CompositeAnimation::animate): 77947 * page/animation/CompositeAnimation.h: 77948 * page/animation/ImplicitAnimation.cpp: 77949 (WebCore::ImplicitAnimation::ImplicitAnimation): 77950 (WebCore::ImplicitAnimation::~ImplicitAnimation): 77951 (WebCore::ImplicitAnimation::animate): 77952 (WebCore::ImplicitAnimation::reset): 77953 (WebCore::ImplicitAnimation::isTargetPropertyEqual): 77954 (WebCore::ImplicitAnimation::blendPropertyValueInStyle): 77955 * page/animation/ImplicitAnimation.h: 77956 (WebCore::ImplicitAnimation::create): 77957 * page/animation/KeyframeAnimation.cpp: 77958 (WebCore::KeyframeAnimation::KeyframeAnimation): 77959 (WebCore::KeyframeAnimation::~KeyframeAnimation): 77960 (WebCore::KeyframeAnimation::animate): 77961 (WebCore::KeyframeAnimation::validateTransformFunctionList): 77962 * page/animation/KeyframeAnimation.h: 77963 (WebCore::KeyframeAnimation::create): 77964 (WebCore::KeyframeAnimation::unanimatedStyle): 77965 * rendering/InlineTextBox.cpp: 77966 (WebCore::InlineTextBox::paint): 77967 * rendering/MediaControlElements.cpp: 77968 (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement): 77969 (WebCore::MediaControlInputElement::MediaControlInputElement): 77970 * rendering/RenderBlock.cpp: 77971 (WebCore::RenderBlock::styleDidChange): 77972 (WebCore::RenderBlock::updateFirstLetter): 77973 * rendering/RenderContainer.cpp: 77974 (WebCore::RenderContainer::addChild): 77975 (WebCore::RenderContainer::updateBeforeAfterContentForContainer): 77976 * rendering/RenderFileUploadControl.cpp: 77977 (WebCore::RenderFileUploadControl::updateFromElement): 77978 (WebCore::RenderFileUploadControl::createButtonStyle): 77979 * rendering/RenderFileUploadControl.h: 77980 * rendering/RenderFlow.cpp: 77981 (WebCore::RenderFlow::createAnonymousFlow): 77982 * rendering/RenderFlow.h: 77983 * rendering/RenderInline.cpp: 77984 (WebCore::RenderInline::addChildToFlow): 77985 * rendering/RenderLayer.cpp: 77986 (WebCore::RenderLayer::updateScrollCornerStyle): 77987 (WebCore::RenderLayer::updateResizerStyle): 77988 (WebCore::RenderLayer::updateReflectionStyle): 77989 * rendering/RenderListItem.cpp: 77990 (WebCore::RenderListItem::styleDidChange): 77991 * rendering/RenderMedia.cpp: 77992 (WebCore::RenderMedia::createPanel): 77993 (WebCore::RenderMedia::createTimeDisplay): 77994 (WebCore::RenderMedia::changeOpacity): 77995 * rendering/RenderObject.cpp: 77996 (WebCore::RenderObject::selectionBackgroundColor): 77997 (WebCore::RenderObject::selectionForegroundColor): 77998 (WebCore::RenderObject::createAnonymousBlock): 77999 (WebCore::RenderObject::setAnimatableStyle): 78000 (WebCore::RenderObject::setStyle): 78001 (WebCore::RenderObject::setStyleInternal): 78002 (WebCore::RenderObject::arenaDelete): 78003 (WebCore::RenderObject::firstLineStyle): 78004 (WebCore::RenderObject::getPseudoStyle): 78005 * rendering/RenderObject.h: 78006 (WebCore::RenderObject::style): 78007 * rendering/RenderSVGBlock.cpp: 78008 (WebCore::RenderSVGBlock::setStyle): 78009 * rendering/RenderSVGBlock.h: 78010 * rendering/RenderScrollbar.cpp: 78011 (WebCore::RenderScrollbar::getScrollbarPseudoStyle): 78012 (WebCore::RenderScrollbar::updateScrollbarPart): 78013 * rendering/RenderScrollbar.h: 78014 * rendering/RenderSlider.cpp: 78015 (WebCore::RenderSlider::styleDidChange): 78016 (WebCore::RenderSlider::createThumbStyle): 78017 (WebCore::RenderSlider::updateFromElement): 78018 * rendering/RenderSlider.h: 78019 * rendering/RenderTable.cpp: 78020 (WebCore::RenderTable::addChild): 78021 * rendering/RenderTableRow.cpp: 78022 (WebCore::RenderTableRow::addChild): 78023 * rendering/RenderTableSection.cpp: 78024 (WebCore::RenderTableSection::addChild): 78025 * rendering/RenderTextControl.cpp: 78026 (WebCore::RenderTextControl::styleDidChange): 78027 (WebCore::RenderTextControl::createInnerBlockStyle): 78028 (WebCore::RenderTextControl::createInnerTextStyle): 78029 (WebCore::RenderTextControl::createResultsButtonStyle): 78030 (WebCore::RenderTextControl::createCancelButtonStyle): 78031 (WebCore::RenderTextControl::createSubtreeIfNeeded): 78032 (WebCore::RenderTextControl::updatePlaceholderVisibility): 78033 * rendering/RenderTextControl.h: 78034 * rendering/TextControlInnerElements.cpp: 78035 (WebCore::TextControlInnerElement::attachInnerElement): 78036 * rendering/TextControlInnerElements.h: 78037 * rendering/style/KeyframeList.cpp: 78038 (WebCore::KeyframeList::clear): 78039 (WebCore::KeyframeList::operator==): 78040 (WebCore::KeyframeList::insert): 78041 * rendering/style/KeyframeList.h: 78042 (WebCore::KeyframeValue::KeyframeValue): 78043 (WebCore::KeyframeValue::~KeyframeValue): 78044 (WebCore::KeyframeValue::key): 78045 (WebCore::KeyframeValue::style): 78046 * rendering/style/RenderStyle.cpp: 78047 (WebCore::defaultStyle): 78048 (WebCore::RenderStyle::create): 78049 (WebCore::RenderStyle::createDefaultStyle): 78050 (WebCore::RenderStyle::clone): 78051 (WebCore::RenderStyle::RenderStyle): 78052 (WebCore::RenderStyle::getCachedPseudoStyle): 78053 (WebCore::RenderStyle::addCachedPseudoStyle): 78054 * rendering/style/RenderStyle.h: 78055 (WebCore::): 78056 (WebCore::InheritedFlags::operator!=): 78057 * svg/SVGClipPathElement.cpp: 78058 (WebCore::SVGClipPathElement::canvasResource): 78059 * svg/SVGGradientElement.cpp: 78060 (WebCore::SVGGradientElement::buildStops): 78061 * svg/SVGStyledElement.cpp: 78062 (WebCore::SVGStyledElement::resolveStyle): 78063 * svg/SVGStyledElement.h: 78064 * svg/SVGUseElement.cpp: 78065 (WebCore::SVGUseElement::recalcStyle): 78066 (WebCore::SVGUseElement::attachShadowTree): 78067 78068 2008-10-16 Kenneth Russell <kenneth.russell (a] sun.com> 78069 78070 Reviewed and landed by Anders Carlsson. 78071 78072 https://bugs.webkit.org/show_bug.cgi?id=21587 78073 NPN_PluginThreadAsyncCall does not work properly 78074 78075 * plugins/PluginMainThreadScheduler.cpp: 78076 (WebCore::PluginMainThreadScheduler::dispatchCalls): 78077 Make sure to set m_callPending to false once the queue has been cleared. 78078 78079 2008-10-15 Alexey Proskuryakov <ap (a] webkit.org> 78080 78081 Reviewed by Darin Adler. 78082 78083 https://bugs.webkit.org/show_bug.cgi?id=21609 78084 Make MessagePorts protect their peers across heaps 78085 78086 * dom/MessagePort.cpp: 78087 (WebCore::MessagePort::MessagePort): 78088 * dom/MessagePort.h: 78089 (WebCore::MessagePort::setJSWrapperIsKnownToBeInaccessible): 78090 (WebCore::MessagePort::jsWrapperIsKnownToBeInaccessible): 78091 Track objects whose JS wrappers are no longer reachable in MessagePort. Unfortunately, this 78092 means that the implementation object knows about JS bindings - but it is not possible to 78093 access JS wrappers from another heap/thread. 78094 78095 * bindings/js/JSDOMBinding.cpp: 78096 (WebCore::markCrossHeapDependentObjectsForDocument): 78097 * bindings/js/JSDOMBinding.h: 78098 * bindings/js/JSDOMWindowBase.cpp: 78099 (WebCore::JSDOMWindowBase::markCrossHeapDependentObjects): 78100 * bindings/js/JSDOMWindowBase.h: 78101 Implement cross-heap dependency tracking for entangled MessagePorts. If a wrapper object 78102 hasn't been marked normally, it is marked as inaccessible. It is then marked manually, 78103 as long as its entangled port is accessible itself. 78104 78105 2008-10-15 Jon Honeycutt <jhoneycutt (a] apple.com> 78106 78107 Remove unneeded check of whether a Page defers loading before running it 78108 in a modal dialog. 78109 78110 No test possible. 78111 78112 Reviewed by Tim Hatcher. 78113 78114 * page/Chrome.cpp: 78115 78116 2008-10-15 Geoffrey Garen <ggaren (a] apple.com> 78117 78118 Reviewed by Cameron Zwarich. 78119 78120 Fixed https://bugs.webkit.org/show_bug.cgi?id=21345 78121 Start the debugger without reloading the inspected page 78122 78123 * WebCore.base.exp: New symbols. 78124 78125 * ForwardingHeaders/kjs/CollectorHeapIterator.h: Copied from ForwardingHeaders/kjs/ustring.h. 78126 * ForwardingHeaders/kjs/Parser.h: Copied from ForwardingHeaders/kjs/ustring.h. 78127 * WebCore.xcodeproj/project.pbxproj: New forwarding headers. 78128 78129 * inspector/InspectorController.cpp: 78130 (WebCore::InspectorController::setWindowVisible): 78131 (WebCore::InspectorController::windowScriptObjectAvailable): 78132 (WebCore::InspectorController::startDebugging): 78133 * inspector/InspectorController.h: Renamed startDebuggingAndReloadInspectedPage 78134 to startDebugging, and changed its behavior to match. 78135 78136 * inspector/JavaScriptDebugListener.h: 78137 * inspector/JavaScriptDebugServer.cpp: 78138 (WebCore::JavaScriptDebugServer::JavaScriptDebugServer): 78139 (WebCore::JavaScriptDebugServer::addListener): 78140 (WebCore::JavaScriptDebugServer::removeListener): 78141 (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): 78142 (WebCore::JavaScriptDebugServer::willAddFirstListener): 78143 (WebCore::JavaScriptDebugServer::didRemoveLastListener): 78144 * inspector/JavaScriptDebugServer.h: Refactored the 78145 JavaScriptDebugServer to centralize handling of adding the first listener 78146 and removing the last. Then, added a feature to recompile all JS functions 78147 in these cases. This allows us to dynamically add and remove hooks like 78148 the debugger hooks without reloading the page. 78149 78150 * inspector/front-end/ScriptsPanel.js: 78151 * English.lproj/localizedStrings.js: Updated for startDebuggingAndReloadInspectedPage => 78152 startDebugging rename. Removed all UI that claimed that starting the 78153 debugger would reload the page. 78154 78155 2008-10-15 Adele Peterson <adele (a] apple.com> 78156 78157 Attempt to fix the Tiger build. 78158 78159 * platform/network/mac/ResourceHandleMac.mm: 78160 78161 2008-10-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 78162 78163 Build fix attempt. 78164 78165 Try to fix static/non-static declaration of g_string_append_uri_escape 78166 by renaming that string. Another look needs to be taken. 78167 78168 * platform/gtk/guriescape.c: 78169 (_webcore_g_string_append_uri_escaped): 78170 (_webcore_g_uri_escape_string): 78171 78172 2008-10-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 78173 78174 Build fix. 78175 78176 m_animatingImageType is gone. 78177 78178 * platform/graphics/cairo/ImageCairo.cpp: 78179 (WebCore::BitmapImage::BitmapImage): 78180 78181 2008-10-15 Jeff Cook <cookiecaper (a] gmail.com> 78182 78183 Reviewed by Holger Freyther. 78184 78185 Stop SIGSEGV when leaving a page with a Flash object by reordering 78186 window destruction and plugin stop. 78187 78188 See https://bugs.webkit.org/show_bug.cgi?id=20779 78189 78190 * plugins/gtk/PluginViewGtk.cpp: 78191 (WebCore::PluginView::stop): 78192 78193 2008-10-15 Adele Peterson <adele (a] apple.com> 78194 78195 Reviewed by Sam Weinig. 78196 78197 Implement didSendBodyData delegate method, and use older code path when that delegate doesn't exist. 78198 78199 * platform/network/ResourceHandle.h: 78200 * platform/network/mac/FormDataStreamMac.mm: (WebCore::formRead): 78201 * platform/network/mac/ResourceHandleMac.mm: 78202 (WebCore::ResourceHandle::didSendBodyDataDelegateExists): 78203 (WebCore::ResourceHandle::start): 78204 (WebCore::ResourceHandle::cancel): 78205 (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 78206 (-[WebCoreResourceHandleAsDelegate connection:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:]): 78207 (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]): 78208 (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]): 78209 78210 2008-10-15 Peter Kasting <pkasting (a] google.com> 78211 78212 Reviewed by David Hyatt. 78213 78214 Qt build bustage fix. 78215 78216 * platform/graphics/qt/StillImageQt.h: 78217 (WebCore::StillImage::destroyDecodedData): 78218 78219 2008-10-15 David Hyatt <hyatt (a] apple.com> 78220 78221 Make sure scrollbar styles get deleted if they aren't assigned to a renderer. 78222 78223 Reviewed by Mark Rowe 78224 78225 * rendering/RenderScrollbar.cpp: 78226 (WebCore::RenderScrollbar::getScrollbarPseudoStyle): 78227 (WebCore::RenderScrollbar::updateScrollbarPart): 78228 78229 2008-10-15 Peter Kasting <pkasting (a] google.com> 78230 78231 Reviewed by David Hyatt. 78232 78233 https://bugs.webkit.org/show_bug.cgi?id=19663 (Second attempt) 78234 Account for paint and timer lag when animating images. Also pretend 78235 that images whose animations were paused (by becoming invisible) 78236 continued to animate, by "catching up" to the correct frame when they're 78237 shown again. 78238 78239 * platform/graphics/BitmapImage.cpp: 78240 (WebCore::BitmapImage::BitmapImage): 78241 (WebCore::BitmapImage::destroyDecodedData): 78242 (WebCore::BitmapImage::cacheFrame): 78243 (WebCore::BitmapImage::frameIsCompleteAtIndex): 78244 (WebCore::BitmapImage::frameDurationAtIndex): 78245 (WebCore::BitmapImage::frameHasAlphaAtIndex): 78246 (WebCore::BitmapImage::repetitionCount): 78247 (WebCore::BitmapImage::shouldAnimate): 78248 (WebCore::BitmapImage::startAnimation): 78249 (WebCore::BitmapImage::resetAnimation): 78250 (WebCore::BitmapImage::advanceAnimation): 78251 (WebCore::BitmapImage::internalAdvanceAnimation): 78252 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData): 78253 * platform/graphics/BitmapImage.h: 78254 (WebCore::FrameData::FrameData): 78255 (WebCore::BitmapImage::): 78256 * platform/graphics/GeneratedImage.h: 78257 (WebCore::GeneratedImage::destroyDecodedData): 78258 * platform/graphics/Image.h: 78259 * platform/graphics/cairo/ImageCairo.cpp: 78260 (WebCore::FrameData::clear): 78261 (WebCore::BitmapImage::BitmapImage): 78262 (WebCore::BitmapImage::draw): 78263 * platform/graphics/cg/ImageCG.cpp: 78264 (WebCore::FrameData::clear): 78265 (WebCore::BitmapImage::BitmapImage): 78266 (WebCore::BitmapImage::draw): 78267 * platform/graphics/cg/PDFDocumentImage.h: 78268 (WebCore::PDFDocumentImage::destroyDecodedData): 78269 * platform/graphics/qt/ImageQt.cpp: 78270 (WebCore::FrameData::clear): 78271 (WebCore::BitmapImage::draw): 78272 * platform/graphics/wx/ImageWx.cpp: 78273 (WebCore::FrameData::clear): 78274 (WebCore::BitmapImage::draw): 78275 * svg/graphics/SVGImage.h: 78276 (WebCore::SVGImage::destroyDecodedData): 78277 78278 2008-10-14 Maxime Britto <britto (a] apple.com> 78279 78280 Reviewed by Darin Adler, tweaked and landed by Beth. 78281 78282 * WebCore.base.exp: Exposes two functions to be able to create a 78283 selection from a point on the screen. Also exposes the new 78284 TextIterator::currentNode function. 78285 * WebCore/editing/TextIterator.cpp: 78286 (TextIterator::currentNode) : New function that returns the current 78287 text node or NULL if there is no text node. 78288 78289 2008-10-15 Marco Barisione <marco.barisione (a] collabora.co.uk> 78290 78291 Reviewed by Holger Freyther. 78292 78293 http://bugs.webkit.org/show_bug.cgi?id=21211 78294 [CURL] Upload doesn't work because cancel is called 78295 78296 FormDataStream::read returns 0 when retrieving data from the form 78297 fails, but also when there is no more data to send. This means that 78298 ResourceHandleManager::cancel is always called even when the data was 78299 successfully sent. 78300 78301 Check if there are more elements in the form before calling 78302 FormDataStream::read. 78303 78304 * platform/network/curl/FormDataStreamCurl.cpp: 78305 (WebCore::FormDataStream::hasMoreElements): 78306 * platform/network/curl/FormDataStreamCurl.h: 78307 * platform/network/curl/ResourceHandleManager.cpp: 78308 (WebCore::readCallback): 78309 78310 2008-10-15 Marco Barisione <marco.barisione (a] collabora.co.uk> 78311 78312 Reviewed by Holger Freyther. 78313 78314 http://bugs.webkit.org/show_bug.cgi?id=20664 78315 [GTK] File names are not always encodable in UTF-8 78316 78317 On Linux file names are just raw data and cannot always be directly 78318 encoded in UTF-8 or in any other encodings, so we escape them before 78319 storing the file name in a String and unescape them before passing 78320 them to native functions handling files. 78321 78322 * GNUmakefile.am: 78323 * platform/FileSystem.h: 78324 * platform/gtk/FileChooserGtk.cpp: 78325 (WebCore::stringByAdoptingFileSystemRepresentation): 78326 (WebCore::FileChooser::basenameForWidth): 78327 * platform/gtk/FileSystemGtk.cpp: 78328 (WebCore::filenameToString): 78329 (WebCore::filenameFromString): 78330 (WebCore::filenameForDisplay): 78331 (WebCore::fileExists): 78332 (WebCore::deleteFile): 78333 (WebCore::deleteEmptyDirectory): 78334 (WebCore::getFileSize): 78335 (WebCore::getFileModificationTime): 78336 (WebCore::makeAllDirectories): 78337 (WebCore::homeDirectoryPath): 78338 (WebCore::pathGetFileName): 78339 (WebCore::listDirectory): 78340 * platform/gtk/KURLGtk.cpp: 78341 (WebCore::KURL::fileSystemPath): 78342 * platform/gtk/SharedBufferGtk.cpp: 78343 (WebCore::SharedBuffer::createWithContentsOfFile): 78344 * platform/gtk/guriescape.c: Added. 78345 (is_valid): 78346 (gunichar_ok): 78347 (g_string_append_uri_escaped): 78348 (_webcore_g_uri_escape_string): 78349 * platform/gtk/guriescape.h: Added. 78350 78351 2008-10-15 Dirk Schulze <vbs85 (a] gmx.de> 78352 78353 Reviewed by Eric Seidel. 78354 78355 - part of https://bugs.webkit.org/show_bug.cgi?id=20543 78356 Moved gradient spread method out of SVG into the GraphicsContext. 78357 78358 * platform/graphics/GraphicsContext.cpp: 78359 (WebCore::GraphicsContext::spreadMethod): 78360 (WebCore::GraphicsContext::setSpreadMethod): 78361 * platform/graphics/GraphicsContext.h: 78362 (WebCore::): 78363 * platform/graphics/GraphicsContextPrivate.h: 78364 * platform/graphics/cairo/GraphicsContextCairo.cpp: 78365 (WebCore::applySpreadMethod): 78366 (WebCore::GraphicsContext::fillPath): 78367 (WebCore::GraphicsContext::strokePath): 78368 * platform/graphics/qt/GraphicsContextQt.cpp: 78369 (WebCore::applySpreadMethod): 78370 (WebCore::GraphicsContext::fillPath): 78371 (WebCore::GraphicsContext::strokePath): 78372 * svg/GradientAttributes.h: 78373 (WebCore::GradientAttributes::GradientAttributes): 78374 (WebCore::GradientAttributes::spreadMethod): 78375 (WebCore::GradientAttributes::setSpreadMethod): 78376 * svg/SVGGradientElement.cpp: 78377 (WebCore::SVGGradientElement::parseMappedAttribute): 78378 * svg/SVGGradientElement.h: 78379 * svg/SVGLinearGradientElement.cpp: 78380 (WebCore::SVGLinearGradientElement::collectGradientProperties): 78381 * svg/SVGRadialGradientElement.cpp: 78382 (WebCore::SVGRadialGradientElement::collectGradientProperties): 78383 * svg/graphics/SVGPaintServerGradient.cpp: 78384 (WebCore::operator<<): 78385 (WebCore::SVGPaintServerGradient::SVGPaintServerGradient): 78386 (WebCore::SVGPaintServerGradient::spreadMethod): 78387 (WebCore::SVGPaintServerGradient::setGradientSpreadMethod): 78388 (WebCore::SVGPaintServerGradient::externalRepresentation): 78389 * svg/graphics/SVGPaintServerGradient.h: 78390 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: 78391 (WebCore::SVGPaintServerGradient::setup): 78392 * svg/graphics/qt/SVGPaintServerGradientQt.cpp: 78393 (WebCore::SVGPaintServerGradient::setup): 78394 78395 2008-10-09 Darin Fisher <darin (a] chromium.org> 78396 78397 Reviewed by Sam Weinig. 78398 78399 Make pan scrolling a platform configurable option 78400 https://bugs.webkit.org/show_bug.cgi?id=21515 78401 78402 * page/EventHandler.cpp: 78403 (WebCore::EventHandler::handleAutoscroll): 78404 (WebCore::EventHandler::autoscrollTimerFired): 78405 (WebCore::EventHandler::stopAutoscrollTimer): 78406 (WebCore::EventHandler::handleMousePressEvent): 78407 (WebCore::EventHandler::keyEvent): 78408 78409 2008-10-10 Darin Fisher <darin (a] chromium.org> 78410 78411 Reviewed by Darin Adler. 78412 78413 Add some PLATFORM(CHROMIUM) ifdefs to WebCore 78414 https://bugs.webkit.org/show_bug.cgi?id=21511 78415 78416 * loader/FTPDirectoryDocument.cpp: 78417 * loader/FTPDirectoryParser.cpp: 78418 * loader/FrameLoader.cpp: 78419 (WebCore::FrameLoader::finishedLoadingDocument): 78420 * platform/ContextMenuItem.h: 78421 * platform/Cursor.h: 78422 * platform/DragData.h: 78423 * platform/DragImage.h: 78424 * platform/Pasteboard.h: 78425 * platform/PlatformKeyboardEvent.h: 78426 (WebCore::PlatformKeyboardEvent::isSystemKey): 78427 * platform/PlatformMenuDescription.h: 78428 * platform/PlatformMouseEvent.h: 78429 * platform/PlatformWheelEvent.h: 78430 * platform/PopupMenu.h: 78431 * platform/ScrollView.h: 78432 * platform/Widget.h: 78433 * platform/network/NetworkStateNotifier.h: 78434 78435 2008-10-14 Chris Marrin <cmarrin (a] apple.com> 78436 78437 Reviewed by Darin Adler. 78438 78439 Fixed https://bugs.webkit.org/show_bug.cgi?id=21490 78440 Optimize keyframe style sheet changes by avoiding styleSheetChanged() 78441 78442 Test: css3/change-keyframes.html 78443 78444 * css/WebKitCSSKeyframesRule.cpp: 78445 (WebCore::WebKitCSSKeyframesRule::append): 78446 (WebCore::WebKitCSSKeyframesRule::deleteRule): 78447 78448 2008-10-14 David Hyatt <hyatt (a] apple.com> 78449 78450 https://bugs.webkit.org/show_bug.cgi?id=21595 78451 78452 Clean up background and overflow propagation from the body to the viewport. Make it match the 78453 latest CSS2.1 spec thinking. 78454 78455 Reviewed by Adam Roben 78456 78457 Added many tests at fast/body-propagation/. These are Simon Pieters' tests of propagation handling 78458 (available at http://simon.html5.org/test/css/magic-body/). 78459 78460 * dom/Document.cpp: 78461 (WebCore::Document::body): 78462 * page/FrameView.cpp: 78463 (WebCore::FrameView::layout): 78464 * rendering/RenderBox.cpp: 78465 (WebCore::RenderBox::styleDidChange): 78466 (WebCore::RenderBox::paintRootBoxDecorations): 78467 (WebCore::RenderBox::paintBoxDecorations): 78468 (WebCore::RenderBox::repaintLayerRectsForImage): 78469 78470 2008-10-14 Dimitri Glazkov <dglazkov (a] chromium.org> 78471 78472 Reviewed and landed by Sam Weinig. 78473 78474 Due to change in spec (http://dev.w3.org/2006/webapi/selectors-api/#namespace), 78475 remove NSResolver code, leaving only checking for selectors that need 78476 NS resolution and throwing a coresponding error. 78477 78478 * WebCore.pro: 78479 * WebCore.vcproj/WebCore.vcproj: 78480 * WebCore.xcodeproj/project.pbxproj: 78481 * WebCoreSources.bkl: 78482 * bindings/js/JSDocumentCustom.cpp: 78483 * bindings/js/JSDocumentFragmentCustom.cpp: 78484 * bindings/js/JSElementCustom.cpp: 78485 * bindings/js/JSNSResolver.cpp: Removed. 78486 * bindings/js/JSNSResolver.h: Removed. 78487 * dom/Document.idl: 78488 * dom/DocumentFragment.idl: 78489 * dom/Element.idl: 78490 * dom/NSResolver.h: Removed. 78491 * dom/NSResolver.idl: Removed. 78492 * dom/Node.h: 78493 * dom/Node.cpp: 78494 (WebCore::forEachTagSelector): 78495 (WebCore::SelectorNeedsNamespaceResolutionFunctor::operator()): 78496 (WebCore::selectorNeedsNamespaceResolution): 78497 (WebCore::Node::querySelector): 78498 (WebCore::Node::querySelectorAll): 78499 78500 2008-10-14 Darin Adler <darin (a] apple.com> 78501 78502 Reviewed by Sam Weinig (all but the FormDataListItem rename). 78503 78504 - https://bugs.webkit.org/show_bug.cgi?id=21593 78505 Bug 21593: add multiple-file support to HTMLFormElement 78506 78507 * html/FormDataList.cpp: Removed appendFile since it's now inline. 78508 Also took incorrect old copyrights off of this file that are left 78509 over from when it was split. 78510 * html/FormDataList.h: Ditto. Renamed FormDataListItem to Item and 78511 made it a member of FormDataList. Changed it to hold a File object 78512 instead of a path. And made its data members private. Changed 78513 FormDataList::appendFile accordingly. 78514 78515 * html/HTMLFormElement.cpp: 78516 (WebCore::HTMLFormElement::formData): Updated for above changes. 78517 Removed the code that special-cases HTMLInputElement, because now 78518 the FormDataListItem has everything we need. And if there are 78519 multiple files, we'll get multiple list items for them. 78520 78521 * html/HTMLInputElement.cpp: 78522 (WebCore::HTMLInputElement::appendFormData): Changed the code for 78523 <input type=file> to use File objects instead of path strings and 78524 also to append multiple files if the file list has them. 78525 78526 2008-10-14 Tor Arne Vestb <tavestbo (a] trolltech.com> 78527 78528 Reviewed by Simon. 78529 78530 Fix QtWebKit scrollbar painting errors 78531 78532 * platform/qt/ScrollbarThemeQt.cpp: 78533 (WebCore::ScrollbarThemeQt::paint): 78534 (WebCore::ScrollbarThemeQt::paintScrollCorner): 78535 78536 2008-10-14 Tor Arne Vestb <tavestbo (a] trolltech.com> 78537 78538 Reviewed by Simon. 78539 78540 Fix scrollbar arrows for horizontal scrollbars 78541 78542 * platform/qt/ScrollbarThemeQt.cpp: 78543 (WebCore::styleOptionSlider): 78544 78545 2008-10-14 Tor Arne Vestb <tavestbo (a] trolltech.com> 78546 78547 Reviewed by Simon. 78548 78549 Use style-painter to draw scrollbars in ScrollbarThemeQt 78550 78551 This has the benefit of setting up the painter properly without 78552 antialiasing and saving and restoring the brush. It also ensures 78553 that we use the style of the QWebView over the QApplication style 78554 if possible. 78555 78556 * platform/qt/RenderThemeQt.cpp: 78557 (WebCore::StylePainter::StylePainter): 78558 (WebCore::StylePainter::init): 78559 * platform/qt/RenderThemeQt.h: 78560 * platform/qt/ScrollbarThemeQt.cpp: 78561 (WebCore::ScrollbarThemeQt::paint): 78562 78563 2008-10-13 David Hyatt <hyatt (a] apple.com> 78564 78565 Add support for CSS transitions on some SVG properties. This patch is intended to be a guideline 78566 for how to add support for the rest. 78567 78568 Reviewed by Oliver Hunt 78569 78570 * page/animation/AnimationBase.cpp: 78571 (WebCore::ensurePropertyMap): 78572 * rendering/style/RenderStyle.h: 78573 (WebCore::RenderStyle::fillOpacity): 78574 (WebCore::RenderStyle::setFillOpacity): 78575 (WebCore::RenderStyle::strokeOpacity): 78576 (WebCore::RenderStyle::setStrokeOpacity): 78577 (WebCore::RenderStyle::floodOpacity): 78578 (WebCore::RenderStyle::setFloodOpacity): 78579 78580 2008-10-13 David Hyatt <hyatt (a] apple.com> 78581 78582 <rdar://problem/6289712> REGRESSION(r37432-37490): Scroll bar is not drawn in Bookmark View, Preferences sheets. 78583 78584 Fix for disabled scrollbars not painting in Windows Safari. Make sure that the Windows theme 78585 implements paintTrackBackground so that when the thumb is not present the track still paints. 78586 78587 Reviewed by Oliver Hunt 78588 78589 * platform/ScrollbarThemeComposite.cpp: 78590 (WebCore::ScrollbarThemeComposite::paint): 78591 * platform/win/ScrollbarThemeWin.cpp: 78592 (WebCore::ScrollbarThemeWin::paintTrackBackground): 78593 * platform/win/ScrollbarThemeWin.h: 78594 78595 2008-10-13 David Hyatt <hyatt (a] apple.com> 78596 78597 Fix over-invalidation of native scrollbars. 78598 78599 Reviewed by Oliver Hunt 78600 78601 * platform/Scrollbar.h: 78602 (WebCore::Scrollbar::styleChanged): 78603 * platform/mac/ScrollbarThemeMac.mm: 78604 (+[ScrollbarPrefsObserver appearancePrefsChanged:]): 78605 * rendering/RenderScrollbar.cpp: 78606 (WebCore::RenderScrollbar::styleChanged): 78607 78608 2008-10-13 Alp Toker <alp (a] nuanti.com> 78609 78610 Fix autotools dist build target by listing recently added header 78611 files only. Not reviewed. 78612 78613 * GNUmakefile.am: 78614 78615 2008-10-13 Mark Rowe <mrowe (a] apple.com> 78616 78617 Reviewed by Brady Eidson. 78618 78619 Don't run a SQLite query on every iteration of the sync thread when the query 78620 will touch a large portion of the icon database while performing no useful work. 78621 78622 * loader/icon/IconDatabase.cpp: 78623 (WebCore::IconDatabase::writeToDatabase): Don't call checkForDanglingPageURLs unless 78624 we modified the database. 78625 (WebCore::IconDatabase::checkForDanglingPageURLs): Don't do any work in a release build 78626 unless we've been asked to prune any dangling pageURLs that we find. 78627 78628 2008-10-13 Maciej Stachowiak <mjs (a] apple.com> 78629 78630 Rubber stamped by Mark Rowe. 78631 78632 - use gcc 4.2 when building with Xcode 3.1 or newer on Leopard, even though this is not the default 78633 78634 * Configurations/DebugRelease.xcconfig: 78635 78636 2008-10-13 David Hyatt <hyatt (a] apple.com> 78637 78638 Make dropdown lists on Windows work with CSS custom scrollbars. 78639 78640 Reviewed by Adele 78641 78642 * platform/PopupMenu.h: 78643 (WebCore::PopupMenu::scrollbarCornerPresent): 78644 * platform/PopupMenuClient.h: 78645 * platform/win/PopupMenuWin.cpp: 78646 (WebCore::PopupMenu::show): 78647 * rendering/RenderMenuList.cpp: 78648 (WebCore::RenderMenuList::createScrollbar): 78649 * rendering/RenderMenuList.h: 78650 * rendering/RenderTextControl.cpp: 78651 (WebCore::RenderTextControl::createScrollbar): 78652 * rendering/RenderTextControl.h: 78653 78654 2008-10-13 Chris Fleizach <cfleizach (a] apple.com> 78655 78656 Reviewed by Beth Dakin. 78657 78658 <rdar://problem/6271864> Links from image maps not being included in AXLinkUIElements 78659 78660 Links from image maps were not being included in the web area's AXLinkUIElements attribute. 78661 The position of image map links was being reported incorrectly and the parent-chain 78662 hierarchy for image map links was incorrect because image map links did not have a reference 78663 to their parent image. 78664 78665 Test: accessibility/document-links.html 78666 78667 * page/AccessibilityImageMapLink.cpp: 78668 (WebCore::AccessibilityImageMapLink::parentObject): 78669 (WebCore::AccessibilityImageMapLink::actionElement): 78670 (WebCore::AccessibilityImageMapLink::elementRect): 78671 * page/AccessibilityImageMapLink.h: 78672 (WebCore::AccessibilityImageMapLink::setHTMLMapElement): 78673 (WebCore::AccessibilityImageMapLink::setParent): 78674 * page/AccessibilityObject.cpp: 78675 * page/AccessibilityObject.h: 78676 * page/AccessibilityRenderObject.cpp: 78677 (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap): 78678 (WebCore::AccessibilityRenderObject::getDocumentLinks): 78679 (WebCore::AccessibilityRenderObject::addChildren): 78680 * page/AccessibilityRenderObject.h: 78681 * page/mac/AccessibilityObjectWrapper.mm: 78682 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 78683 78684 2008-10-13 David Hyatt <hyatt (a] apple.com> 78685 78686 Make RenderListBox work with CSS scrollbars. Refactoring this code to support creation/destruction in 78687 the same way RenderLayer does also fixes a bug where the PLT would assert on the next-to-last page (no 78688 idea how to make a test case for that, though, since I couldn't repro without running the whole PLT). 78689 78690 Reviewed by Tim Hatcher 78691 78692 Added scrollbars/listbox-scrollbar-combinations.html 78693 78694 * rendering/RenderListBox.cpp: 78695 (WebCore::RenderListBox::~RenderListBox): 78696 (WebCore::RenderListBox::updateFromElement): 78697 (WebCore::RenderListBox::createScrollbar): 78698 (WebCore::RenderListBox::destroyScrollbar): 78699 (WebCore::RenderListBox::setHasVerticalScrollbar): 78700 * rendering/RenderListBox.h: 78701 78702 2008-10-13 David Hyatt <hyatt (a] apple.com> 78703 78704 In order to always match the :corner-present pseudo-class properly, delay initial updating of 78705 scrollbar styles until the layer has the scrollbars in its member variables. 78706 78707 Reviewed by Tim Hatcher 78708 78709 * rendering/RenderLayer.cpp: 78710 (WebCore::RenderLayer::setHasHorizontalScrollbar): 78711 (WebCore::RenderLayer::setHasVerticalScrollbar): 78712 * rendering/RenderScrollbar.cpp: 78713 (WebCore::RenderScrollbar::RenderScrollbar): 78714 78715 2008-10-13 Sam Weinig <sam (a] webkit.org> 78716 78717 Reviewed by Dan Bernstein. 78718 78719 Fix for https://bugs.webkit.org/show_bug.cgi?id=21577 78720 5 false positive StructureID leaks 78721 78722 In WebCore, we intentionally leak the common JSGlobalData which in turn 78723 leaks 5 StructureIDs. Use the new JSGlobalData::createLeaked in order to 78724 ignore the StructureIDs leaked within. 78725 78726 * bindings/js/JSDOMWindowBase.cpp: 78727 (WebCore::JSDOMWindowBase::commonJSGlobalData): 78728 78729 2008-10-13 David Hyatt <hyatt (a] apple.com> 78730 78731 Add support for the :corner-present pseudoclass, which enables scrollbar pieces to change their 78732 artwork based on whether there is a scrollbar corner present. 78733 78734 Reviewed by Tim Hatcher 78735 78736 * css/CSSSelector.cpp: 78737 (WebCore::CSSSelector::extractPseudoType): 78738 * css/CSSSelector.h: 78739 (WebCore::CSSSelector::): 78740 * css/CSSStyleSelector.cpp: 78741 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 78742 * platform/ScrollView.cpp: 78743 (WebCore::ScrollView::scrollbarCornerPresent): 78744 * platform/ScrollView.h: 78745 * platform/ScrollbarClient.h: 78746 * rendering/RenderLayer.cpp: 78747 (WebCore::cornerRect): 78748 (WebCore::scrollCornerRect): 78749 (WebCore::resizerCornerRect): 78750 (WebCore::RenderLayer::scrollbarCornerPresent): 78751 (WebCore::RenderLayer::setHasHorizontalScrollbar): 78752 (WebCore::RenderLayer::setHasVerticalScrollbar): 78753 * rendering/RenderLayer.h: 78754 (WebCore::RenderLayer::horizontalScrollbar): 78755 (WebCore::RenderLayer::verticalScrollbar): 78756 * rendering/RenderListBox.h: 78757 (WebCore::RenderListBox::scrollbarCornerPresent): 78758 78759 2008-10-13 David Hyatt <hyatt (a] apple.com> 78760 78761 Make resizers and scrollbar corners respect :window-inactive (one more bug fix and then Tim's master 78762 test case for all this can land). 78763 78764 Reviewed by Tim Hatcher 78765 78766 * css/CSSStyleSelector.cpp: 78767 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 78768 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 78769 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 78770 * rendering/RenderLayer.cpp: 78771 (WebCore::RenderLayer::paintOverflowControls): 78772 (WebCore::RenderLayer::paintScrollCorner): 78773 (WebCore::RenderLayer::paintResizer): 78774 (WebCore::RenderLayer::styleChanged): 78775 (WebCore::RenderLayer::updateScrollCornerStyle): 78776 (WebCore::RenderLayer::updateResizerStyle): 78777 * rendering/RenderLayer.h: 78778 * rendering/RenderScrollbar.cpp: 78779 (WebCore::RenderScrollbar::paint): 78780 * rendering/RenderScrollbarPart.cpp: 78781 (WebCore::RenderScrollbarPart::paintIntoRect): 78782 78783 2008-10-13 David Hyatt <hyatt (a] apple.com> 78784 78785 Rework resizer and scroll corner painting so that custom resizers and scroll corners will paint 78786 and invalidate properly as images load, etc. 78787 78788 Reviewed by Tim Hatcher 78789 78790 * rendering/RenderLayer.cpp: 78791 (WebCore::cornerRect): 78792 (WebCore::scrollCornerRect): 78793 (WebCore::resizerCornerRect): 78794 (WebCore::RenderLayer::positionOverflowControls): 78795 (WebCore::RenderLayer::paintOverflowControls): 78796 (WebCore::RenderLayer::paintScrollCorner): 78797 (WebCore::RenderLayer::paintResizer): 78798 (WebCore::RenderLayer::isPointInResizeControl): 78799 (WebCore::RenderLayer::hitTestOverflowControls): 78800 (WebCore::RenderLayer::styleChanged): 78801 * rendering/RenderLayer.h: 78802 * rendering/RenderObject.h: 78803 (WebCore::RenderObject::setRect): 78804 * rendering/RenderScrollbarPart.cpp: 78805 (WebCore::RenderScrollbarPart::styleDidChange): 78806 (WebCore::RenderScrollbarPart::imageChanged): 78807 78808 2008-10-13 Marco Barisione <marco.barisione (a] collabora.co.uk> 78809 78810 Reviewed by Darin Adler. Landed by Jan Alonzo. 78811 78812 WebKit GTK Port needs a smartpointer to handle g_free (GFreePtr?) 78813 http://bugs.webkit.org/show_bug.cgi?id=20483 78814 78815 Start the conversion to use GOwnPtr and fix a memory leak. 78816 78817 * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 78818 (WebCore::mediaPlayerPrivateErrorCallback): 78819 78820 2008-10-12 Jon Honeycutt <jhoneycutt (a] apple.com> 78821 78822 Windows build fix. 78823 78824 * loader/TextResourceDecoder.cpp: 78825 78826 2008-10-12 Darin Fisher <darin (a] chromium.org> 78827 78828 Reviewed by Darin Adler. 78829 78830 - fix https://bugs.webkit.org/show_bug.cgi?id=21229 78831 Bug 21229: NetworkStateNotifier.h lacks a #include <windows.h> for PLATFORM(WIN) 78832 78833 * platform/network/NetworkStateNotifier.h: Add the #include. 78834 78835 2008-10-12 Darin Adler <darin (a] apple.com> 78836 78837 Based on work by Holger Freyther. 78838 78839 - part of https://bugs.webkit.org/show_bug.cgi?id=20953 78840 Split WidthIterator into its own source file. 78841 78842 * GNUmakefile.am: Added new source files. 78843 * WebCore.vcproj/WebCore.vcproj: Ditto. 78844 * WebCore.xcodeproj/project.pbxproj: Ditto. 78845 * WebCoreSources.bkl: Ditto. 78846 78847 * platform/graphics/Font.cpp: Use WidthIterator from its new place. 78848 * platform/graphics/WidthIterator.cpp: Added. 78849 * platform/graphics/WidthIterator.h: Added. 78850 78851 2008-10-12 Tony Chang <tony (a] chromium.org> 78852 78853 Reviewed by Sam Weinig. 78854 78855 - https://bugs.webkit.org/show_bug.cgi?id=21480 78856 Remove duplicate definitions of MimeClassInfo and PluginInfo. 78857 78858 * plugins/PluginInfoStore.cpp: Added an include. 78859 * plugins/PluginInfoStore.h: Removed struct declarations. 78860 78861 2008-10-12 Darin Adler <darin (a] apple.com> 78862 78863 Reviewed by Dan Bernstein. 78864 78865 - https://bugs.webkit.org/show_bug.cgi?id=21563 78866 Bug 21563: platform Gradient class should not use the CSS parser 78867 78868 * platform/graphics/Gradient.cpp: Removed the overload of addColorStop 78869 that accepts a CSS color string. That's handled in the DOM now, not here. 78870 (WebCore::Gradient::addColorStop): Use getRGBA instead of having our own 78871 copy of it here. 78872 * platform/graphics/Gradient.h: More of the same. Tweak formatting a bit. 78873 78874 2008-10-12 Glenn Wilson <gwilson (a] google.com> 78875 78876 Reviewed by Darin Adler. 78877 78878 - https://bugs.webkit.org/show_bug.cgi?id=20461 78879 78880 Added feature to allow multi-line inputs into text fields. 78881 HTMLInputElement would cut the set text at the first 'system' character, 78882 so it would truncate at the first carriage return or newline. 78883 This fix modifies that behavior to truncate at any non-space system character 78884 but changes \r, \n, and \r\n to a single space. 78885 78886 Tests: editing/pasteboard/paste-multiline-text-input.html 78887 78888 * html/HTMLInputElement.cpp: 78889 (WebCore::HTMLInputElement::constrainValue): 78890 78891 2008-10-12 Dirk Schulze <vbs85 (a] gmx.de> 78892 78893 Reviewed by Eric Seidel. 78894 78895 - https://bugs.webkit.org/show_bug.cgi?id=20435 78896 78897 Added exception codes to canvas gradients to match current specification. 78898 78899 Tests: fast/canvas/gradient-addColorStop-with-invalid-color.html 78900 fast/canvas/linearGradient-infinite-values.html 78901 fast/canvas/radialGradient-infinite-values.html 78902 78903 * html/CanvasGradient.cpp: 78904 (WebCore::CanvasGradient::addColorStop): 78905 * html/CanvasGradient.h: 78906 * html/CanvasGradient.idl: 78907 * html/CanvasRenderingContext2D.cpp: 78908 (WebCore::CanvasRenderingContext2D::createLinearGradient): 78909 (WebCore::CanvasRenderingContext2D::createRadialGradient): 78910 * html/CanvasRenderingContext2D.h: 78911 * html/CanvasRenderingContext2D.idl: 78912 78913 2008-10-12 Eric Roman <eroman (a] chromium.org> 78914 78915 - https://bugs.webkit.org/show_bug.cgi?id=20246 78916 Implement RenderThemeWin::systemColor() to match Windows colors. 78917 78918 Reviewed by David Hyatt. 78919 78920 * rendering/RenderThemeWin.cpp: 78921 (WebCore::cssValueIdToSysColorIndex): 78922 (WebCore::RenderThemeWin::systemColor): 78923 * rendering/RenderThemeWin.h: 78924 78925 2008-10-12 Aaron Bockover <abockover (a] novell.com> 78926 78927 Reviewed by Alp Toker. 78928 78929 Add version parsing for Flash, and the PluginQuirkDontSetNullWindowHandleOnDestroy 78930 plugin quirk if Flash 10 or newer since at least in b218, setting a NULL window 78931 handler on destroy crashes WebKit <https://bugs.webkit.org/show_bug.cgi?id=19859> 78932 78933 * plugins/gtk/PluginPackageGtk.cpp: 78934 78935 2008-10-12 Jonathon Jongsma <jonathon.jongsma (a] collabora.co.uk> 78936 78937 Reviewed by Oliver Hunt. 78938 78939 - https://bugs.webkit.org/show_bug.cgi?id=19331 78940 <rdar://problem/5984433>: Drag and drop of links in edit mode violates assert in MoveSelectionCommand::doApply() 78941 78942 * page/DragController.cpp: 78943 (WebCore::DragController::startDrag): When a link is dragged without any 78944 text selected (note: for this to work, the EditableLinkBehavior setting must be 78945 set to 'live' or 'default') and then dropped into an editable html document it 78946 will eventually violate an ASSERT in MoveSelectionCommand that requires that there 78947 is a selection. To prevent this, expand the selection to the enclosing anchor tag 78948 when the drag begins. 78949 78950 2008-10-12 Darin Adler <darin (a] apple.com> 78951 78952 Reviewed by Mark Rowe. 78953 78954 - fix https://bugs.webkit.org/show_bug.cgi?id=21557 78955 Bug 21557: REGRESSION: generated-layer-scrollbar-crash.html is crashing 78956 78957 * rendering/RenderObject.cpp: 78958 (WebCore::RenderObject::getPseudoStyle): Keep walking up the parent chain 78959 until we hit an Element. Nowadays, Node::isElementNode() is just as efficient 78960 as RenderObject::isText(), and this guarantees that the node can be cast to 78961 Element*, which is done just below. The reason this is hit is that RenderLayer 78962 can call getPseudoStyle on a RenderView, which has the document as its 78963 element() -- and a document is neither a Text node nor an Element. A loose 78964 end is that this seems to mean you can't style the scrollbar corner or the 78965 resizer on a RenderView. Hyatt may want to look into that later. 78966 78967 2008-10-12 Darin Adler <darin (a] apple.com> 78968 78969 Reviewed by Sam Weinig. 78970 78971 - https://bugs.webkit.org/show_bug.cgi?id=21556 78972 Bug 21556: non-ASCII digits are allowed in places where only ASCII should be 78973 78974 Tests: fast/dom/HTMLFontElement/size-attribute.html 78975 fast/dom/HTMLInputElement/size-attribute.html 78976 fast/dom/HTMLTableElement/cellpadding-attribute.html 78977 78978 * html/HTMLFontElement.cpp: 78979 (WebCore::parseFontSizeNumber): Use isASCIIDigit instead of 78980 Unicode::isDigit, since non-ASCII digits are not valid here. 78981 * html/HTMLFontElement.h: Tweaked formatting a bit and removed 78982 the unneeded destructor declaration. 78983 * platform/text/String.cpp: 78984 (WebCore::lengthOfCharactersAsInteger): Use isASCIIDigit instead 78985 of Unicode::isDigit, since non-ASCII digits are not valid. 78986 78987 2008-10-12 Jungshik Shin <jshin (a] chromium.org> 78988 78989 Reviewed by Darin Adler. 78990 78991 Treat x-user-defined as windows-1252 for html files with meta charset 78992 declaration to be compatible with Indian web sites. 78993 ( https://bugs.webkit.org/show_bug.cgi?id=18270 ) 78994 78995 Test: fast/encoding/charset-xuser-defined.html 78996 78997 * loader/TextResourceDecoder.cpp: 78998 (WebCore::TextResourceDecoder::setEncoding): 78999 79000 2008-10-12 Sam Weinig <sam (a] webkit.org> 79001 79002 Reviewed by Dan Bernstein. 79003 79004 Remove unneeded forward declaration. 79005 79006 * platform/graphics/ImageBuffer.h: 79007 79008 2008-10-12 Sam Weinig <sam (a] webkit.org> 79009 79010 Reviewed by Darin Adler. 79011 79012 Fix for https://bugs.webkit.org/show_bug.cgi?id=21560 79013 Layering violation: String should not be responsible for creating Lengths 79014 79015 It was a layering violation for String to know haw to parse 79016 into Lengths, LengthArrays, and CoordsArrays. 79017 79018 * GNUmakefile.am: 79019 * WebCore.pro: 79020 * WebCore.vcproj/WebCore.vcproj: 79021 * WebCore.xcodeproj/project.pbxproj: 79022 * WebCoreSources.bkl: 79023 * html/HTMLAreaElement.cpp: 79024 (WebCore::HTMLAreaElement::parseMappedAttribute): 79025 * html/HTMLFrameSetElement.cpp: 79026 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 79027 * platform/text/AtomicString.h: 79028 (WebCore::AtomicString::percentage): 79029 * platform/text/PlatformString.h: 79030 * platform/text/String.cpp: 79031 * platform/text/StringImpl.cpp: 79032 * platform/text/StringImpl.h: 79033 * rendering/Length.cpp: Added. 79034 (WebCore::parseLength): 79035 (WebCore::countCharacter): 79036 (WebCore::newCoordsArray): 79037 (WebCore::newLengthArray): 79038 * rendering/Length.h: 79039 (WebCore::LengthSize::LengthSize): 79040 79041 2008-10-12 Brad Garcia <bgarcia (a] google.com> 79042 79043 Reviewed by Darin Adler. 79044 79045 Interpret fractional percentage values for %MultiLength values. 79046 Fix for https://bugs.webkit.org/show_bug.cgi?id=3591 79047 Test: fast/frames/frame-length-fractional-percentage.html 79048 79049 * platform/text/StringImpl.cpp: 79050 (WebCore::parseLength): 79051 79052 2008-10-12 Timothy Hatcher <timothy (a] apple.com> 79053 79054 Remember the expanded state of the rules in the Styles pane. So 79055 collapsing a rule will persist across all the elements that have 79056 that same rule. The same applies to Computed Style, so the Computed 79057 Style rule is now collapsed by default. This should help lessen the 79058 confusion on why Computed Style can't be edited (a common confusion.) 79059 79060 https://bugs.webkit.org/show_bug.cgi?id=21553 79061 79062 Reviewed by Darin Adler. 79063 79064 * inspector/front-end/PropertiesSection.js: 79065 (WebInspector.PropertiesSection): Set the _expanded property directly, 79066 instead of using the setter. Expanded is the default, so no work is needed. 79067 This prevents calling StylesSidebarPane.collapse before object initialization 79068 is complete. 79069 * inspector/front-end/StylesSidebarPane.js: 79070 (WebInspector.StylesSidebarPane.prototype.update): Check the Preferences object 79071 for the expanded state of the StylePropertiesSection. Collapse computed style 79072 by default and expand everything else. 79073 (WebInspector.StylePropertiesSection): Make a semi unique identifier to be used 79074 when remembering expanded state. 79075 (WebInspector.StylePropertiesSection.prototype.expand): Set the expanded state 79076 to true for this identifier in Preferences.styleRulesExpandedState. Don't remember 79077 the state if the dontRememberState property is true. 79078 (WebInspector.StylePropertiesSection.prototype.collapse): Set the expanded state 79079 to false for this identifier in Preferences.styleRulesExpandedState. 79080 * inspector/front-end/inspector.js: 79081 (Preferences.styleRulesExpandedState): Initialize to an empty object. 79082 79083 2008-10-12 Jan Michael Alonzo <jmalonzo (a] webkit.org> 79084 79085 Reviewed by Alp Toker. 79086 79087 [Gtk] Remove libWebCoreJS.la when doing make clean 79088 https://bugs.webkit.org/show_bug.cgi?id=21544 79089 79090 Remove libWebCoreJS.la when doing a clean target 79091 79092 * GNUmakefile.am: add libWebCoreJS.la to CLEANFILES 79093 79094 2008-10-11 Alp Toker <alp (a] nuanti.com> 79095 79096 Reviewed by Darin Adler. 79097 79098 https://bugs.webkit.org/show_bug.cgi?id=20592 79099 The focus ring is not shown while navigating on some pages 79100 79101 Fix drawFocusRing() so it doesn't depend on the current graphics 79102 state, thus matching other platforms which already work this way. 79103 79104 This patch provides two code paths: one using straight Cairo and 79105 one specialised for the GTK+ port with a more conventional appearance. 79106 79107 Also change focusRingColor() to return a null color, allowing the 79108 focus ring to pick up the style's current color if it isn't overridden 79109 with CSS. 79110 79111 * platform/graphics/cairo/GraphicsContextCairo.cpp: 79112 (WebCore::GraphicsContext::drawFocusRing): 79113 * platform/gtk/TemporaryLinkStubs.cpp: 79114 (WebCore::focusRingColor): 79115 79116 2008-10-11 Dan Bernstein <mitz (a] apple.com> 79117 79118 Rubber-stamped by Sam Weinig. 79119 79120 - change all internal callers to use Cache::evict() instead of remove() 79121 79122 * loader/Cache.cpp: 79123 (WebCore::Cache::revalidateResource): 79124 (WebCore::Cache::revalidationSucceeded): 79125 (WebCore::Cache::pruneDeadResources): 79126 (WebCore::Cache::setDisabled): 79127 79128 2008-10-11 David Hyatt <hyatt (a] apple.com> 79129 79130 Make sure invalidatePart knows how to invalidate the track and scrollbar backgrounds. 79131 79132 Reviewed by Tim Hatcher 79133 79134 * platform/ScrollbarThemeComposite.cpp: 79135 (WebCore::ScrollbarThemeComposite::invalidatePart): 79136 79137 2008-10-11 David Hyatt <hyatt (a] apple.com> 79138 79139 https://bugs.webkit.org/show_bug.cgi?id=21549 (regression in before/after track pieces). 79140 79141 Also fixed resizer positioning problems. 79142 79143 Reviewed by Tim Hatcher 79144 79145 * platform/ScrollbarThemeComposite.cpp: 79146 (WebCore::ScrollbarThemeComposite::splitTrack): 79147 (WebCore::ScrollbarThemeComposite::trackPosition): 79148 (WebCore::ScrollbarThemeComposite::trackLength): 79149 * platform/ScrollbarThemeComposite.h: 79150 (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces): 79151 * rendering/RenderLayer.cpp: 79152 (WebCore::scrollCornerRect): 79153 (WebCore::RenderLayer::positionOverflowControls): 79154 (WebCore::RenderLayer::paintOverflowControls): 79155 (WebCore::RenderLayer::isPointInResizeControl): 79156 (WebCore::RenderLayer::hitTestOverflowControls): 79157 * rendering/RenderScrollbarTheme.cpp: 79158 (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces): 79159 * rendering/RenderScrollbarTheme.h: 79160 79161 2008-10-11 Alp Toker <alp (a] nuanti.com> 79162 79163 Reviewed by David Hyatt. 79164 79165 Implement release/retain for Widget GTK+. 79166 79167 * platform/Widget.cpp: 79168 * platform/gtk/WidgetGtk.cpp: 79169 (WebCore::Widget::~Widget): 79170 (WebCore::Widget::releasePlatformWidget): 79171 (WebCore::Widget::retainPlatformWidget): 79172 79173 2008-10-11 Dan Bernstein <mitz (a] apple.com> 79174 79175 Reviewed by Sam Weinig. 79176 79177 - rename WebCoreSetAlwaysUseATSU to WebCoreSetAlwaysUsesComplexTextCodePath 79178 and add a corresponding getter; add the same functions on Windows 79179 79180 * WebCore.base.exp: 79181 * platform/graphics/Font.cpp: 79182 (WebCore::Font::setCodePath): 79183 (WebCore::codePath): 79184 (WebCore::Font::canUseGlyphCache): 79185 * platform/graphics/Font.h: 79186 * platform/mac/WebCoreTextRenderer.h: 79187 * platform/mac/WebCoreTextRenderer.mm: 79188 (WebCoreSetAlwaysUsesComplexTextCodePath): 79189 (WebCoreAlwaysUsesComplexTextCodePath): 79190 * platform/win/WebCoreTextRenderer.cpp: 79191 (WebCore::WebCoreSetAlwaysUsesComplexTextCodePath): 79192 (WebCore::WebCoreAlwaysUsesComplexTextCodePath): 79193 * platform/win/WebCoreTextRenderer.h: 79194 79195 2008-10-11 Sam Weinig <sam (a] webkit.org> 79196 79197 Reviewed by Cameron Zwarich. 79198 79199 Stop leaking the event parameter names. The protected strings were showing up 79200 in the caches window after one use. No measurable performance loss. 79201 79202 * bindings/js/JSEventListener.cpp: 79203 (WebCore::eventParameterName): 79204 79205 2008-10-11 Sam Weinig <sam (a] webkit.org> 79206 79207 Reviewed by Cameron Zwarich. 79208 79209 Remove unused function getNodeEventListener. 79210 79211 * bindings/js/JSEventListener.cpp: 79212 * bindings/js/JSEventListener.h: 79213 79214 2008-10-11 David Hyatt <hyatt (a] apple.com> 79215 79216 Add support for both positive and negative margins to tracks and track pieces. 79217 79218 Reviewed by Tim Hatcher 79219 79220 * platform/ScrollbarThemeComposite.cpp: 79221 (WebCore::ScrollbarThemeComposite::paint): 79222 (WebCore::ScrollbarThemeComposite::hitTest): 79223 (WebCore::ScrollbarThemeComposite::splitTrack): 79224 (WebCore::ScrollbarThemeComposite::trackPieceRects): 79225 (WebCore::ScrollbarThemeComposite::trackPosition): 79226 (WebCore::ScrollbarThemeComposite::trackLength): 79227 * platform/ScrollbarThemeComposite.h: 79228 (WebCore::ScrollbarThemeComposite::adjustTrackPieceRect): 79229 * rendering/RenderScrollbar.cpp: 79230 (WebCore::RenderScrollbar::trackRect): 79231 (WebCore::RenderScrollbar::trackPieceRectWithMargins): 79232 * rendering/RenderScrollbar.h: 79233 * rendering/RenderScrollbarPart.cpp: 79234 (WebCore::RenderScrollbarPart::computeScrollbarWidth): 79235 (WebCore::RenderScrollbarPart::computeScrollbarHeight): 79236 * rendering/RenderScrollbarTheme.cpp: 79237 (WebCore::RenderScrollbarTheme::adjustTrackPieceRect): 79238 * rendering/RenderScrollbarTheme.h: 79239 79240 2008-10-10 David Hyatt <hyatt (a] apple.com> 79241 79242 Drop -webkit-scrollbar- from all the scrollbar pseudo-classes, since they are scoped to 79243 the scrollbar pseudo-elements anyway. 79244 79245 Reviewed by Tim Hatcher 79246 79247 * css/CSSSelector.cpp: 79248 (WebCore::CSSSelector::extractPseudoType): 79249 * css/CSSSelector.h: 79250 (WebCore::CSSSelector::): 79251 * css/CSSStyleSelector.cpp: 79252 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79253 79254 2008-10-10 Dan Bernstein <mitz (a] apple.com> 79255 79256 Reviewed by Sam Weinig. 79257 79258 - separate Cache::remove() into a private method and a public interface, 79259 then make Cache::pruneDeadResources() use the private method. 79260 79261 * loader/Cache.cpp: 79262 (WebCore::Cache::pruneDeadResources): 79263 (WebCore::Cache::evict): 79264 * loader/Cache.h: 79265 (WebCore::Cache::remove): 79266 79267 2008-10-10 David Hyatt <hyatt (a] apple.com> 79268 79269 Fix a math error when splitting a vertical track. Clean up more of ScrollbarThemeComposite 79270 now that the track pieces meet under the thumb. 79271 79272 Reviewed by Tim Hatcher 79273 79274 * platform/ScrollbarThemeComposite.cpp: 79275 (WebCore::ScrollbarThemeComposite::paint): 79276 (WebCore::ScrollbarThemeComposite::splitTrack): 79277 79278 2008-10-10 David Hyatt <hyatt (a] apple.com> 79279 79280 Make the track pieces of a scrollbar extend under the thumb (each gets half the thumb). 79281 79282 Reviewed by Tim Hatcher 79283 79284 * platform/ScrollbarThemeComposite.cpp: 79285 (WebCore::ScrollbarThemeComposite::hitTest): 79286 (WebCore::ScrollbarThemeComposite::splitTrack): 79287 79288 2008-10-10 David Hyatt <hyatt (a] apple.com> 79289 79290 Make sure specialized ::scrollbar rules are still triggering custom scrollbar creation. 79291 79292 Reviewed by Tim Hatcher 79293 79294 * rendering/RenderLayer.cpp: 79295 (WebCore::RenderLayer::createScrollbar): 79296 * rendering/RenderScrollbar.cpp: 79297 (WebCore::RenderScrollbar::createCustomScrollbar): 79298 (WebCore::RenderScrollbar::RenderScrollbar): 79299 (WebCore::RenderScrollbar::setParent): 79300 (WebCore::RenderScrollbar::updateScrollbarParts): 79301 (WebCore::RenderScrollbar::updateScrollbarPart): 79302 * rendering/RenderScrollbar.h: 79303 * rendering/style/RenderStyle.h: 79304 (WebCore::RenderStyle::): 79305 79306 2008-10-10 David Hyatt <hyatt (a] apple.com> 79307 79308 Make sure scrollbar background images cause proper part invalidation to occur. 79309 79310 Reviewed by Tim Hatcher 79311 79312 * rendering/RenderScrollbar.cpp: 79313 (WebCore::RenderScrollbar::setHoveredPart): 79314 (WebCore::RenderScrollbar::setPressedPart): 79315 * rendering/RenderScrollbarPart.cpp: 79316 (WebCore::RenderScrollbarPart::styleDidChange): 79317 (WebCore::RenderScrollbarPart::imageChanged): 79318 * rendering/RenderScrollbarPart.h: 79319 79320 2008-10-10 Simon Fraser <simon.fraser (a] apple.com> 79321 79322 Reviewed by Darin Adler 79323 79324 https://bugs.webkit.org/show_bug.cgi?id=21538 79325 79326 The blendFunc() for TransformOperations should never mess with the 79327 operation lists by replacing some ops with identity, otherwise the lists 79328 no longer match and transitions break. 79329 79330 Test: transitions/matched-transform-functions.html 79331 79332 * page/animation/AnimationBase.cpp: 79333 (WebCore::blendFunc): 79334 79335 2008-10-10 Simon Fraser <simon.fraser (a] apple.com> 79336 79337 Reviewed by Darin Adler 79338 79339 https://bugs.webkit.org/show_bug.cgi?id=21537 79340 79341 Fix re-targetting a running transition; if the target property 79342 changes, we do need to make a new ImplicitAnimation. 79343 79344 Test: transitions/retargetted-transition.html 79345 79346 * page/animation/CompositeAnimation.cpp: 79347 (WebCore::CompositeAnimationPrivate::updateTransitions): 79348 79349 2008-10-10 Oliver Hunt <oliver (a] apple.com> 79350 79351 Reviewed by Cameron Zwarich. 79352 79353 Part of <rdar://problem/6278147> Cannot stop a slow script -- Fix assertion. 79354 79355 When JS is terminated by the user choosing to stop a slow script 79356 the exception toString method throws, yet the console logger does 79357 not perform exception checks after logging. This leaves an 79358 exception on the Machine, which in turn results in an assertion 79359 failure next time we attempt to enter JS. The solution is just to 79360 clear the exception state after attempting to record the exception. 79361 79362 * page/Console.cpp: 79363 (WebCore::Console::reportException): 79364 79365 2008-10-10 David Hyatt <hyatt (a] apple.com> 79366 79367 Make textareas work with custom CSS scrollbars and resizers. Need to access the correct renderer 79368 when looking for pseudo styles. 79369 79370 Reviewed by Tim Hatcher 79371 79372 * rendering/RenderLayer.cpp: 79373 (WebCore::RenderLayer::createScrollbar): 79374 (WebCore::RenderLayer::styleChanged): 79375 79376 2008-10-10 David Hyatt <hyatt (a] apple.com> 79377 79378 Add the ability to style the scroll corner and the resizer from CSS. 79379 79380 Reviewed by Tim Hatcher 79381 79382 * css/CSSSelector.cpp: 79383 (WebCore::CSSSelector::extractPseudoType): 79384 * css/CSSSelector.h: 79385 (WebCore::CSSSelector::): 79386 * css/CSSStyleSelector.cpp: 79387 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 79388 * rendering/RenderLayer.cpp: 79389 (WebCore::RenderLayer::RenderLayer): 79390 (WebCore::RenderLayer::~RenderLayer): 79391 (WebCore::RenderLayer::paintOverflowControls): 79392 (WebCore::RenderLayer::paintScrollCorner): 79393 (WebCore::RenderLayer::paintResizer): 79394 (WebCore::RenderLayer::styleChanged): 79395 * rendering/RenderLayer.h: 79396 * rendering/RenderScrollbar.cpp: 79397 (WebCore::RenderScrollbar::updateScrollbarPart): 79398 (WebCore::RenderScrollbar::paintPart): 79399 * rendering/RenderScrollbarPart.cpp: 79400 (WebCore::RenderScrollbarPart::RenderScrollbarPart): 79401 (WebCore::RenderScrollbarPart::paintIntoRect): 79402 * rendering/RenderScrollbarPart.h: 79403 * rendering/style/RenderStyle.h: 79404 (WebCore::RenderStyle::): 79405 79406 2008-10-10 David Hyatt <hyatt (a] apple.com> 79407 79408 Make CSS scrollbars respect the OS setting regarding where buttons should be placed. 79409 79410 Reviewed by Sam Weinig 79411 79412 No test case possible, since the OS setting can vary. 79413 79414 * css/CSSSelector.cpp: 79415 (WebCore::CSSSelector::extractPseudoType): 79416 * css/CSSSelector.h: 79417 (WebCore::CSSSelector::): 79418 * css/CSSStyleSelector.cpp: 79419 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79420 * platform/Scrollbar.h: 79421 (WebCore::Scrollbar::styleChanged): 79422 * platform/mac/ScrollbarThemeMac.mm: 79423 (+[ScrollbarPrefsObserver appearancePrefsChanged:]): 79424 (WebCore::ScrollbarThemeMac::preferencesChanged): 79425 * rendering/RenderLayer.cpp: 79426 (WebCore::RenderLayer::invalidateScrollbarRect): 79427 * rendering/RenderScrollbar.cpp: 79428 (WebCore::RenderScrollbar::styleChanged): 79429 (WebCore::RenderScrollbar::updateScrollbarPart): 79430 * rendering/RenderScrollbar.h: 79431 * rendering/RenderScrollbarTheme.h: 79432 (WebCore::RenderScrollbarTheme::buttonsPlacement): 79433 79434 2008-10-10 Timothy Hatcher <timothy (a] apple.com> 79435 79436 Fixes a regression with input search fields, where the placeholder text 79437 would not be updated when the value of the placeholder attribute changed. 79438 79439 https://bugs.webkit.org/show_bug.cgi?id=21521 79440 79441 Reviewed by Adele Peterson. 79442 79443 Test: fast/forms/search-placeholder-value-changed.html 79444 79445 * html/HTMLInputElement.cpp: 79446 (WebCore::HTMLInputElement::parseMappedAttribute): Pass true for the 79447 placeholderValueChanged parameter of updatePlaceholderVisibility. 79448 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Add parameter 79449 for placeholderValueChanged that informs the method that the value changed. 79450 * html/HTMLInputElement.h: Add the placeholderValueChanged to the 79451 updatePlaceholderVisibility method. Made it default to false. 79452 79453 2008-10-10 David Hyatt <hyatt (a] apple.com> 79454 79455 Allow the track part to have negative margins so that it can slightly overlap buttons. This 79456 is necessary to emulate the Aqua look in CSS. 79457 79458 Reviewed by Sam Weinig 79459 79460 * platform/ScrollbarThemeComposite.cpp: 79461 (WebCore::ScrollbarThemeComposite::paint): 79462 (WebCore::ScrollbarThemeComposite::hitTest): 79463 * rendering/RenderScrollbar.cpp: 79464 (WebCore::RenderScrollbar::setHoveredPart): 79465 (WebCore::RenderScrollbar::trackRect): 79466 * rendering/RenderScrollbar.h: 79467 * rendering/RenderScrollbarPart.cpp: 79468 (WebCore::RenderScrollbarPart::computeScrollbarWidth): 79469 (WebCore::RenderScrollbarPart::computeScrollbarHeight): 79470 * rendering/RenderScrollbarTheme.cpp: 79471 (WebCore::RenderScrollbarTheme::backButtonRect): 79472 (WebCore::RenderScrollbarTheme::forwardButtonRect): 79473 (WebCore::RenderScrollbarTheme::trackRect): 79474 79475 2008-10-10 David Hyatt <hyatt (a] apple.com> 79476 79477 https://bugs.webkit.org/show_bug.cgi?id=21527 79478 79479 Make CSS scrollbars support :not, :hover and :active. 79480 79481 Reviewed by Adam Roben 79482 79483 Added WebCore/manual-tests/scrollbar-hover-active.html 79484 79485 * css/CSSStyleSelector.cpp: 79486 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 79487 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79488 * platform/Scrollbar.cpp: 79489 (WebCore::Scrollbar::autoscrollPressedPart): 79490 (WebCore::Scrollbar::startTimerIfNeeded): 79491 (WebCore::Scrollbar::setHoveredPart): 79492 (WebCore::Scrollbar::setPressedPart): 79493 (WebCore::Scrollbar::mouseMoved): 79494 (WebCore::Scrollbar::mouseExited): 79495 (WebCore::Scrollbar::mouseUp): 79496 (WebCore::Scrollbar::mouseDown): 79497 * platform/Scrollbar.h: 79498 * rendering/RenderScrollbar.cpp: 79499 (WebCore::RenderScrollbar::setHoveredPart): 79500 (WebCore::RenderScrollbar::setPressedPart): 79501 (WebCore::RenderScrollbar::updateScrollbarParts): 79502 (WebCore::pseudoForScrollbarPart): 79503 (WebCore::RenderScrollbar::updateScrollbarPart): 79504 * rendering/RenderScrollbar.h: 79505 79506 2008-10-10 Chris Marrin <cmarrin (a] apple.com> 79507 79508 Reviewed by Dan Bernstein. 79509 79510 Fix for https://bugs.webkit.org/show_bug.cgi?id=21025 79511 CSS transition with duration=0 and delay=0 doesn't override ongoing transition 79512 79513 Test: transitions/interrupt-zero-duration.html 79514 79515 * page/animation/CompositeAnimation.cpp: 79516 (WebCore::CompositeAnimation::updateTransitions): 79517 79518 2008-10-10 Kevin Ollivier <kevino (a] theolliviers.com> 79519 79520 wx build fix. Add new scrollbar-related sources. 79521 79522 * WebCoreSources.bkl: 79523 79524 2008-10-10 David Hyatt <hyatt (a] apple.com> 79525 79526 https://bugs.webkit.org/show_bug.cgi?id=21522 79527 79528 Support increment/decrement/start/end on scrollbars. Allows a fully functional scrollbar to be 79529 created. (Just :hover/:active left to finish it up.) 79530 79531 Reviewed by Adam Roben 79532 79533 Added scrollbars/scrollbar-buttons.html 79534 79535 * css/CSSStyleSelector.cpp: 79536 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79537 79538 2008-10-10 David Hyatt <hyatt (a] apple.com> 79539 79540 Rename some pseudoclasses. Removing "-scrollbar-" from a bunch of the pseudoclasses. Renaming 79541 back/forward to decrement/increment. Adding start/end pseudoclasses. 79542 79543 Reviewed by Eric Seidel 79544 79545 * css/CSSSelector.cpp: 79546 (WebCore::CSSSelector::extractPseudoType): 79547 * css/CSSSelector.h: 79548 (WebCore::CSSSelector::): 79549 * css/CSSStyleSelector.cpp: 79550 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79551 79552 2008-10-10 David Hyatt <hyatt (a] apple.com> 79553 79554 Switch window-active to window-inactive, since that will work better as far as degrading in other 79555 browsers. 79556 79557 Reviewed by Tim Hatcher 79558 79559 * css/CSSSelector.cpp: 79560 (WebCore::CSSSelector::extractPseudoType): 79561 * css/CSSSelector.h: 79562 (WebCore::CSSSelector::): 79563 * css/CSSStyleSelector.cpp: 79564 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79565 79566 2008-10-09 Chris Marrin <cmarrin (a] apple.com> 79567 79568 Reviewed by Dan Bernstein. 79569 79570 https://bugs.webkit.org/show_bug.cgi?id=21310 79571 79572 Redesigned how animation events are sent in order to get rid of 79573 AnimationEventDispatcher. ImplicitAnimation and KeyframeAnimation 79574 are now ref counted. While calling the event handler, I keep a 79575 reference to this class to avoid it getting destroyed out from under me. 79576 79577 I also moved most of the functionality of CompositeAnimation to 79578 and internal class (CompositeAnimationPrivate) to reduce the exposure 79579 of the internals of the various animation classes. 79580 79581 We have several transition and animation LayoutTests which verify that 79582 this fix works as expected and continues to avoid crashes. 79583 79584 * page/animation/AnimationBase.cpp: 79585 (WebCore::AnimationBase::AnimationBase): 79586 * page/animation/AnimationBase.h: 79587 (WebCore::AnimationBase::cancelTimers): 79588 (WebCore::AnimationBase::waitingForStyleAvailable): 79589 * page/animation/CompositeAnimation.cpp: 79590 (WebCore::CompositeAnimationPrivate::CompositeAnimationPrivate): 79591 (WebCore::CompositeAnimationPrivate::suspended): 79592 (WebCore::CompositeAnimationPrivate::~CompositeAnimationPrivate): 79593 (WebCore::CompositeAnimationPrivate::updateTransitions): 79594 (WebCore::CompositeAnimationPrivate::updateKeyframeAnimations): 79595 (WebCore::CompositeAnimationPrivate::animate): 79596 (WebCore::CompositeAnimationPrivate::setAnimating): 79597 (WebCore::CompositeAnimationPrivate::animating): 79598 (WebCore::CompositeAnimationPrivate::getAnimationForProperty): 79599 (WebCore::CompositeAnimationPrivate::resetTransitions): 79600 (WebCore::CompositeAnimationPrivate::resetAnimations): 79601 (WebCore::CompositeAnimationPrivate::cleanupFinishedAnimations): 79602 (WebCore::CompositeAnimationPrivate::setAnimationStartTime): 79603 (WebCore::CompositeAnimationPrivate::setTransitionStartTime): 79604 (WebCore::CompositeAnimationPrivate::suspendAnimations): 79605 (WebCore::CompositeAnimationPrivate::resumeAnimations): 79606 (WebCore::CompositeAnimationPrivate::overrideImplicitAnimations): 79607 (WebCore::CompositeAnimationPrivate::resumeOverriddenImplicitAnimations): 79608 (WebCore::compareAnimationIndices): 79609 (WebCore::CompositeAnimationPrivate::styleAvailable): 79610 (WebCore::CompositeAnimationPrivate::isAnimatingProperty): 79611 (WebCore::CompositeAnimationPrivate::setWaitingForStyleAvailable): 79612 (WebCore::CompositeAnimation::CompositeAnimation): 79613 (WebCore::CompositeAnimation::~CompositeAnimation): 79614 (WebCore::CompositeAnimation::animate): 79615 (WebCore::CompositeAnimation::animating): 79616 (WebCore::CompositeAnimation::setWaitingForStyleAvailable): 79617 (WebCore::CompositeAnimation::resetTransitions): 79618 (WebCore::CompositeAnimation::suspendAnimations): 79619 (WebCore::CompositeAnimation::resumeAnimations): 79620 (WebCore::CompositeAnimation::suspended): 79621 (WebCore::CompositeAnimation::styleAvailable): 79622 (WebCore::CompositeAnimation::setAnimating): 79623 (WebCore::CompositeAnimation::isAnimatingProperty): 79624 (WebCore::CompositeAnimation::setAnimationStartTime): 79625 (WebCore::CompositeAnimation::setTransitionStartTime): 79626 (WebCore::CompositeAnimation::overrideImplicitAnimations): 79627 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): 79628 * page/animation/CompositeAnimation.h: 79629 * page/animation/ImplicitAnimation.cpp: 79630 (WebCore::ImplicitAnimation::sendTransitionEvent): 79631 * page/animation/ImplicitAnimation.h: 79632 (WebCore::ImplicitAnimation::create): 79633 * page/animation/KeyframeAnimation.cpp: 79634 (WebCore::KeyframeAnimation::sendAnimationEvent): 79635 * page/animation/KeyframeAnimation.h: 79636 (WebCore::KeyframeAnimation::create): 79637 79638 2008-10-09 David Hyatt <hyatt (a] apple.com> 79639 79640 Add support for scrollbar orientation as a pseudoclass. Add support for whether or not the scrollbar 79641 is active as well. 79642 79643 Reviewed by Tim Hatcher 79644 79645 Added scrollbars/scrollbar-orientation.html 79646 79647 * css/CSSSelector.cpp: 79648 (WebCore::CSSSelector::extractPseudoType): 79649 * css/CSSSelector.h: 79650 (WebCore::CSSSelector::): 79651 * css/CSSStyleSelector.cpp: 79652 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79653 * platform/Scrollbar.cpp: 79654 (WebCore::Scrollbar::isWindowActive): 79655 * platform/Scrollbar.h: 79656 * rendering/RenderScrollbar.cpp: 79657 (WebCore::RenderScrollbar::paint): 79658 (WebCore::RenderScrollbar::partForStyleResolve): 79659 * rendering/RenderScrollbar.h: 79660 79661 2008-10-09 David Hyatt <hyatt (a] apple.com> 79662 79663 Add support for pseudo classes on scrollbar pseudo elements. As an initial proof of concept only 79664 :enabled/:disabled are supported. More pseudo classes will follow quickly now that this works. 79665 79666 Reviewed by Tim Hatcher 79667 79668 Added scrollbars/disabled-scrollbar.html 79669 79670 * css/CSSStyleSelector.cpp: 79671 (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): 79672 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 79673 (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass): 79674 * css/CSSStyleSelector.h: 79675 * rendering/RenderObject.cpp: 79676 (WebCore::RenderObject::getPseudoStyle): 79677 * rendering/RenderObject.h: 79678 * rendering/RenderScrollbar.cpp: 79679 (WebCore::RenderScrollbar::setEnabled): 79680 (WebCore::RenderScrollbar::scrollbarForStyleResolve): 79681 (WebCore::RenderScrollbar::getScrollbarPseudoStyle): 79682 (WebCore::RenderScrollbar::paintPart): 79683 * rendering/RenderScrollbar.h: 79684 79685 2008-10-09 Eric Carlson <eric.carlson (a] apple.com> 79686 79687 Media controls should not show when element is not visible 79688 79689 https://bugs.webkit.org/show_bug.cgi?id=21155 79690 79691 Reviewed by Adele Peterson. 79692 79693 * html/HTMLMediaElement.cpp: 79694 (WebCore::HTMLMediaElement::recalcStyle): New, call renderer()->updateFromElement to stay 79695 in sync with visibility changes 79696 * html/HTMLMediaElement.h: 79697 * rendering/RenderMedia.cpp: 79698 (WebCore::RenderMedia::RenderMedia): initialize m_previousVisible 79699 (WebCore::RenderMedia::updateControlVisibility): consider style()->visibility() when determining 79700 if element is visible or not. Don't animate controller visibility when change triggered by 79701 showing or hiding media element. 79702 * rendering/RenderMedia.h: declare m_previousVisible 79703 79704 2008-10-09 Timothy Hatcher <timothy (a] apple.com> 79705 79706 Annotate the Objective-C DOM APIs with the JavaScriptCore/WebKitAvailability.h 79707 availability macros and version macros. 79708 79709 https://bugs.webkit.org/show_bug.cgi?id=21496 79710 rdar://problem/6259225 79711 79712 Reviewed by Sam Weinig. 79713 79714 * bindings/objc/DOMCSS.h: Add a version #if around catgory interface. 79715 * bindings/objc/DOMEventException.h: Include JavaScriptCore/WebKitAvailability.h 79716 and add an #if around the enum. 79717 * bindings/objc/DOMException.h: Ditto. Give the enum a name and remove the 79718 comment to match the other headers. 79719 * bindings/objc/DOMExtensions.h: Annotate the methods with version 3.0 or later. 79720 * bindings/objc/DOMObject.h: Add a version #if around class interface. 79721 * bindings/objc/DOMRangeException.h: Include JavaScriptCore/WebKitAvailability.h 79722 and add a version #if around the enum. 79723 * bindings/objc/DOMSVGException.h: Ditto. Use the latest version since SVG is new. 79724 * bindings/objc/DOMXPathException.h: Ditto. Use the 3.0 version. 79725 * bindings/objc/PublicDOMInterfaces.h: Annotate classes and protocols for 79726 when they where added to WebKit. Also annotate individual methods that are 79727 deprecated or where added after the class was added to WebKit. 79728 * bindings/objc/WebScriptObject.h: Include JavaScriptCore/WebKitAvailability.h 79729 since this header is included by most DOM headers. Annotate the JSObject method. 79730 79731 * bindings/scripts/CodeGeneratorObjC.pm: 79732 (ReadPublicInterfaces): Parse out the availability macro for each function/property. 79733 And parse out the availability version for the class/protocol. Default to 79734 WEBKIT_VERSION_LATEST if the class is new. 79735 (GenerateHeader): Include JavaScriptCore/WebKitAvailability.h if needed. Add the 79736 interface availability version check if the class has a required version. Create 79737 a public interface key (used to lookup in $publicInterfaces) and make a declaration 79738 suffix that includes the availability macro (if needed). Use the "available in 1.3 79739 and later but deprecated in 3.0" macro instead of "deprecated in 10.5 and later" as 79740 the default availability macro for old style methods. Tweak line breaks in the generated 79741 headers to look good and not have too many extra lines. 79742 79743 2008-10-09 Simon Fraser <simon.fraser (a] apple.com> 79744 79745 Reviewed by Dave Hyatt 79746 79747 https://bugs.webkit.org/show_bug.cgi?id=20947 79748 79749 Refactor setStyle() methods into styleWillChange() 79750 and styleDidChange(), so most of the setStyle() overrides can 79751 be removed. 79752 79753 * rendering/RenderBR.cpp: 79754 (WebCore::RenderBR::styleDidChange): 79755 * rendering/RenderBR.h: 79756 * rendering/RenderBlock.cpp: 79757 (WebCore::RenderBlock::styleWillChange): 79758 (WebCore::RenderBlock::styleDidChange): 79759 * rendering/RenderBlock.h: 79760 * rendering/RenderBox.cpp: 79761 (WebCore::RenderBox::~RenderBox): 79762 (WebCore::RenderBox::destroy): 79763 (WebCore::RenderBox::styleWillChange): 79764 (WebCore::RenderBox::styleDidChange): 79765 * rendering/RenderBox.h: 79766 * rendering/RenderButton.cpp: 79767 (WebCore::RenderButton::styleWillChange): 79768 (WebCore::RenderButton::styleDidChange): 79769 * rendering/RenderButton.h: 79770 * rendering/RenderFieldset.cpp: 79771 (WebCore::RenderFieldset::styleDidChange): 79772 * rendering/RenderFieldset.h: 79773 * rendering/RenderFileUploadControl.cpp: 79774 (WebCore::RenderFileUploadControl::styleDidChange): 79775 * rendering/RenderFileUploadControl.h: 79776 * rendering/RenderInline.cpp: 79777 (WebCore::RenderInline::styleDidChange): 79778 * rendering/RenderInline.h: 79779 * rendering/RenderLayer.cpp: 79780 (WebCore::RenderLayer::styleChanged): 79781 * rendering/RenderLayer.h: 79782 * rendering/RenderListBox.cpp: 79783 (WebCore::RenderListBox::styleDidChange): 79784 * rendering/RenderListBox.h: 79785 * rendering/RenderListItem.cpp: 79786 (WebCore::RenderListItem::styleDidChange): 79787 * rendering/RenderListItem.h: 79788 * rendering/RenderListMarker.cpp: 79789 (WebCore::RenderListMarker::styleWillChange): 79790 (WebCore::RenderListMarker::styleDidChange): 79791 * rendering/RenderListMarker.h: 79792 * rendering/RenderMenuList.cpp: 79793 (WebCore::RenderMenuList::styleDidChange): 79794 * rendering/RenderMenuList.h: 79795 * rendering/RenderObject.cpp: 79796 (WebCore::RenderObject::setStyle): 79797 (WebCore::RenderObject::setStyleInternal): 79798 (WebCore::RenderObject::styleWillChange): 79799 (WebCore::RenderObject::styleDidChange): 79800 * rendering/RenderObject.h: 79801 * rendering/RenderReplaced.cpp: 79802 (WebCore::RenderReplaced::styleDidChange): 79803 * rendering/RenderReplaced.h: 79804 * rendering/RenderSVGGradientStop.cpp: 79805 (WebCore::RenderSVGGradientStop::styleDidChange): 79806 * rendering/RenderSVGGradientStop.h: 79807 * rendering/RenderScrollbarPart.cpp: 79808 (WebCore::RenderScrollbarPart::styleDidChange): 79809 * rendering/RenderScrollbarPart.h: 79810 * rendering/RenderSlider.cpp: 79811 (WebCore::RenderSlider::styleDidChange): 79812 * rendering/RenderSlider.h: 79813 * rendering/RenderTable.cpp: 79814 (WebCore::RenderTable::styleDidChange): 79815 * rendering/RenderTable.h: 79816 * rendering/RenderTableCell.cpp: 79817 (WebCore::RenderTableCell::styleWillChange): 79818 (WebCore::RenderTableCell::styleDidChange): 79819 * rendering/RenderTableCell.h: 79820 * rendering/RenderTableRow.cpp: 79821 (WebCore::RenderTableRow::styleWillChange): 79822 * rendering/RenderTableRow.h: 79823 * rendering/RenderText.cpp: 79824 (WebCore::RenderText::styleDidChange): 79825 * rendering/RenderText.h: 79826 * rendering/RenderTextControl.cpp: 79827 (WebCore::RenderTextControl::styleDidChange): 79828 * rendering/RenderTextControl.h: 79829 * rendering/RenderWidget.cpp: 79830 (WebCore::RenderWidget::styleDidChange): 79831 * rendering/RenderWidget.h: 79832 79833 2008-10-09 David Hyatt <hyatt (a] apple.com> 79834 79835 Make sure to destroy a custom scrollbar's RenderObjects before the arena goes away. When our widget 79836 parent is nulled out is a good time. 79837 79838 Reviewed by Oliver Hunt 79839 79840 * rendering/RenderScrollbar.cpp: 79841 (WebCore::RenderScrollbar::~RenderScrollbar): 79842 (WebCore::RenderScrollbar::setParent): 79843 (WebCore::RenderScrollbar::updateScrollbarPart): 79844 * rendering/RenderScrollbar.h: 79845 79846 2008-10-09 David Hyatt <hyatt (a] apple.com> 79847 79848 https://bugs.webkit.org/show_bug.cgi?id=21446 79849 79850 This patch gets CSS scrollbars up and limping. There's no way to distinguish between states or between 79851 orientation and back vs. forward on the buttons, but it's a start. 79852 79853 Reviewed by Oliver Hunt 79854 79855 Added scrollbars/basic-scrollbar.html 79856 79857 * WebCore.xcodeproj/project.pbxproj: 79858 * css/CSSSelector.cpp: 79859 (WebCore::CSSSelector::extractPseudoType): 79860 * css/CSSSelector.h: 79861 (WebCore::CSSSelector::): 79862 * css/CSSStyleSelector.cpp: 79863 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 79864 * platform/ScrollTypes.h: 79865 (WebCore::): 79866 * platform/Scrollbar.h: 79867 (WebCore::Scrollbar::styleChanged): 79868 * platform/ScrollbarThemeComposite.cpp: 79869 (WebCore::ScrollbarThemeComposite::paint): 79870 (WebCore::ScrollbarThemeComposite::splitTrack): 79871 * platform/ScrollbarThemeComposite.h: 79872 (WebCore::ScrollbarThemeComposite::paintScrollbarBackground): 79873 (WebCore::ScrollbarThemeComposite::paintTrackBackground): 79874 (WebCore::ScrollbarThemeComposite::paintTrackPiece): 79875 * platform/win/ScrollbarThemeSafari.cpp: 79876 (WebCore::ScrollbarThemeSafari::paintTrackBackground): 79877 * platform/win/ScrollbarThemeSafari.h: 79878 * platform/win/ScrollbarThemeWin.cpp: 79879 (WebCore::ScrollbarThemeWin::paintTrack): 79880 * platform/win/ScrollbarThemeWin.h: 79881 * rendering/RenderLayer.cpp: 79882 (WebCore::RenderLayer::createScrollbar): 79883 (WebCore::RenderLayer::styleChanged): 79884 * rendering/RenderScrollbar.cpp: Added. 79885 (WebCore::RenderScrollbar::createCustomScrollbar): 79886 (WebCore::RenderScrollbar::RenderScrollbar): 79887 (WebCore::RenderScrollbar::~RenderScrollbar): 79888 (WebCore::RenderScrollbar::getScrollbarPseudoStyle): 79889 (WebCore::RenderScrollbar::updateScrollbarParts): 79890 (WebCore::RenderScrollbar::updateScrollbarPart): 79891 (WebCore::RenderScrollbar::paintPart): 79892 (WebCore::RenderScrollbar::buttonRect): 79893 (WebCore::RenderScrollbar::minimumThumbLength): 79894 * rendering/RenderScrollbar.h: Added. 79895 (WebCore::RenderScrollbar::styleChanged): 79896 (WebCore::RenderScrollbar::owningRenderer): 79897 * rendering/RenderScrollbarPart.cpp: Added. 79898 (WebCore::RenderScrollbarPart::RenderScrollbarPart): 79899 (WebCore::RenderScrollbarPart::~RenderScrollbarPart): 79900 (WebCore::RenderScrollbarPart::layout): 79901 (WebCore::RenderScrollbarPart::layoutHorizontalPart): 79902 (WebCore::RenderScrollbarPart::layoutVerticalPart): 79903 (WebCore::calcScrollbarThicknessUsing): 79904 (WebCore::RenderScrollbarPart::computeScrollbarWidth): 79905 (WebCore::RenderScrollbarPart::computeScrollbarHeight): 79906 (WebCore::RenderScrollbarPart::calcPrefWidths): 79907 (WebCore::RenderScrollbarPart::setStyle): 79908 * rendering/RenderScrollbarPart.h: Added. 79909 (WebCore::RenderScrollbarPart::renderName): 79910 (WebCore::RenderScrollbarPart::requiresLayer): 79911 * rendering/RenderScrollbarTheme.cpp: Added. 79912 (WebCore::RenderScrollbarTheme::renderScrollbarTheme): 79913 (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis): 79914 (WebCore::RenderScrollbarTheme::hasButtons): 79915 (WebCore::RenderScrollbarTheme::hasThumb): 79916 (WebCore::RenderScrollbarTheme::minimumThumbLength): 79917 (WebCore::RenderScrollbarTheme::backButtonRect): 79918 (WebCore::RenderScrollbarTheme::forwardButtonRect): 79919 (WebCore::RenderScrollbarTheme::trackRect): 79920 (WebCore::RenderScrollbarTheme::paintScrollCorner): 79921 (WebCore::RenderScrollbarTheme::paintScrollbarBackground): 79922 (WebCore::RenderScrollbarTheme::paintTrackBackground): 79923 (WebCore::RenderScrollbarTheme::paintTrackPiece): 79924 (WebCore::RenderScrollbarTheme::paintButton): 79925 (WebCore::RenderScrollbarTheme::paintThumb): 79926 * rendering/RenderScrollbarTheme.h: Added. 79927 (WebCore::RenderScrollbarTheme::~RenderScrollbarTheme): 79928 (WebCore::RenderScrollbarTheme::scrollbarThickness): 79929 (WebCore::RenderScrollbarTheme::buttonsPlacement): 79930 (WebCore::RenderScrollbarTheme::supportsControlTints): 79931 (WebCore::RenderScrollbarTheme::shouldCenterOnThumb): 79932 (WebCore::RenderScrollbarTheme::initialAutoscrollTimerDelay): 79933 (WebCore::RenderScrollbarTheme::autoscrollTimerDelay): 79934 (WebCore::RenderScrollbarTheme::registerScrollbar): 79935 (WebCore::RenderScrollbarTheme::unregisterScrollbar): 79936 * rendering/style/RenderStyle.h: 79937 (WebCore::RenderStyle::): 79938 79939 2008-10-09 Eric Seidel <eric (a] webkit.org> 79940 79941 Reviewed by Oliver Hunt. 79942 79943 Fix Canvex DOOM Game 79944 Gradient clips were not getting cleared after filling the 79945 gradient, this was causing nothing to draw in Canvex 79946 https://bugs.webkit.org/show_bug.cgi?id=21498 79947 79948 Tests forthcoming. 79949 79950 * WebCore.xcodeproj/project.pbxproj: 79951 * platform/graphics/cg/GraphicsContextCG.cpp: 79952 (WebCore::GraphicsContext::fillPath): 79953 (WebCore::GraphicsContext::strokePath): 79954 (WebCore::GraphicsContext::fillRect): 79955 79956 2008-10-09 Eric Seidel <eric (a] webkit.org> 79957 79958 Reviewed by Oliver Hunt. 79959 79960 Fix transformed patterns 79961 https://bugs.webkit.org/show_bug.cgi?id=21498 79962 79963 Test: fast/canvas/patternfill-repeat.html 79964 79965 * WebCore.xcodeproj/project.pbxproj: 79966 * platform/graphics/GraphicsContext.cpp: 79967 (WebCore::GraphicsContext::setStrokePattern): 79968 (WebCore::GraphicsContext::setFillPattern): 79969 (WebCore::GraphicsContext::setStrokeGradient): 79970 (WebCore::GraphicsContext::setFillGradient): 79971 * platform/graphics/GraphicsContext.h: 79972 * platform/graphics/cairo/GraphicsContextCairo.cpp: 79973 * platform/graphics/cg/GraphicsContextCG.cpp: 79974 (WebCore::applyStrokePattern): 79975 (WebCore::applyFillPattern): 79976 (WebCore::GraphicsContext::drawPath): 79977 (WebCore::GraphicsContext::fillPath): 79978 (WebCore::GraphicsContext::strokePath): 79979 (WebCore::GraphicsContext::fillRect): 79980 * platform/graphics/qt/GraphicsContextQt.cpp: 79981 * platform/graphics/wx/GraphicsContextWx.cpp: 79982 79983 2008-10-09 Kevin Ollivier <kevino (a] theolliviers.com> 79984 79985 wx build fixes. 79986 79987 * platform/wx/WidgetWx.cpp: 79988 * plugins/wx/PluginViewWx.cpp: 79989 (WebCore::PluginView::invalidateRect): 79990 * webcore-base.bkl: 79991 79992 2008-10-09 Chris Marrin <cmarrin (a] apple.com> 79993 79994 Reviewed by Darin Adler. 79995 79996 Fix for https://bugs.webkit.org/show_bug.cgi?id=21217 79997 Animations assert when navigating from page 79998 79999 Changed assertions to test the right flag for the paused state 80000 80001 * page/animation/AnimationBase.cpp: 80002 (WebCore::AnimationBase::updateStateMachine): 80003 80004 2008-10-09 Chris Marrin <cmarrin (a] apple.com> 80005 80006 Reviewed by Dan Bernstein. 80007 80008 Fixed > 180 degree rotation bug 80009 Ensure that validateTransformFunctionList() is called after updating keyframe styles 80010 80011 https://bugs.webkit.org/show_bug.cgi?id=21420 80012 80013 Test: animations/big-rotation.html 80014 80015 * page/animation/KeyframeAnimation.cpp: 80016 (WebCore::KeyframeAnimation::KeyframeAnimation): 80017 80018 2008-10-09 Brady Eidson <beidson (a] apple.com> 80019 80020 Reviewed by Anders 80021 80022 <rdar://problem/6250856> - Calling [WebView close] from within a redirection callback can cause bad things 80023 80024 The API usage to reveal this crash was so particular that a layout test is not possible with our current infrastructure. 80025 80026 * loader/FrameLoader.cpp: 80027 (WebCore::FrameLoader::changeLocation): Protect the Frame from deletion 80028 (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): stopAllLoaders() might clear the Frame's page, 80029 so perform a second null check on the page. Bail if it has been cleared. 80030 80031 2008-10-09 Alp Toker <alp (a] nuanti.com> 80032 80033 Build fix for recent DOM generation Makefile changes when custom 80034 CFLAGS/CXXFLAGS are passed in. 80035 80036 * GNUmakefile.am: 80037 80038 2008-10-09 Jan Michael Alonzo <jmalonzo (a] webkit.org> 80039 80040 Reviewed by Alp Toker. 80041 80042 https://bugs.webkit.org/show_bug.cgi?id=21390 80043 [Gtk] Linux/Gtk: GtkLauncher crashes on Acid3 (but after test 80 this time) 80044 80045 * platform/gtk/ScrollViewGtk.cpp: 80046 (WebCore::ScrollView::platformRemoveChild): 80047 80048 2008-10-09 Darin Adler <darin (a] apple.com> 80049 80050 - try to fix Qt build 80051 80052 * bridge/qt/qt_runtime.cpp: 80053 (JSC::Bindings::convertQVariantToValue): Pass JSGlobalData instead of ExecState to RegExp constructor. 80054 80055 2008-10-08 Nikolas Zimmermann <zimmermann (a] kde.org> 80056 80057 Reviewed by Oliver Hunt & Sam Weinig. 80058 80059 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15413 (SVGElementInstance does not implement EventTarget) 80060 Fixes: https://bugs.webkit.org/show_bug.cgi?id=15430 (SVGElementInstances should rebuild themselves lazily) 80061 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20550 (SVGUseElement.setAttribute crashes Safari) 80062 80063 Rebuild SVG use element shadow tree lazily. Mark SVGElementInstance with the "needsUpdate" flag. 80064 Next time SVGUseElement::recalcStyle is invoked (ie. via Document::updateDocumentsRendering()) the 80065 use tree is rebuild. 80066 80067 Make SVGElementInstance a real EventTarget, as the SVG specification demands. 80068 When dispatching events to a shadow tree element of a use element, the associated SVGElementInstance 80069 is used as event target. The SVGElementInstance, the shadow tree element and the corresponding element 80070 share an event listener list. Every event listener change on the SVGElementInstance object is forwared 80071 to the corresponding element. Each change marks the SVGElementInstance tree dirty, and causes a reclone. 80072 Each event listener defined via attributes (onclick/onkeydown/...) is copied from the correspondingElement 80073 to the shadow tree element - through the cloneNode calls - if the use element's shadow tree gets rebuild. 80074 Each listener, dynamically created using addEventListener, gets copied to the corersponding element as well. 80075 80076 Now that the target/currentTarget properties of the Events are correct, event bubbling works as expected, 80077 see resources/use-instanceRoot-event-bubbling.js for details. 80078 80079 Tests: svg/custom/use-elementInstance-event-target.svg (reenabled) 80080 svg/custom/use-elementInstance-methods.svg (reenabled) 80081 svg/custom/use-setAttribute-crash.svg (covers bug 20550) 80082 svg/custom/use-instanceRoot-as-event-target.xhtml (covers bug 15413) 80083 svg/custom/use-instanceRoot-event-bubbling.xhtml (covers bug 15413) 80084 svg/custom/use-instanceRoot-event-listeners.xhtml (covers bug 15413 & 15430) 80085 80086 * DerivedSources.make: 80087 * GNUmakefile.am: 80088 * WebCore.pro: 80089 * WebCore.vcproj/WebCore.vcproj: 80090 * WebCore.xcodeproj/project.pbxproj: 80091 * bindings/js/JSEventListener.h: 80092 (WebCore::JSLazyEventListener::wasCreatedFromMarkup): 80093 * bindings/js/JSEventTarget.cpp: 80094 * bindings/js/JSEventTargetSVGElementInstance.cpp: Removed. 80095 * bindings/js/JSEventTargetSVGElementInstance.h: Removed. 80096 * bindings/js/JSSVGElementInstanceCustom.cpp: 80097 (WebCore::JSSVGElementInstance::addEventListener): 80098 (WebCore::JSSVGElementInstance::removeEventListener): 80099 (WebCore::JSSVGElementInstance::pushEventHandlerScope): 80100 * bindings/scripts/CodeGeneratorJS.pm: 80101 * bindings/scripts/CodeGeneratorObjC.pm: 80102 * dom/EventListener.h: 80103 (WebCore::EventListener::wasCreatedFromMarkup): 80104 * dom/EventTargetNode.cpp: 80105 (WebCore::updateSVGElementInstancesAfterEventListenerChange): 80106 (WebCore::EventTargetNode::addEventListener): 80107 (WebCore::EventTargetNode::removeEventListener): 80108 (WebCore::eventTargetAsSVGElementInstance): 80109 (WebCore::eventTargetRespectingSVGTargetRules): 80110 (WebCore::EventTargetNode::dispatchEvent): 80111 (WebCore::EventTargetNode::dispatchGenericEvent): 80112 (WebCore::EventTargetNode::removeEventListenerForType): 80113 * page/EventHandler.cpp: 80114 (WebCore::EventHandler::clear): 80115 (WebCore::instanceAssociatedWithShadowTreeElement): 80116 (WebCore::EventHandler::updateMouseEventTargetNode): 80117 * page/EventHandler.h: 80118 * svg/EventTargetSVGElementInstance.cpp: Removed. 80119 * svg/EventTargetSVGElementInstance.h: Removed. 80120 * svg/SVGElementInstance.cpp: 80121 (WebCore::SVGElementInstance::SVGElementInstance): 80122 (WebCore::SVGElementInstance::~SVGElementInstance): 80123 (WebCore::SVGElementInstance::childNodes): 80124 (WebCore::SVGElementInstance::setShadowTreeElement): 80125 (WebCore::SVGElementInstance::forgetWrapper): 80126 (WebCore::SVGElementInstance::appendChild): 80127 (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): 80128 (WebCore::SVGElementInstance::setNeedsUpdate): 80129 (WebCore::SVGElementInstance::associatedFrame): 80130 (WebCore::SVGElementInstance::addEventListener): 80131 (WebCore::SVGElementInstance::removeEventListener): 80132 (WebCore::SVGElementInstance::dispatchEvent): 80133 (WebCore::SVGElementInstance::onabort): 80134 (WebCore::SVGElementInstance::setOnabort): 80135 (WebCore::SVGElementInstance::onblur): 80136 (WebCore::SVGElementInstance::setOnblur): 80137 (WebCore::SVGElementInstance::onchange): 80138 (WebCore::SVGElementInstance::setOnchange): 80139 (WebCore::SVGElementInstance::onclick): 80140 (WebCore::SVGElementInstance::setOnclick): 80141 (WebCore::SVGElementInstance::oncontextmenu): 80142 (WebCore::SVGElementInstance::setOncontextmenu): 80143 (WebCore::SVGElementInstance::ondblclick): 80144 (WebCore::SVGElementInstance::setOndblclick): 80145 (WebCore::SVGElementInstance::onerror): 80146 (WebCore::SVGElementInstance::setOnerror): 80147 (WebCore::SVGElementInstance::onfocus): 80148 (WebCore::SVGElementInstance::setOnfocus): 80149 (WebCore::SVGElementInstance::oninput): 80150 (WebCore::SVGElementInstance::setOninput): 80151 (WebCore::SVGElementInstance::onkeydown): 80152 (WebCore::SVGElementInstance::setOnkeydown): 80153 (WebCore::SVGElementInstance::onkeypress): 80154 (WebCore::SVGElementInstance::setOnkeypress): 80155 (WebCore::SVGElementInstance::onkeyup): 80156 (WebCore::SVGElementInstance::setOnkeyup): 80157 (WebCore::SVGElementInstance::onload): 80158 (WebCore::SVGElementInstance::setOnload): 80159 (WebCore::SVGElementInstance::onmousedown): 80160 (WebCore::SVGElementInstance::setOnmousedown): 80161 (WebCore::SVGElementInstance::onmousemove): 80162 (WebCore::SVGElementInstance::setOnmousemove): 80163 (WebCore::SVGElementInstance::onmouseout): 80164 (WebCore::SVGElementInstance::setOnmouseout): 80165 (WebCore::SVGElementInstance::onmouseover): 80166 (WebCore::SVGElementInstance::setOnmouseover): 80167 (WebCore::SVGElementInstance::onmouseup): 80168 (WebCore::SVGElementInstance::setOnmouseup): 80169 (WebCore::SVGElementInstance::onmousewheel): 80170 (WebCore::SVGElementInstance::setOnmousewheel): 80171 (WebCore::SVGElementInstance::onbeforecut): 80172 (WebCore::SVGElementInstance::setOnbeforecut): 80173 (WebCore::SVGElementInstance::oncut): 80174 (WebCore::SVGElementInstance::setOncut): 80175 (WebCore::SVGElementInstance::onbeforecopy): 80176 (WebCore::SVGElementInstance::setOnbeforecopy): 80177 (WebCore::SVGElementInstance::oncopy): 80178 (WebCore::SVGElementInstance::setOncopy): 80179 (WebCore::SVGElementInstance::onbeforepaste): 80180 (WebCore::SVGElementInstance::setOnbeforepaste): 80181 (WebCore::SVGElementInstance::onpaste): 80182 (WebCore::SVGElementInstance::setOnpaste): 80183 (WebCore::SVGElementInstance::ondragenter): 80184 (WebCore::SVGElementInstance::setOndragenter): 80185 (WebCore::SVGElementInstance::ondragover): 80186 (WebCore::SVGElementInstance::setOndragover): 80187 (WebCore::SVGElementInstance::ondragleave): 80188 (WebCore::SVGElementInstance::setOndragleave): 80189 (WebCore::SVGElementInstance::ondrop): 80190 (WebCore::SVGElementInstance::setOndrop): 80191 (WebCore::SVGElementInstance::ondragstart): 80192 (WebCore::SVGElementInstance::setOndragstart): 80193 (WebCore::SVGElementInstance::ondrag): 80194 (WebCore::SVGElementInstance::setOndrag): 80195 (WebCore::SVGElementInstance::ondragend): 80196 (WebCore::SVGElementInstance::setOndragend): 80197 (WebCore::SVGElementInstance::onreset): 80198 (WebCore::SVGElementInstance::setOnreset): 80199 (WebCore::SVGElementInstance::onresize): 80200 (WebCore::SVGElementInstance::setOnresize): 80201 (WebCore::SVGElementInstance::onscroll): 80202 (WebCore::SVGElementInstance::setOnscroll): 80203 (WebCore::SVGElementInstance::onsearch): 80204 (WebCore::SVGElementInstance::setOnsearch): 80205 (WebCore::SVGElementInstance::onselect): 80206 (WebCore::SVGElementInstance::setOnselect): 80207 (WebCore::SVGElementInstance::onselectstart): 80208 (WebCore::SVGElementInstance::setOnselectstart): 80209 (WebCore::SVGElementInstance::onsubmit): 80210 (WebCore::SVGElementInstance::setOnsubmit): 80211 (WebCore::SVGElementInstance::onunload): 80212 (WebCore::SVGElementInstance::setOnunload): 80213 * svg/SVGElementInstance.h: 80214 (WebCore::SVGElementInstance::needsUpdate): 80215 (WebCore::SVGElementInstance::toNode): 80216 (WebCore::SVGElementInstance::toSVGElementInstance): 80217 (WebCore::SVGElementInstance::correspondingElement): 80218 (WebCore::SVGElementInstance::correspondingUseElement): 80219 (WebCore::SVGElementInstance::shadowTreeElement): 80220 (WebCore::SVGElementInstance::parentNode): 80221 (WebCore::SVGElementInstance::previousSibling): 80222 (WebCore::SVGElementInstance::nextSibling): 80223 (WebCore::SVGElementInstance::firstChild): 80224 (WebCore::SVGElementInstance::lastChild): 80225 (WebCore::SVGElementInstance::ownerDocument): 80226 (WebCore::SVGElementInstance::hasChildNodes): 80227 (WebCore::SVGElementInstance::setFirstChild): 80228 (WebCore::SVGElementInstance::setLastChild): 80229 (WebCore::SVGElementInstance::setNextSibling): 80230 (WebCore::SVGElementInstance::setPreviousSibling): 80231 (WebCore::SVGElementInstance::refEventTarget): 80232 (WebCore::SVGElementInstance::derefEventTarget): 80233 * svg/SVGElementInstance.idl: 80234 * svg/SVGStyledElement.cpp: 80235 (WebCore::SVGStyledElement::svgAttributeChanged): 80236 (WebCore::SVGStyledElement::childrenChanged): 80237 * svg/SVGUseElement.cpp: 80238 (WebCore::SVGUseElement::svgAttributeChanged): 80239 (WebCore::shadowTreeContainsChangedNodes): 80240 (WebCore::SVGUseElement::recalcStyle): 80241 (WebCore::dumpInstanceTree): 80242 (WebCore::SVGUseElement::buildPendingResource): 80243 (WebCore::SVGUseElement::buildInstanceTree): 80244 (WebCore::SVGUseElement::transferEventListenersToShadowTree): 80245 * svg/SVGUseElement.h: 80246 80247 2008-10-08 Sam Weinig <sam (a] webkit.org> 80248 80249 Reviewed by Cameron Zwarich. 80250 80251 Fix for https://bugs.webkit.org/show_bug.cgi?id=21241 80252 REGRESSION (r36977): getRGBColorValue().red returning incorrect value 80253 80254 Update JSRGBColor to use the new static function per getter approach. 80255 80256 Test: fast/dom/css-RGBValue.html 80257 80258 * bindings/js/JSRGBColor.cpp: 80259 (WebCore::): 80260 (jsRGBColorRed): 80261 (jsRGBColorGreen): 80262 (jsRGBColorBlue): 80263 * bindings/js/JSRGBColor.h: 80264 80265 2008-10-08 Eric Seidel <eric (a] webkit.org> 80266 80267 Reviewed by Darin Adler, Nikolas Zimmermann and Dave Hyatt. 80268 80269 svgElement.className.baseValue = "foo" does not work 80270 https://bugs.webkit.org/show_bug.cgi?id=20651 80271 80272 * dom/StyledElement.cpp: 80273 (WebCore::StyledElement::classAttributeChanged): 80274 (WebCore::StyledElement::parseMappedAttribute): 80275 * dom/StyledElement.h: 80276 * svg/SVGStyledElement.cpp: 80277 (WebCore::SVGStyledElement::svgAttributeChanged): 80278 80279 2008-10-08 Anthony Ricaud <rik24d (a] gmail.com> 80280 80281 Make the toolbar label text-shadow not disappear when clicking on the 80282 search result count or around the search field. 80283 80284 Reviewed by Timothy Hatcher. 80285 80286 * inspector/front-end/inspector.css: 80287 (.toolbar-item:active .toolbar-label): Make this rule also require the 80288 toggleable class with the toolbar-item class. 80289 80290 2008-10-08 Tor Arne Vestb <tavestbo (a] trolltech.com> 80291 80292 Reviewed by Simon. 80293 80294 Updated the qrc file for the Web Inspector to contain the current set 80295 of images. 80296 80297 * inspector/front-end/WebKit.qrc: 80298 80299 2008-10-08 Prasanth Ullattil <pullatti (a] trolltech.com> 80300 80301 Reviewed by Simon. 80302 80303 Fix the linking of applications against WebKit on Qt/Windows. 80304 80305 The prl files that qmake creates are buggy on Unix, but we they're 80306 fine on Windows and we have to have them there in order to get the 80307 dependencies correct. 80308 80309 * WebCore.pro: 80310 80311 2008-10-08 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 80312 80313 Reviewed by Simon. 80314 80315 Speed up rectangle filling by not re-creating a QBrush all the time. 80316 80317 This triggers faster path in QPainter where the brush is reused. 80318 80319 * platform/graphics/qt/GraphicsContextQt.cpp: 80320 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 80321 (WebCore::GraphicsContext::fillRect): 80322 80323 2008-10-08 Thiago Macieira <thiago.macieira (a] nokia.com> 80324 80325 Reviewed by Simon. 80326 80327 Fixes: Encoding of Qt URLs 80328 80329 This encoding was added by Simon and I because QUrl's 80330 tolerant parser wasn't tolerant enough. Now it is, so we don't need 80331 this anymore. 80332 80333 * platform/qt/KURLQt.cpp: 80334 (WebCore::KURL::operator QUrl): 80335 80336 2008-10-08 Marius Storm-Olsen <marius (a] trolltech.com> 80337 80338 Reviewed by Simon. 80339 80340 Fixes dependencies in qmake generated visual studio projects. 80341 80342 Only add debug lib name if we're in the debug build_pass, else the release version. 80343 The MSVC solution generator would pick up the debug javascriptcore lib as a dependency. 80344 80345 * WebCore.pro: 80346 80347 2008-10-08 Prasanth Ullattil <pullatti (a] trolltech.com> 80348 80349 Reviewed by Simon. 80350 80351 Fix compilation errors on VS2008 64Bit 80352 80353 * platform/text/TextStream.cpp: 80354 (WebCore::TextStream::operator<<): 80355 * platform/text/TextStream.h: 80356 * plugins/win/PluginViewWin.cpp: 80357 (WebCore::PluginView::init): 80358 80359 2008-10-07 Alp Toker <alp (a] nuanti.com> 80360 80361 GTK+ build fix for older automake versions (1.7). Discussed in bug 80362 #21392. 80363 80364 * GNUmakefile.am: 80365 80366 2008-10-07 Anders Carlsson <andersca (a] apple.com> 80367 80368 Reviewed by Antti Koivisto. 80369 80370 <rdar://problem/6273887> Crash in ApplicationCacheGroup 80371 80372 Make sure to stop loading even before a cache update is in progress so that the 80373 manifest load will be stopped. 80374 80375 * loader/appcache/ApplicationCacheGroup.cpp: 80376 (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup): 80377 (WebCore::ApplicationCacheGroup::stopLoading): 80378 (WebCore::ApplicationCacheGroup::cacheUpdateFailed): 80379 80380 2008-10-07 Timothy Hatcher <timothy (a] apple.com> 80381 80382 Auto-generate DOMDocument's createNodeIterator: and createTreeWalker: methods. 80383 80384 https://bugs.webkit.org/show_bug.cgi?id=21433 80385 80386 Reviewed by Sam Weinig. 80387 80388 * WebCore.xcodeproj/project.pbxproj: Add ObjCNodeFilterCondition.{mm,h}. 80389 * bindings/objc/DOM.mm: Remove previous category implementations 80390 on DOMDocument for createNodeIterator: and createTreeWalker:. Also 80391 moves ObjCNodeFilterCondition to its own file. 80392 * bindings/objc/DOMTraversal.h: Remove the category methods that added 80393 createNodeIterator: and createTreeWalker: to DOMDocument. This is fine 80394 to do since DOmDocument.h is included still, and has these methods. 80395 * bindings/objc/DOMUtility.mm: 80396 (JSC::createDOMWrapper): Remove special case for JSNodeIterator and 80397 JSTreeWalker now that the ObjC binding conforms to the standard wrap. 80398 * bindings/objc/ObjCNodeFilterCondition.h: Split out from DOM.mm. 80399 (WebCore::ObjCNodeFilterCondition::create): Moved from DOM.mm. 80400 (WebCore::ObjCNodeFilterCondition::ObjCNodeFilterCondition): Ditto. 80401 * bindings/objc/ObjCNodeFilterCondition.mm: Split out from DOM.mm. 80402 (WebCore::ObjCNodeFilterCondition::acceptNode): Moved from DOM.mm. 80403 * bindings/objc/PublicDOMInterfaces.h: Add the createNodeIterator: and 80404 createTreeWalker: methods to DOMDocument. 80405 * bindings/scripts/CodeGeneratorObjC.pm: 80406 (GetObjCTypeGetter): Add a case for NodeFilter. 80407 (AddIncludesForType): Include ObjCNodeFilterCondition.h for NodeFilter. 80408 (GenerateImplementation): Remove existing NodeFilter special case that 80409 used the m_filter member variable. Add a new special getter for protocol 80410 types that aren't EventTarget, so the right class is used for NodeFilter. 80411 Add a special case for NodeFilter where it creates an ObjCNodeFilterCondition. 80412 * dom/Document.idl: Remove the #ifdef LANGUAGE_OBJECTIVE_C. Add the 80413 OldStyleObjC extended attribute to createNodeIterator and createTreeWalker. 80414 Rename the entityReferenceExpansion parameter to expandEntityReferences to 80415 match the previous ObjC API. 80416 * dom/NodeIterator.idl: Remove ObjCIvar from the filter attribute. The 80417 m_filter member variable was never used in practice, it was always nil! 80418 We can remove it and not pad the object because this can't be subclassed. 80419 * dom/TreeWalker.idl: Ditto. 80420 80421 2008-10-07 Timothy Hatcher <timothy (a] apple.com> 80422 80423 Auto-generate the DOMEventTarget protocol implementation for 80424 DOMNode and DOMSVGElementInstance. 80425 80426 https://bugs.webkit.org/show_bug.cgi?id=21432 80427 80428 Reviewed by Darin Adler. 80429 80430 * WebCore.xcodeproj/project.pbxproj: Add ObjCEventListener.{mm,h}. 80431 * bindings/objc/DOM.mm: Remove many unneeded header includes. Move 80432 ObjCEventListener to it's own file. Remove the manual impelmentations 80433 of the DOMEventTarget protocol for DOMNode and DOMSVGElementInstance. 80434 * bindings/objc/DOMEvents.h: Remove the categories that defined 80435 DOMEventTarget for DOMNode and DOMSVGElementInstance. 80436 * bindings/objc/ObjCEventListener.h: Split out from DOM.mm. 80437 * bindings/objc/ObjCEventListener.mm: Split out from DOM.mm. 80438 (WebCore::ObjCEventListener::find): Moved from DOM.mm. 80439 (WebCore::ObjCEventListener::wrap): Use PassRefPtr to prevent the 80440 callers from doing a manual deref. 80441 (WebCore::ObjCEventListener::ObjCEventListener): Moved from DOM.mm. 80442 (WebCore::ObjCEventListener::~ObjCEventListener): Ditto. 80443 * bindings/scripts/CodeGeneratorObjC.pm: 80444 (GetObjCTypeGetter): Add a case for EventListener and use WTF::getPtr. 80445 (AddIncludesForType): Include ObjCEventListener.h for EventListener. 80446 And include EventTargetSVGElementInstance.h for SVGElementInstance. 80447 (GenerateHeader): Remove the check for multiple parents. 80448 (GenerateImplementation): Remove the check for multiple parents. Remove 80449 the @deprecatedFunctions array since deprecated methods get generated 80450 into the main @interface now to work with protocols. Add support 80451 for the EventTargetNodeCast extended attribute. Add support for 80452 EventListener parameters. 80453 * dom/Node.idl: Define superclasses for ObjC so the implementation 80454 and interface implement the DOMEventTarget protocol. Explicitly 80455 specify Object as a superclass to use DOMEventTarget. Object will turn 80456 into DOMObject. This is needed to take the code generator down the right 80457 path of multiple super-classes as protocols. It is ObjC only for legacy 80458 reasons. The event target methods are normally on NodeEventTarget, a 80459 subclass of Node. But the ObjC API has never has this subclass and 80460 they are on DOMNode. 80461 * svg/SVGElementInstance.idl: Ditto. 80462 80463 2008-10-07 David Hyatt <hyatt (a] apple.com> 80464 80465 Add new pseudo-elements and pseudo-classes that will enable scrollbars to be styled by CSS. 80466 80467 The new pseudo-elements are: 80468 scrollbar 80469 scrollbar-button 80470 scrollbar-corner 80471 scrollbar-thumb 80472 scrollbar-track 80473 80474 These elements will work with all the usual pseudo-classes (:hover, :active, :enabled, :disabled, etc.) and with 80475 the following new pseudo-classes: 80476 scrollbar-active 80477 scrollbar-back 80478 scrollbar-forward 80479 scrollbar-horizontal 80480 scrollbar-vertical 80481 80482 Reviewed by Adele 80483 80484 * css/CSSSelector.cpp: 80485 (WebCore::CSSSelector::extractPseudoType): 80486 * css/CSSSelector.h: 80487 (WebCore::CSSSelector::): 80488 80489 2008-10-06 Timothy Hatcher <timothy (a] apple.com> 80490 80491 Add support to the Resources panel for queries like "#123", "foo #123", 80492 "line: 123" and "foo line: 123". These will match the query limiting 80493 the search only to the line specified. If only a line is specified, 80494 the whole line is matched. 80495 80496 https://bugs.webkit.org/show_bug.cgi?id=21422 80497 80498 Reviewed by Darin Adler. 80499 80500 * inspector/front-end/SourceFrame.js: 80501 (WebInspector.SourceFrame.prototype.sourceRow): Don't return the last 80502 row if the index is greater than the rows collection. Let it return 80503 undefined by indexing out-of-bounds. 80504 * inspector/front-end/SourceView.js: 80505 (WebInspector.SourceView.prototype.performSearch): Add support for 80506 queries like "#123", "foo #123", "line: 123" and "foo line: 123". 80507 Also match the whole query to the whole document in case there are 80508 colors like "#333". 80509 80510 2008-10-07 Alp Toker <alp (a] nuanti.com> 80511 80512 Reviewed by Mark Rowe. 80513 80514 https://bugs.webkit.org/show_bug.cgi?id=21392 80515 [GTK] Auto-generate JS DOM binding sources list 80516 80517 Remove the huge lists of generated DOM binding sources and headers in 80518 the build system. These are difficult to maintain and can be derived 80519 automatically. 80520 80521 The new strategy is to re-use the existing lists of IDL sources (which 80522 are needed for dist support anyway). This will also ease the addition 80523 of new language bindings. 80524 80525 * GNUmakefile.am: 80526 80527 2008-10-07 Tor Arne Vestb <tavestbo (a] trolltech.com> 80528 80529 Reviewed by Simon. 80530 80531 Don't attempt to paint when updating control tints 80532 80533 We don't have a valid PlatformGraphicsContext so schedule 80534 the dirty scrollbar/scrollview area for repaint instead. 80535 80536 * platform/qt/ScrollbarThemeQt.cpp: 80537 (WebCore::ScrollbarThemeQt::paint): 80538 (WebCore::ScrollbarThemeQt::paintScrollCorner): 80539 80540 2008-10-07 Holger Hans Peter Freyther <zecke (a] selfish.org> 80541 80542 [qt] Build fix after Scrollbar.h and Widget.h changes. 80543 80544 * plugins/qt/PluginViewQt.cpp: 80545 (WebCore::PluginView::getValue): 80546 (WebCore::PluginView::init): 80547 80548 2008-10-06 David Hyatt <hyatt (a] apple.com> 80549 80550 Enable viewless Mac WebKit to (kinda sorta) paint basic pages (with no frames on them). 80551 80552 Reviewed by Sam Weinig 80553 80554 * WebCore.base.exp: 80555 * WebCore.xcodeproj/project.pbxproj: 80556 * loader/EmptyClients.h: 80557 (WebCore::EmptyFrameLoaderClient::hasWebView): 80558 * loader/FrameLoader.cpp: 80559 (WebCore::FrameLoader::loadWithDocumentLoader): 80560 (WebCore::FrameLoader::transitionToCommitted): 80561 * loader/FrameLoaderClient.h: 80562 * page/FocusController.cpp: 80563 (WebCore::FocusController::setActive): 80564 * page/FrameView.cpp: 80565 (WebCore::FrameView::FrameView): 80566 (WebCore::FrameView::init): 80567 (WebCore::FrameView::layoutIfNeededRecursive): 80568 * page/FrameView.h: 80569 80570 2008-10-06 Dan Bernstein <mitz (a] apple.com> 80571 80572 - build fix 80573 80574 * bindings/objc/DOMEvents.h: 80575 80576 2008-10-06 Mark Mentovai <mark (a] moxienet.com> 80577 80578 Reviewed by Tim Hatcher. 80579 80580 Use #if ENABLE(feature) where possible, and #if ENABLE_feature where 80581 Platform.h is not available, in preference to #ifdef ENABLE_feature. 80582 #ifdef is wrong now that features are disabled by #defining 80583 ENABLE_feature to 0. 80584 80585 https://bugs.webkit.org/show_bug.cgi?id=21338 80586 80587 * bindings/objc/DOMEvents.h: 80588 * bindings/objc/PublicDOMInterfaces.h: 80589 * dom/Document.idl: 80590 * page/DOMWindow.idl: 80591 * svg/svgtags.in: 80592 80593 2008-10-06 Mark Mentovai <mark (a] moxienet.com> 80594 80595 Reviewed by Sam Weinig. 80596 80597 * platform/network/mac/FormDataStreamMac.mm: #import <wtf/Threading.h> 80598 to get the declaration for isMainThread(). 80599 80600 2008-10-06 Jeremy Moskovich <jeremy (a] chromium.org> 80601 80602 Reviewed by Tim Hatcher. 80603 80604 WebCoreObjCExtras.c is actually an obj-c++ file, so change its name 80605 to reflect that. 80606 80607 * WebCore.xcodeproj/project.pbxproj: 80608 * platform/mac/WebCoreObjCExtras.c: Removed. 80609 * platform/mac/WebCoreObjCExtras.mm: Copied from WebCore/platform/mac/WebCoreObjCExtras.c. 80610 80611 2008-10-06 Jeremy Moskovich <jeremy (a] chromium.org> 80612 80613 Reviewed by Dan Bernstein. 80614 80615 Added C++ forward declaration for the NSURLAuthenticationChallenge class 80616 so that the m_currentMacChallenge variable doesn't cause a 80617 compilation error when ResourceHandleInternal.h is included from a C++ file. 80618 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21411 80619 80620 * platform/network/ResourceHandleInternal.h: 80621 80622 2008-10-06 Steve Falkenburg <sfalken (a] apple.com> 80623 80624 Windows build fix. 80625 80626 * WebCore.vcproj/WebCore.vcproj: 80627 80628 2008-10-06 Steve Falkenburg <sfalken (a] apple.com> 80629 80630 https://bugs.webkit.org/show_bug.cgi?id=21416 80631 Add missing null checks identified by Application Verifier. 80632 80633 Reviewed by Darin Adler. 80634 80635 * platform/win/SharedTimerWin.cpp: 80636 (WebCore::clearTimer): 80637 80638 2008-10-06 Kevin McCullough <kmccullough (a] apple.com> 80639 80640 Reviewed by Tim Hatcher. 80641 80642 Removed accidentally left in debugging statement. 80643 80644 * inspector/front-end/inspector.js: 80645 80646 2008-10-06 Kevin McCullough <kmccullough (a] apple.com> 80647 80648 Reviewed by Tim Hatcher and Oliver Hunt. 80649 80650 https://bugs.webkit.org/show_bug.cgi?id=21412 80651 Bug 21412: Refactor user initiated profile count to be more stable 80652 80653 * inspector/InspectorController.cpp: Keep track of the user-initiated 80654 profiles here now. 80655 (WebCore::InspectorController::InspectorController): 80656 (WebCore::InspectorController::startUserInitiatedProfiling): 80657 (WebCore::InspectorController::stopUserInitiatedProfiling): 80658 * inspector/InspectorController.h: 80659 The front end will now need to check for the existence of the user- 80660 initiated profile title and use its count instead of keeping its own. 80661 * inspector/front-end/ProfilesPanel.js: 80662 80663 2008-10-06 Dan Bernstein <mitz (a] apple.com> 80664 80665 Reviewed by Sam Weinig. 80666 80667 - separate GDI text drawing into its own function 80668 80669 * platform/graphics/win/FontCGWin.cpp: 80670 (WebCore::drawGDIGlyphs): 80671 (WebCore::Font::drawGlyphs): 80672 80673 2008-10-03 Steve Falkenburg <sfalken (a] apple.com> 80674 80675 <rdar://problem/6249833> Fix default button appearance 80676 80677 Reviewed by Adele Peterson. 80678 80679 * rendering/RenderThemeWin.cpp: 80680 (WebCore::RenderThemeWin::supportsFocus): 80681 (WebCore::RenderThemeWin::determineClassicState): 80682 (WebCore::RenderThemeWin::determineButtonState): 80683 (WebCore::RenderThemeWin::getClassicThemeData): 80684 (WebCore::RenderThemeWin::getThemeData): 80685 (WebCore::drawControl): 80686 * rendering/RenderThemeWin.h: 80687 80688 2008-10-06 Tor Arne Vestb <tavestbo (a] trolltech.com> 80689 80690 Reviewed by Simon. 80691 80692 Add native virtual keycode to PlatformKeyboardEvent 80693 80694 * platform/PlatformKeyboardEvent.h: 80695 * platform/gtk/KeyEventGtk.cpp: 80696 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 80697 * platform/mac/KeyEventMac.mm: 80698 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 80699 * platform/qt/PlatformKeyboardEventQt.cpp: 80700 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 80701 * platform/win/KeyEventWin.cpp: 80702 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 80703 * platform/wx/KeyboardEventWx.cpp: 80704 (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): 80705 80706 2008-10-06 Tor Arne Vestb <tavestbo (a] trolltech.com> 80707 80708 Reviewed by Simon. 80709 80710 Enable WebCore::String <> CFStringRef conversion functions for QtWebKit/Mac 80711 80712 * platform/text/PlatformString.h: 80713 * platform/text/StringImpl.h: 80714 * platform/text/cf/StringCF.cpp: 80715 * platform/text/cf/StringImplCF.cpp: 80716 80717 2008-10-06 Tor Arne Vestb <tavestbo (a] trolltech.com> 80718 80719 Reviewed by Simon. 80720 80721 Use bundles on QtWebKit/Mac for platform modules 80722 80723 * platform/FileSystem.h: 80724 * platform/qt/FileSystemQt.cpp: 80725 (WebCore::unloadModule): 80726 80727 2008-10-06 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 80728 80729 Reviewed by Simon. 80730 80731 Build fix for MinGW. 80732 80733 * platform/win/SystemTimeWin.cpp: 80734 * plugins/win/PluginViewWin.cpp: 80735 (WebCore::PluginView::invalidateRect): 80736 80737 2008-10-06 Adam Roben <aroben (a] apple.com> 80738 80739 Mimic the inspector/ directory structure in WebCore.vcproj 80740 80741 * WebCore.vcproj/WebCore.vcproj: 80742 80743 2008-10-06 Adam Roben <aroben (a] apple.com> 80744 80745 Windows build fix 80746 80747 * WebCore.vcproj/WebCore.vcproj: Update the Include path for all 80748 configurations to include WebCore/inspector. 80749 80750 2008-10-04 Eric Seidel <eric (a] webkit.org> 80751 80752 Reviewed by Darin Adler. 80753 80754 SVG should support ascent and descent properties <font-face> instead of <font>! 80755 https://bugs.webkit.org/show_bug.cgi?id=21365 80756 80757 Tested by many many existing SVG tests. 80758 80759 * svg/SVGFontFaceElement.cpp: 80760 (WebCore::SVGFontFaceElement::ascent): 80761 (WebCore::SVGFontFaceElement::descent): 80762 80763 2008-10-05 Darin Fisher <darin (a] chromium.org> 80764 80765 Reviewed by Eric Seidel. 80766 80767 REGRESSION: crash in ScriptElement::notifyFinished 80768 Fixes https://bugs.webkit.org/show_bug.cgi?id=21329 80769 80770 * dom/ScriptElement.cpp: 80771 (WebCore::ScriptElementData::notifyFinished): Revert part of r35744 to 80772 ensure that the ScriptElementData object is not destroyed prematurely. 80773 80774 2008-10-05 Chris Lord <chris (a] openedhand.com> 80775 80776 Reviewed by Alp Toker. Landed by Jan Alonzo. 80777 80778 https://bugs.webkit.org/show_bug.cgi?id=20624 80779 WebKit-gtk uses deprecated GtkType/GtkObject 80780 80781 * plugins/gtk/gtk2xtbin.c: 80782 (gtk_xtbin_get_type): 80783 * plugins/gtk/gtk2xtbin.h: 80784 80785 2008-10-05 Luke Kenneth Casson Leighton <lkcl (a] lkcl.net> 80786 80787 Reviewed by David Hyatt. 80788 80789 GTK_WINDOW_HWND not GTK_WINDOWING_HWND 80790 https://bugs.webkit.org/show_bug.cgi?id=20725 80791 80792 Updated to ToT by Jan Alonzo. 80793 80794 * plugins/gtk/PluginViewGtk.cpp: 80795 (WebCore::PluginView::getValue): 80796 80797 2008-10-05 Jan Michael Alonzo <jmalonzo (a] webkit.org> 80798 80799 Reviewed by Darin Adler. 80800 80801 Invalid cast from GdkWindow to GtkWidget 80802 https://bugs.webkit.org/show_bug.cgi?id=21391 80803 80804 Fix a misplaced closing parenthesis to actually cast the widget, not the window 80805 80806 * platform/gtk/PlatformScreenGtk.cpp: 80807 (WebCore::screenDepth): 80808 80809 2008-10-05 Adam Barth <abarth (a] webkit.org> 80810 80811 Reviewed by Darin Alder. 80812 80813 Attach the Origin header to POST requests to help defend against 80814 cross-site request forgery. 80815 80816 https://bugs.webkit.org/show_bug.cgi?id=20792 80817 80818 Collin Jackson <collinj (a] webkit.org> also contributed to this patch. 80819 80820 Tests: http/tests/security/originHeader/origin-header-for-data.html 80821 http/tests/security/originHeader/origin-header-for-empty.html 80822 http/tests/security/originHeader/origin-header-for-get.html 80823 http/tests/security/originHeader/origin-header-for-https.html 80824 http/tests/security/originHeader/origin-header-for-post.html 80825 80826 * bindings/js/JSDOMWindowBase.cpp: 80827 (WebCore::createWindow): 80828 * loader/FrameLoader.cpp: 80829 (WebCore::FrameLoader::createWindow): 80830 (WebCore::FrameLoader::urlSelected): 80831 (WebCore::FrameLoader::submitForm): 80832 (WebCore::FrameLoader::outgoingOrigin): 80833 (WebCore::FrameLoader::loadURL): 80834 (WebCore::FrameLoader::addExtraFieldsToRequest): 80835 (WebCore::FrameLoader::loadPostRequest): 80836 (WebCore::FrameLoader::loadResourceSynchronously): 80837 (WebCore::FrameLoader::loadItem): 80838 * loader/FrameLoader.h: 80839 * loader/SubresourceLoader.cpp: 80840 (WebCore::SubresourceLoader::create): 80841 * loader/loader.cpp: 80842 (WebCore::Loader::Host::servePendingRequests): 80843 * platform/SecurityOrigin.cpp: 80844 (WebCore::SecurityOrigin::toHTTPOrigin): 80845 * platform/SecurityOrigin.h: 80846 * platform/network/ResourceRequestBase.h: 80847 (WebCore::ResourceRequestBase::httpOrigin): 80848 (WebCore::ResourceRequestBase::setHTTPOrigin): 80849 (WebCore::ResourceRequestBase::clearHTTPOrigin): 80850 * xml/XMLHttpRequest.cpp: 80851 (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest): 80852 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 80853 (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult): 80854 (WebCore::XMLHttpRequest::didReceiveResponsePreflight): 80855 80856 2008-10-04 Oliver Hunt <oliver (a] apple.com> 80857 80858 Reviewed by Tim Hatcher. 80859 80860 Bug 21381: Incremental parsing of html causes bogus line numbers in some cases 80861 <https://bugs.webkit.org/show_bug.cgi?id=21381> 80862 80863 If we hit a parsing boundary (end of a packet, etc) in the middle of a 80864 <script> element when we are doing an incremental parse, we exit the 80865 parser, and reenter later when more data is available. During this 80866 reentry we incorrectly reset the scriptStartLineno to the current line 80867 in the parser, which is now part way through the script element. 80868 80869 The solution is to track whether we are entering or reentering the parsing 80870 of a script element. We do this simply by 0 checking scriptStartLineno, 80871 and resetting it after we complete parsing of each script element. 80872 80873 Test: http/tests/incremental/pause-in-script-element.pl 80874 80875 * ChangeLog: 80876 * html/HTMLTokenizer.cpp: 80877 (WebCore::HTMLTokenizer::parseSpecial): 80878 (WebCore::HTMLTokenizer::scriptHandler): 80879 80880 2008-10-04 Alp Toker <alp (a] nuanti.com> 80881 80882 Reviewed by David Hyatt. Landed by Jan Alonzo. 80883 80884 https://bugs.webkit.org/show_bug.cgi?id=20924 80885 [Gtk] Linux/Gtk: Recent tree revisions fail Acid2 and Acid3 80886 80887 https://bugs.webkit.org/show_bug.cgi?id=19578 80888 [CURL] problem in parseDataUrl 80889 80890 De-obfuscate parseDataUrl() and fix regressions introduced in r35954. 80891 This patch also fixes encoding support in escaped (non-Base64) data 80892 URLs. All manual data URL tests now pass in both GLib and non-GLib 80893 code paths. 80894 80895 * platform/network/curl/ResourceHandleManager.cpp: 80896 (WebCore::parseDataUrl): 80897 80898 2008-10-04 Timothy Hatcher <timothy (a] apple.com> 80899 80900 Makes breakpoints and debugging code during page load work in the 80901 Web Inspector's debugger. Specifically, this makes the source 80902 code for loading resources show up in the Scripts panel. 80903 80904 https://bugs.webkit.org/show_bug.cgi?id=19053 80905 rdar://problem/5933408 80906 80907 Reviewed by Mark Rowe. 80908 80909 * WebCore.xcodeproj/project.pbxproj: Mark the inspector group as 80910 not using tabs and a tab width of 8. 80911 * inspector/InspectorController.cpp: 80912 (WebCore::addResourceSourceToFrame): Return a bool to report if the 80913 source was added successfully or not. 80914 (WebCore::addSourceToFrame): Ditto. 80915 * inspector/front-end/ScriptView.js: 80916 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): 80917 Return early if the InspectorController.addSourceToFrame fails. 80918 Moved the delete of the _frameNeedsSetup property after that call so 80919 if the source wasn't added it will be attempted again. 80920 * inspector/front-end/SourceView.js: 80921 (WebInspector.SourceView.prototype.detach): Move a comment. 80922 (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded): 80923 Don't check if the resource is finished or failed, just attempt 80924 to add the source to the frame. WebCore has the source, but the 80925 finished property hasn't been set yet. Return early if the 80926 InspectorController.addSourceToFrame fails. Moved the delete 80927 of the _frameNeedsSetup property after that call so if the source 80928 wasn't added it will be attempted again. 80929 (WebInspector.SourceView.prototype._resourceLoadingFinished): 80930 Clear the _frameNeedsSetup and _sourceFrameSetup properties so 80931 the source frame will we populated again now that the resource 80932 load has finished. 80933 * manual-tests/inspector/debugger-pause-during-load.html: Added. 80934 80935 2008-10-04 Mark Rowe <mrowe (a] apple.com> 80936 80937 Reviewed by Tim Hatcher. 80938 80939 Add a 'Check For Weak VTables' build phase to catch weak vtables as early as possible. 80940 80941 * WebCore.xcodeproj/project.pbxproj: 80942 80943 2008-10-04 David Hyatt <hyatt (a] apple.com> 80944 80945 https://bugs.webkit.org/show_bug.cgi?id=21373 80946 80947 Tear down scrollbars in FrameView rather than ScrollView so that the connection to the hostWindow() 80948 is still present. 80949 80950 Reviewed by Mark Rowe 80951 80952 * page/FrameView.cpp: 80953 (WebCore::FrameView::~FrameView): 80954 80955 2008-10-04 Sam Weinig <sam (a] webkit.org> 80956 80957 Reviewed by Dan Bernstein. 80958 80959 Avoid copying a Vector when using getSupportedKeySizes. 80960 80961 * html/HTMLKeygenElement.cpp: 80962 (WebCore::HTMLKeygenElement::HTMLKeygenElement): 80963 * platform/SSLKeyGenerator.h: 80964 * platform/gtk/TemporaryLinkStubs.cpp: 80965 (WebCore::getSupportedKeySizes): 80966 * platform/mac/SSLKeyGeneratorMac.mm: 80967 (WebCore::getSupportedKeySizes): 80968 * platform/qt/TemporaryLinkStubs.cpp: 80969 (WebCore::getSupportedKeySizes): 80970 * platform/win/TemporaryLinkStubs.cpp: 80971 (WebCore::getSupportedKeySizes): 80972 * platform/wx/TemporaryLinkStubs.cpp: 80973 (WebCore::getSupportedKeySizes): 80974 80975 2008-10-04 Darin Adler <darin (a] apple.com> 80976 80977 Reviewed by Cameron Zwarich. 80978 80979 - prepare for https://bugs.webkit.org/show_bug.cgi?id=21295 80980 Bug 21295: Replace ExecState with a call frame Register pointer 80981 80982 * bindings/js/JSQuarantinedObjectWrapper.cpp: 80983 (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): 80984 Remove bogus "const". 80985 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto. 80986 80987 2008-10-04 David Hyatt <hyatt (a] apple.com> 80988 80989 Make PopupMenuClient obey the platform abstraction. Remove any connection to Document and RenderStyle. 80990 80991 Reviewed by Darin Adler 80992 80993 * WebCore.xcodeproj/project.pbxproj: 80994 * platform/PopupMenuClient.h: 80995 * platform/gtk/PopupMenuGtk.cpp: 80996 (WebCore::PopupMenu::show): 80997 * platform/mac/PopupMenuMac.mm: 80998 (WebCore::PopupMenu::populate): 80999 (WebCore::PopupMenu::show): 81000 * platform/qt/PopupMenuQt.cpp: 81001 (WebCore::PopupMenu::populate): 81002 * platform/win/PopupMenuWin.cpp: 81003 (WebCore::PopupMenu::calculatePositionAndSize): 81004 (WebCore::PopupMenu::paint): 81005 (WebCore::PopupWndProc): 81006 * rendering/RenderMenuList.cpp: 81007 (WebCore::RenderMenuList::itemStyle): 81008 (WebCore::RenderMenuList::menuStyle): 81009 (WebCore::RenderMenuList::hostWindow): 81010 * rendering/RenderMenuList.h: 81011 * rendering/RenderTextControl.cpp: 81012 (WebCore::RenderTextControl::itemStyle): 81013 (WebCore::RenderTextControl::menuStyle): 81014 (WebCore::RenderTextControl::hostWindow): 81015 * rendering/RenderTextControl.h: 81016 81017 2008-10-04 Matt Lilek <webkit (a] mattlilek.com> 81018 81019 Build fix - restore Private role to headers that had it before the move. 81020 81021 * WebCore.xcodeproj/project.pbxproj: 81022 81023 2008-10-04 Darin Adler <darin (a] apple.com> 81024 81025 - try to fix build 81026 81027 * DerivedSources.make: Add new inspector directory to VPATH. 81028 * GNUmakefile.am: Add new inspector directory to includes. 81029 Re-sort the IDL_BINDINGS list. Add new inspector directory 81030 to VPATH. 81031 81032 2008-10-04 Matt Lilek <webkit (a] mattlilek.com> 81033 81034 Not reviewed, attempt to fix Gtk build. 81035 81036 * GNUmakefile.am: 81037 81038 2008-10-03 Timothy Hatcher <timothy (a] apple.com> 81039 81040 Move the Web Inspector files into a top-level "inspector" folder. 81041 81042 https://bugs.webkit.org/show_bug.cgi?id=21359 81043 81044 Reviewed by Dave Hyatt. 81045 81046 * GNUmakefile.am: 81047 * WebCore.pro: 81048 * WebCore.vcproj/WebCore.vcproj: 81049 * WebCore.xcodeproj/project.pbxproj: 81050 * WebCoreSources.bkl: 81051 * inspector/InspectorClient.h: Renamed from WebCore/page/InspectorClient.h. 81052 * inspector/InspectorController.cpp: Renamed from WebCore/page/InspectorController.cpp. 81053 * inspector/InspectorController.h: Renamed from WebCore/page/InspectorController.h. 81054 * inspector/JavaScriptCallFrame.cpp: Renamed from WebCore/page/JavaScriptCallFrame.cpp. 81055 * inspector/JavaScriptCallFrame.h: Renamed from WebCore/page/JavaScriptCallFrame.h. 81056 * inspector/JavaScriptCallFrame.idl: Renamed from WebCore/page/JavaScriptCallFrame.idl. 81057 * inspector/JavaScriptDebugListener.h: Renamed from WebCore/page/JavaScriptDebugListener.h. 81058 * inspector/JavaScriptDebugServer.cpp: Renamed from WebCore/page/JavaScriptDebugServer.cpp. 81059 * inspector/JavaScriptDebugServer.h: Renamed from WebCore/page/JavaScriptDebugServer.h. 81060 * inspector/JavaScriptProfile.cpp: Renamed from WebCore/page/JavaScriptProfile.cpp. 81061 * inspector/JavaScriptProfile.h: Renamed from WebCore/page/JavaScriptProfile.h. 81062 * inspector/JavaScriptProfileNode.cpp: Renamed from WebCore/page/JavaScriptProfileNode.cpp. 81063 * inspector/JavaScriptProfileNode.h: Renamed from WebCore/page/JavaScriptProfileNode.h. 81064 * inspector/front-end/Breakpoint.js: Renamed from WebCore/page/inspector/Breakpoint.js. 81065 * inspector/front-end/BreakpointsSidebarPane.js: Renamed from WebCore/page/inspector/BreakpointsSidebarPane.js. 81066 * inspector/front-end/CallStackSidebarPane.js: Renamed from WebCore/page/inspector/CallStackSidebarPane.js. 81067 * inspector/front-end/Console.js: Renamed from WebCore/page/inspector/Console.js. 81068 * inspector/front-end/DataGrid.js: Renamed from WebCore/page/inspector/DataGrid.js. 81069 * inspector/front-end/Database.js: Renamed from WebCore/page/inspector/Database.js. 81070 * inspector/front-end/DatabaseQueryView.js: Renamed from WebCore/page/inspector/DatabaseQueryView.js. 81071 * inspector/front-end/DatabaseTableView.js: Renamed from WebCore/page/inspector/DatabaseTableView.js. 81072 * inspector/front-end/DatabasesPanel.js: Renamed from WebCore/page/inspector/DatabasesPanel.js. 81073 * inspector/front-end/ElementsPanel.js: Renamed from WebCore/page/inspector/ElementsPanel.js. 81074 * inspector/front-end/ElementsTreeOutline.js: Renamed from WebCore/page/inspector/ElementsTreeOutline.js. 81075 * inspector/front-end/FontView.js: Renamed from WebCore/page/inspector/FontView.js. 81076 * inspector/front-end/ImageView.js: Renamed from WebCore/page/inspector/ImageView.js. 81077 * inspector/front-end/Images/back.png: Renamed from WebCore/page/inspector/Images/back.png. 81078 * inspector/front-end/Images/checker.png: Renamed from WebCore/page/inspector/Images/checker.png. 81079 * inspector/front-end/Images/clearConsoleButtons.png: Renamed from WebCore/page/inspector/Images/clearConsoleButtons.png. 81080 * inspector/front-end/Images/closeButtons.png: Renamed from WebCore/page/inspector/Images/closeButtons.png. 81081 * inspector/front-end/Images/consoleButtons.png: Renamed from WebCore/page/inspector/Images/consoleButtons.png. 81082 * inspector/front-end/Images/database.png: Renamed from WebCore/page/inspector/Images/database.png. 81083 * inspector/front-end/Images/databaseTable.png: Renamed from WebCore/page/inspector/Images/databaseTable.png. 81084 * inspector/front-end/Images/databasesIcon.png: Renamed from WebCore/page/inspector/Images/databasesIcon.png. 81085 * inspector/front-end/Images/debuggerContinue.png: Renamed from WebCore/page/inspector/Images/debuggerContinue.png. 81086 * inspector/front-end/Images/debuggerPause.png: Renamed from WebCore/page/inspector/Images/debuggerPause.png. 81087 * inspector/front-end/Images/debuggerStepInto.png: Renamed from WebCore/page/inspector/Images/debuggerStepInto.png. 81088 * inspector/front-end/Images/debuggerStepOut.png: Renamed from WebCore/page/inspector/Images/debuggerStepOut.png. 81089 * inspector/front-end/Images/debuggerStepOver.png: Renamed from WebCore/page/inspector/Images/debuggerStepOver.png. 81090 * inspector/front-end/Images/debuggingButtons.png: Renamed from WebCore/page/inspector/Images/debuggingButtons.png. 81091 * inspector/front-end/Images/disclosureTriangleSmallDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDown.png. 81092 * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownBlack.png. 81093 * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallDownWhite.png. 81094 * inspector/front-end/Images/disclosureTriangleSmallRight.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRight.png. 81095 * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightBlack.png. 81096 * inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDown.png. 81097 * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownBlack.png. 81098 * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightDownWhite.png. 81099 * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Renamed from WebCore/page/inspector/Images/disclosureTriangleSmallRightWhite.png. 81100 * inspector/front-end/Images/dockButtons.png: Renamed from WebCore/page/inspector/Images/dockButtons.png. 81101 * inspector/front-end/Images/elementsIcon.png: Renamed from WebCore/page/inspector/Images/elementsIcon.png. 81102 * inspector/front-end/Images/errorIcon.png: Renamed from WebCore/page/inspector/Images/errorIcon.png. 81103 * inspector/front-end/Images/errorMediumIcon.png: Renamed from WebCore/page/inspector/Images/errorMediumIcon.png. 81104 * inspector/front-end/Images/excludeButtons.png: Renamed from WebCore/page/inspector/Images/excludeButtons.png. 81105 * inspector/front-end/Images/focusButtons.png: Renamed from WebCore/page/inspector/Images/focusButtons.png. 81106 * inspector/front-end/Images/forward.png: Renamed from WebCore/page/inspector/Images/forward.png. 81107 * inspector/front-end/Images/glossyHeader.png: Renamed from WebCore/page/inspector/Images/glossyHeader.png. 81108 * inspector/front-end/Images/glossyHeaderPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderPressed.png. 81109 * inspector/front-end/Images/glossyHeaderSelected.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelected.png. 81110 * inspector/front-end/Images/glossyHeaderSelectedPressed.png: Renamed from WebCore/page/inspector/Images/glossyHeaderSelectedPressed.png. 81111 * inspector/front-end/Images/goArrow.png: Renamed from WebCore/page/inspector/Images/goArrow.png. 81112 * inspector/front-end/Images/largerResourcesButtons.png: Renamed from WebCore/page/inspector/Images/largerResourcesButtons.png. 81113 * inspector/front-end/Images/nodeSearchButtons.png: Renamed from WebCore/page/inspector/Images/nodeSearchButtons.png. 81114 * inspector/front-end/Images/paneBottomGrow.png: Renamed from WebCore/page/inspector/Images/paneBottomGrow.png. 81115 * inspector/front-end/Images/paneBottomGrowActive.png: Renamed from WebCore/page/inspector/Images/paneBottomGrowActive.png. 81116 * inspector/front-end/Images/paneGrowHandleLine.png: Renamed from WebCore/page/inspector/Images/paneGrowHandleLine.png. 81117 * inspector/front-end/Images/pauseOnExceptionButtons.png: Renamed from WebCore/page/inspector/Images/pauseOnExceptionButtons.png. 81118 * inspector/front-end/Images/percentButtons.png: Renamed from WebCore/page/inspector/Images/percentButtons.png. 81119 * inspector/front-end/Images/profileGroupIcon.png: Renamed from WebCore/page/inspector/Images/profileGroupIcon.png. 81120 * inspector/front-end/Images/profileIcon.png: Renamed from WebCore/page/inspector/Images/profileIcon.png. 81121 * inspector/front-end/Images/profileSmallIcon.png: Renamed from WebCore/page/inspector/Images/profileSmallIcon.png. 81122 * inspector/front-end/Images/profilesIcon.png: Renamed from WebCore/page/inspector/Images/profilesIcon.png. 81123 * inspector/front-end/Images/recordButtons.png: Renamed from WebCore/page/inspector/Images/recordButtons.png. 81124 * inspector/front-end/Images/reloadButtons.png: Renamed from WebCore/page/inspector/Images/reloadButtons.png. 81125 * inspector/front-end/Images/resourceCSSIcon.png: Renamed from WebCore/page/inspector/Images/resourceCSSIcon.png. 81126 * inspector/front-end/Images/resourceDocumentIcon.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIcon.png. 81127 * inspector/front-end/Images/resourceDocumentIconSmall.png: Renamed from WebCore/page/inspector/Images/resourceDocumentIconSmall.png. 81128 * inspector/front-end/Images/resourceJSIcon.png: Renamed from WebCore/page/inspector/Images/resourceJSIcon.png. 81129 * inspector/front-end/Images/resourcePlainIcon.png: Renamed from WebCore/page/inspector/Images/resourcePlainIcon.png. 81130 * inspector/front-end/Images/resourcePlainIconSmall.png: Renamed from WebCore/page/inspector/Images/resourcePlainIconSmall.png. 81131 * inspector/front-end/Images/resourcesIcon.png: Renamed from WebCore/page/inspector/Images/resourcesIcon.png. 81132 * inspector/front-end/Images/resourcesSizeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesSizeGraphIcon.png. 81133 * inspector/front-end/Images/resourcesTimeGraphIcon.png: Renamed from WebCore/page/inspector/Images/resourcesTimeGraphIcon.png. 81134 * inspector/front-end/Images/scriptsIcon.png: Renamed from WebCore/page/inspector/Images/scriptsIcon.png. 81135 * inspector/front-end/Images/searchSmallBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBlue.png. 81136 * inspector/front-end/Images/searchSmallBrightBlue.png: Renamed from WebCore/page/inspector/Images/searchSmallBrightBlue.png. 81137 * inspector/front-end/Images/searchSmallGray.png: Renamed from WebCore/page/inspector/Images/searchSmallGray.png. 81138 * inspector/front-end/Images/searchSmallWhite.png: Renamed from WebCore/page/inspector/Images/searchSmallWhite.png. 81139 * inspector/front-end/Images/segment.png: Renamed from WebCore/page/inspector/Images/segment.png. 81140 * inspector/front-end/Images/segmentEnd.png: Renamed from WebCore/page/inspector/Images/segmentEnd.png. 81141 * inspector/front-end/Images/segmentHover.png: Renamed from WebCore/page/inspector/Images/segmentHover.png. 81142 * inspector/front-end/Images/segmentHoverEnd.png: Renamed from WebCore/page/inspector/Images/segmentHoverEnd.png. 81143 * inspector/front-end/Images/segmentSelected.png: Renamed from WebCore/page/inspector/Images/segmentSelected.png. 81144 * inspector/front-end/Images/segmentSelectedEnd.png: Renamed from WebCore/page/inspector/Images/segmentSelectedEnd.png. 81145 * inspector/front-end/Images/splitviewDimple.png: Renamed from WebCore/page/inspector/Images/splitviewDimple.png. 81146 * inspector/front-end/Images/splitviewDividerBackground.png: Renamed from WebCore/page/inspector/Images/splitviewDividerBackground.png. 81147 * inspector/front-end/Images/statusbarBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBackground.png. 81148 * inspector/front-end/Images/statusbarBottomBackground.png: Renamed from WebCore/page/inspector/Images/statusbarBottomBackground.png. 81149 * inspector/front-end/Images/statusbarButtons.png: Renamed from WebCore/page/inspector/Images/statusbarButtons.png. 81150 * inspector/front-end/Images/statusbarMenuButton.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButton.png. 81151 * inspector/front-end/Images/statusbarMenuButtonSelected.png: Renamed from WebCore/page/inspector/Images/statusbarMenuButtonSelected.png. 81152 * inspector/front-end/Images/statusbarResizerHorizontal.png: Renamed from WebCore/page/inspector/Images/statusbarResizerHorizontal.png. 81153 * inspector/front-end/Images/statusbarResizerVertical.png: Renamed from WebCore/page/inspector/Images/statusbarResizerVertical.png. 81154 * inspector/front-end/Images/timelinePillBlue.png: Renamed from WebCore/page/inspector/Images/timelinePillBlue.png. 81155 * inspector/front-end/Images/timelinePillGray.png: Renamed from WebCore/page/inspector/Images/timelinePillGray.png. 81156 * inspector/front-end/Images/timelinePillGreen.png: Renamed from WebCore/page/inspector/Images/timelinePillGreen.png. 81157 * inspector/front-end/Images/timelinePillOrange.png: Renamed from WebCore/page/inspector/Images/timelinePillOrange.png. 81158 * inspector/front-end/Images/timelinePillPurple.png: Renamed from WebCore/page/inspector/Images/timelinePillPurple.png. 81159 * inspector/front-end/Images/timelinePillRed.png: Renamed from WebCore/page/inspector/Images/timelinePillRed.png. 81160 * inspector/front-end/Images/timelinePillYellow.png: Renamed from WebCore/page/inspector/Images/timelinePillYellow.png. 81161 * inspector/front-end/Images/tipBalloon.png: Renamed from WebCore/page/inspector/Images/tipBalloon.png. 81162 * inspector/front-end/Images/tipBalloonBottom.png: Renamed from WebCore/page/inspector/Images/tipBalloonBottom.png. 81163 * inspector/front-end/Images/tipIcon.png: Renamed from WebCore/page/inspector/Images/tipIcon.png. 81164 * inspector/front-end/Images/tipIconPressed.png: Renamed from WebCore/page/inspector/Images/tipIconPressed.png. 81165 * inspector/front-end/Images/toolbarItemSelected.png: Renamed from WebCore/page/inspector/Images/toolbarItemSelected.png. 81166 * inspector/front-end/Images/treeDownTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleBlack.png. 81167 * inspector/front-end/Images/treeDownTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeDownTriangleWhite.png. 81168 * inspector/front-end/Images/treeRightTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleBlack.png. 81169 * inspector/front-end/Images/treeRightTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeRightTriangleWhite.png. 81170 * inspector/front-end/Images/treeUpTriangleBlack.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleBlack.png. 81171 * inspector/front-end/Images/treeUpTriangleWhite.png: Renamed from WebCore/page/inspector/Images/treeUpTriangleWhite.png. 81172 * inspector/front-end/Images/userInputIcon.png: Renamed from WebCore/page/inspector/Images/userInputIcon.png. 81173 * inspector/front-end/Images/userInputPreviousIcon.png: Renamed from WebCore/page/inspector/Images/userInputPreviousIcon.png. 81174 * inspector/front-end/Images/warningIcon.png: Renamed from WebCore/page/inspector/Images/warningIcon.png. 81175 * inspector/front-end/Images/warningMediumIcon.png: Renamed from WebCore/page/inspector/Images/warningMediumIcon.png. 81176 * inspector/front-end/Images/warningsErrors.png: Renamed from WebCore/page/inspector/Images/warningsErrors.png. 81177 * inspector/front-end/MetricsSidebarPane.js: Renamed from WebCore/page/inspector/MetricsSidebarPane.js. 81178 * inspector/front-end/Object.js: Renamed from WebCore/page/inspector/Object.js. 81179 * inspector/front-end/ObjectPropertiesSection.js: Renamed from WebCore/page/inspector/ObjectPropertiesSection.js. 81180 * inspector/front-end/Panel.js: Renamed from WebCore/page/inspector/Panel.js. 81181 * inspector/front-end/Placard.js: Renamed from WebCore/page/inspector/Placard.js. 81182 * inspector/front-end/ProfileView.js: Renamed from WebCore/page/inspector/ProfileView.js. 81183 * inspector/front-end/ProfilesPanel.js: Renamed from WebCore/page/inspector/ProfilesPanel.js. 81184 * inspector/front-end/PropertiesSection.js: Renamed from WebCore/page/inspector/PropertiesSection.js. 81185 * inspector/front-end/PropertiesSidebarPane.js: Renamed from WebCore/page/inspector/PropertiesSidebarPane.js. 81186 * inspector/front-end/Resource.js: Renamed from WebCore/page/inspector/Resource.js. 81187 * inspector/front-end/ResourceCategory.js: Renamed from WebCore/page/inspector/ResourceCategory.js. 81188 * inspector/front-end/ResourceView.js: Renamed from WebCore/page/inspector/ResourceView.js. 81189 * inspector/front-end/ResourcesPanel.js: Renamed from WebCore/page/inspector/ResourcesPanel.js. 81190 * inspector/front-end/ScopeChainSidebarPane.js: Renamed from WebCore/page/inspector/ScopeChainSidebarPane.js. 81191 * inspector/front-end/Script.js: Renamed from WebCore/page/inspector/Script.js. 81192 * inspector/front-end/ScriptView.js: Renamed from WebCore/page/inspector/ScriptView.js. 81193 * inspector/front-end/ScriptsPanel.js: Renamed from WebCore/page/inspector/ScriptsPanel.js. 81194 * inspector/front-end/SidebarPane.js: Renamed from WebCore/page/inspector/SidebarPane.js. 81195 * inspector/front-end/SidebarTreeElement.js: Renamed from WebCore/page/inspector/SidebarTreeElement.js. 81196 * inspector/front-end/SourceFrame.js: Renamed from WebCore/page/inspector/SourceFrame.js. 81197 * inspector/front-end/SourceView.js: Renamed from WebCore/page/inspector/SourceView.js. 81198 * inspector/front-end/StylesSidebarPane.js: Renamed from WebCore/page/inspector/StylesSidebarPane.js. 81199 * inspector/front-end/TextPrompt.js: Renamed from WebCore/page/inspector/TextPrompt.js. 81200 * inspector/front-end/View.js: Renamed from WebCore/page/inspector/View.js. 81201 * inspector/front-end/WebKit.qrc: Renamed from WebCore/page/inspector/WebKit.qrc. 81202 * inspector/front-end/inspector.css: Renamed from WebCore/page/inspector/inspector.css. 81203 * inspector/front-end/inspector.html: Renamed from WebCore/page/inspector/inspector.html. 81204 * inspector/front-end/inspector.js: Renamed from WebCore/page/inspector/inspector.js. 81205 * inspector/front-end/treeoutline.js: Renamed from WebCore/page/inspector/treeoutline.js. 81206 * inspector/front-end/utilities.js: Renamed from WebCore/page/inspector/utilities.js. 81207 81208 2008-10-03 Timothy Hatcher <timothy (a] apple.com> 81209 81210 Adds support to the Web Inspector's Elements panel for fast tag name, 81211 class name, id and attribute name searching. The panel first tries 81212 using getElementById, getElementsByClassName and getElementsByTagName 81213 with the search query. Then does a slower search using XPath for partial 81214 matches, text and comment matches. 81215 81216 Adds support for search queries like "<div>", "<h" and "frame>". 81217 These forms limit the search to tag names, text and comment matches. 81218 81219 https://bugs.webkit.org/show_bug.cgi?id=21353 81220 81221 Reviewed by Maciej Stachowiak. 81222 81223 * page/inspector/ElementsPanel.js: 81224 (WebInspector.ElementsPanel.prototype.performSearch): Add tag syntax 81225 support. Add new search functions that try exact matches first. 81226 81227 2008-10-03 Timothy Hatcher <timothy (a] apple.com> 81228 81229 Changes how searching works in the Web Inspector's Elements 81230 panel. The search tasks are divided into chunks that are small 81231 units of work that are performed at a time interval. This 81232 change also prevents queries that will select all elements, 81233 since that isn't useful. 81234 81235 https://bugs.webkit.org/show_bug.cgi?id=21285 81236 81237 Reviewed by Oliver Hunt. 81238 81239 * page/inspector/ElementsPanel.js: 81240 (WebInspector.ElementsPanel.prototype.searchCancled): 81241 Remove the searchResultsProperty form results since there might 81242 be an unfinished search. 81243 (WebInspector.ElementsPanel.prototype.performSearch): Divide the 81244 documents and search functions into chunks that are performed on 81245 a interval of 25ms. Prevent searches for "//*" and "*". 81246 81247 2008-10-03 Maciej Stachowiak <mjs (a] apple.com> 81248 81249 Reviewed by Cameron Zwarich. 81250 81251 - "this" object in methods called on primitives should be wrapper object 81252 https://bugs.webkit.org/show_bug.cgi?id=21362 81253 81254 Updated so toThis conversion for the split window is handled properly. 81255 81256 * bindings/scripts/CodeGeneratorJS.pm: 81257 81258 2008-10-03 Sam Weinig <sam (a] webkit.org> 81259 81260 Reviewed by David "The Motivator" Hyatt. 81261 81262 Patch for https://bugs.webkit.org/show_bug.cgi?id=21355 81263 Move SecurityOrigin out of platform/ to page/. 81264 81265 It was a layering violation for SecurityOrigin to be in platform 81266 as it depended on FrameLoader. 81267 81268 * GNUmakefile.am: 81269 * WebCore.pro: 81270 * WebCore.vcproj/WebCore.vcproj: 81271 * WebCore.xcodeproj/project.pbxproj: 81272 * WebCoreSources.bkl: 81273 * page/SecurityOrigin.cpp: Copied from platform/SecurityOrigin.cpp. 81274 * page/SecurityOrigin.h: Copied from platform/SecurityOrigin.h. 81275 * page/SecurityOriginHash.h: Copied from platform/SecurityOriginHash.h. 81276 * platform/SecurityOrigin.cpp: Removed. 81277 * platform/SecurityOrigin.h: Removed. 81278 * platform/SecurityOriginHash.h: Removed. 81279 81280 2008-10-03 Marco Barisione <marco.barisione (a] collabora.co.uk> 81281 81282 Reviewed by Alp Toker. 81283 81284 http://bugs.webkit.org/show_bug.cgi?id=18832 81285 [curl] file upload does not work 81286 81287 The curl_off_t integer type has a different size depending if large 81288 file support is enabled or not. There is no different public API for 81289 the two cases, so the same function accepts a different type based on 81290 a compilation option the could be different in WebKit and libcurl. 81291 To fix the bug we query libcurl at runtime for large file support and 81292 pass the right type based on that. 81293 81294 * platform/network/curl/ResourceHandleManager.cpp: 81295 (WebCore::ResourceHandleManager::setupPOST): 81296 81297 2008-10-03 Jan Michael Alonzo <jmalonzo (a] webkit.org> 81298 81299 Reviewed by David Hyatt. 81300 81301 Gtk build fixes. 81302 81303 * platform/gtk/FileChooserGtk.cpp: 81304 (WebCore::FileChooser::openFileChooser): 81305 * platform/gtk/PlatformScreenGtk.cpp: 81306 (WebCore::screenDepth): 81307 (WebCore::screenDepthPerComponent): 81308 (WebCore::screenAvailableRect): 81309 * platform/gtk/PopupMenuGtk.cpp: 81310 (WebCore::PopupMenu::show): 81311 * platform/gtk/ScrollViewGtk.cpp: 81312 (WebCore::ScrollView::platformAddChild): 81313 (WebCore::ScrollView::platformRemoveChild): 81314 * platform/gtk/WidgetGtk.cpp: 81315 (WebCore::Widget::setCursor): 81316 * plugins/gtk/PluginViewGtk.cpp: 81317 (WebCore::PluginView::getValue): 81318 (WebCore::PluginView::forceRedraw): 81319 (WebCore::PluginView::init): 81320 81321 2008-10-03 David Hyatt <hyatt (a] apple.com> 81322 81323 Fix Qt bustage from missing include. 81324 81325 * platform/qt/PlatformScreenQt.cpp: 81326 81327 2008-10-03 David Hyatt <hyatt (a] apple.com> 81328 81329 Fix Windows scrollbar bustage in popup menus. 81330 81331 * platform/win/PopupMenuWin.cpp: 81332 (WebCore::PopupWndProc): 81333 81334 2008-10-03 David Hyatt <hyatt (a] apple.com> 81335 81336 Fix Windows bustage. 81337 81338 * platform/win/FileChooserWin.cpp: 81339 (WebCore::FileChooser::openFileChooser): 81340 * platform/win/PlatformScreenWin.cpp: 81341 (WebCore::monitorInfoForWidget): 81342 * platform/win/WidgetWin.cpp: 81343 * plugins/win/PluginViewWin.cpp: 81344 (WebCore::PluginView::getValue): 81345 (WebCore::PluginView::forceRedraw): 81346 (WebCore::PluginView::init): 81347 81348 2008-10-03 Darin Adler <darin (a] apple.com> 81349 81350 * bindings/js/JSInspectedObjectWrapper.cpp: Try to fix a build failure 81351 seen on some machines but not others by adding an include. 81352 81353 2008-10-03 Darin Adler <darin (a] apple.com> 81354 81355 - Qt build fix 81356 81357 * bridge/qt/qt_runtime.cpp: Remove long-obsolete codeType and 81358 execute functions. Declarations for these relied on the CodeType 81359 enumeration, which used to be in ExecState.h; but the functions 81360 aren't needed at all. 81361 * bridge/qt/qt_runtime.h: Ditto. 81362 81363 2008-10-03 Darin Adler <darin (a] apple.com> 81364 81365 Reviewed by Geoff Garen. 81366 81367 - next step of https://bugs.webkit.org/show_bug.cgi?id=21295 81368 Turn ExecState into a call frame pointer. 81369 81370 Remove m_globalObject and m_globalData from ExecState. 81371 81372 * bindings/js/JSDOMWindowBase.cpp: 81373 (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData): 81374 Removed an argument now that JSGlobalObject doesn't need it any more. 81375 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed the argument from 81376 the JSDOMWindowBaseData constructor, and added the this argument to the 81377 JSGlobalObject constructor. This is because a couple key bits of 81378 initialization moved from the data constructor to the JSGlobalObject 81379 constructor. 81380 * bindings/js/JSDOMWindowBase.h: Ditto. 81381 81382 * bridge/qt/qt_runtime.cpp: 81383 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): 81384 * bridge/runtime_method.cpp: 81385 (JSC::RuntimeMethod::RuntimeMethod): 81386 Pass JSGlobalData* instead of ExecState* to the InternalFunction 81387 constructor. 81388 81389 2008-10-03 David Hyatt <hyatt (a] apple.com> 81390 81391 Fix Windows/Qt build bustage. 81392 81393 Reviewed by ggaren 81394 81395 * loader/EmptyClients.h: 81396 (WebCore::EmptyChromeClient::platformWindow): 81397 * page/Chrome.cpp: 81398 (WebCore::Chrome::platformWindow): 81399 * page/Chrome.h: 81400 * page/ChromeClient.h: 81401 * platform/HostWindow.h: 81402 * platform/qt/PlatformScreenQt.cpp: 81403 (WebCore::screenDepth): 81404 (WebCore::screenDepthPerComponent): 81405 (WebCore::screenIsMonochrome): 81406 (WebCore::screenRect): 81407 (WebCore::screenAvailableRect): 81408 * platform/qt/PopupMenuQt.cpp: 81409 (WebCore::PopupMenu::show): 81410 * platform/win/PopupMenuWin.cpp: 81411 (WebCore::PopupMenu::show): 81412 (WebCore::PopupMenu::calculatePositionAndSize): 81413 (WebCore::PopupWndProc): 81414 81415 2008-10-03 Simon Fraser <simon.fraser (a] apple.com> 81416 81417 Reviewed by Dave Hyatt 81418 81419 Make setStyle() take a const RenderStyle, to ensure that an 81420 earlier RenderStyle::diff() remains valid. 81421 81422 * rendering/RenderBR.cpp: 81423 * rendering/RenderBR.h: 81424 * rendering/RenderBlock.cpp: 81425 * rendering/RenderBlock.h: 81426 * rendering/RenderBox.cpp: 81427 * rendering/RenderBox.h: 81428 * rendering/RenderButton.cpp: 81429 * rendering/RenderButton.h: 81430 * rendering/RenderFieldset.cpp: 81431 * rendering/RenderFieldset.h: 81432 * rendering/RenderFileUploadControl.cpp: 81433 * rendering/RenderFileUploadControl.h: 81434 * rendering/RenderInline.cpp: 81435 * rendering/RenderInline.h: 81436 * rendering/RenderListBox.cpp: 81437 * rendering/RenderListBox.h: 81438 * rendering/RenderListItem.cpp: 81439 * rendering/RenderListItem.h: 81440 * rendering/RenderListMarker.cpp: 81441 * rendering/RenderListMarker.h: 81442 * rendering/RenderMenuList.cpp: 81443 * rendering/RenderMenuList.h: 81444 * rendering/RenderObject.cpp: 81445 (WebCore::RenderObject::setStyle): 81446 * rendering/RenderObject.h: 81447 * rendering/RenderReplaced.cpp: 81448 * rendering/RenderReplaced.h: 81449 * rendering/RenderSVGBlock.cpp: 81450 (WebCore::RenderSVGBlock::setStyle): 81451 * rendering/RenderSVGBlock.h: 81452 * rendering/RenderSVGGradientStop.cpp: 81453 * rendering/RenderSVGGradientStop.h: 81454 * rendering/RenderSlider.cpp: 81455 * rendering/RenderSlider.h: 81456 * rendering/RenderTable.cpp: 81457 * rendering/RenderTable.h: 81458 * rendering/RenderTableCell.cpp: 81459 * rendering/RenderTableCell.h: 81460 * rendering/RenderTableRow.cpp: 81461 * rendering/RenderTableRow.h: 81462 * rendering/RenderText.cpp: 81463 * rendering/RenderText.h: 81464 * rendering/RenderTextControl.cpp: 81465 * rendering/RenderTextControl.h: 81466 * rendering/RenderWidget.cpp: 81467 * rendering/RenderWidget.h: 81468 * rendering/style/RenderStyle.h: 81469 (WebCore::RenderStyle::isDisplayReplacedType): 81470 (WebCore::RenderStyle::isDisplayInlineType): 81471 81472 2008-10-03 David Hyatt <hyatt (a] apple.com> 81473 81474 Preparation for enabling scrollbars to hit test properly inside transforms. Clean up the scrollbar 81475 event handlers to no longer be virtual. Don't pass a mouse event where none is needed. Add a new 81476 method on Scrollbars called transformEvent that will apply all of the transforms to make a new event 81477 that will work properly for hit testing. This patch just stubs out that method to return the same 81478 event untransformed. 81479 81480 Reviewed by Darin Adler 81481 81482 * page/EventHandler.cpp: 81483 (WebCore::EventHandler::handleMouseDoubleClickEvent): 81484 (WebCore::EventHandler::handleMouseMoveEvent): 81485 (WebCore::EventHandler::handleMouseReleaseEvent): 81486 (WebCore::EventHandler::passMousePressEventToScrollbar): 81487 * page/gtk/EventHandlerGtk.cpp: 81488 * page/mac/EventHandlerMac.mm: 81489 * page/qt/EventHandlerQt.cpp: 81490 * page/win/EventHandlerWin.cpp: 81491 * page/wx/EventHandlerWx.cpp: 81492 * platform/Scrollbar.cpp: 81493 (WebCore::Scrollbar::mouseMoved): 81494 (WebCore::Scrollbar::mouseExited): 81495 (WebCore::Scrollbar::mouseUp): 81496 (WebCore::Scrollbar::mouseDown): 81497 (WebCore::Scrollbar::transformEvent): 81498 * platform/Scrollbar.h: 81499 81500 2008-10-03 David Hyatt <hyatt (a] apple.com> 81501 81502 https://bugs.webkit.org/show_bug.cgi?id=21340 81503 81504 Remove "containingWindow()/setContainingWindow()" from Widget. HostWindow covers this now. 81505 81506 Reviewed by Dan Bernstein & Darin Adler 81507 81508 * platform/ScrollView.cpp: 81509 (WebCore::ScrollView::addChild): 81510 * platform/Widget.cpp: 81511 (WebCore::Widget::init): 81512 * platform/Widget.h: 81513 * platform/mac/WidgetMac.mm: 81514 * platform/win/PopupMenuWin.cpp: 81515 (WebCore::PopupMenu::show): 81516 81517 2008-10-03 Adele Peterson <adele (a] apple.com> 81518 81519 Reviewed by Sam Weinig. 81520 81521 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): 81522 Return early if settings is nil. 81523 81524 2008-10-03 Rob Buis <buis (a] kde.org> 81525 81526 Reviewed by Darin. 81527 81528 https://bugs.webkit.org/show_bug.cgi?id=20134 81529 REGRESSION (2.0.4-3.0.4): No default value set for <input type=range> with an even difference of (max - min) 81530 81531 Make sure the input element gets the right default value when no value is set. 81532 81533 Test: fast/forms/range-default-value.html 81534 81535 * rendering/RenderSlider.cpp: 81536 (WebCore::RenderSlider::setPositionFromValue): 81537 81538 2008-10-03 David Hyatt <hyatt (a] apple.com> 81539 81540 Instead of a cross-platform init/destroy that forces every ScrollView platform to have a constructor/ 81541 destructor that calls them, switch to having a cross-platform constructor/destructor that calls 81542 platform-specific init/destroy methods. 81543 81544 With this change, ScrollViewWin.cpp can be removed from the build (yay!). 81545 81546 Reviewed by Darin Adler 81547 81548 * WebCore.vcproj/WebCore.vcproj: 81549 * platform/ScrollView.cpp: 81550 (WebCore::ScrollView::ScrollView): 81551 (WebCore::ScrollView::~ScrollView): 81552 (WebCore::ScrollView::platformInit): 81553 (WebCore::ScrollView::platformDestroy): 81554 (WebCore::ScrollView::platformAddChild): 81555 (WebCore::ScrollView::platformRemoveChild): 81556 * platform/ScrollView.h: 81557 * platform/gtk/ScrollViewGtk.cpp: 81558 (WebCore::ScrollView::platformInit): 81559 (WebCore::ScrollView::platformDestroy): 81560 * platform/mac/ScrollViewMac.mm: 81561 * platform/qt/ScrollViewQt.cpp: 81562 (WebCore::ScrollView::platformInit): 81563 (WebCore::ScrollView::platformDestroy): 81564 * platform/win/ScrollViewWin.cpp: Removed. 81565 * platform/wx/ScrollViewWx.cpp: 81566 (WebCore::ScrollView::platformInit): 81567 (WebCore::ScrollView::platformDestroy): 81568 (WebCore::ScrollView::setPlatformWidget): 81569 81570 2008-10-03 Adele Peterson <adele (a] apple.com> 81571 81572 Reviewed by Dan Bernstein. 81573 81574 Fix for <rdar://problem/6012018> 81575 https://bugs.webkit.org/show_bug.cgi?id=21335 81576 CrashTracer: [USER] 4959 crashes in Safari at com.apple.WebCore: WebCore::Frame::settings const + 8 81577 81578 * css/CSSFontSelector.cpp: (WebCore::fontDataForGenericFamily): Return early if the frame is nil. 81579 81580 2008-10-03 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 81581 81582 Build fix. 81583 81584 * platform/qt/WidgetQt.cpp: 81585 (WebCore::Widget::invalidateRect): 81586 81587 2008-10-03 Alp Toker <alp (a] nuanti.com> 81588 81589 Remove some left-over GTK+ includes. No change in functionality. 81590 81591 * platform/Cursor.h: 81592 * platform/graphics/Icon.h: 81593 * platform/gtk/RenderThemeGtk.h: 81594 81595 2008-10-03 Alp Toker <alp (a] nuanti.com> 81596 81597 Build fix for trailing comment after #endif 81598 81599 * dom/ElementRareData.h: 81600 81601 2008-10-03 David Hyatt <hyatt (a] apple.com> 81602 81603 Remove addToDirtyRegion. 81604 81605 Reviewed by Oliver Hunt 81606 81607 * page/Chrome.cpp: 81608 * page/Chrome.h: 81609 * page/ChromeClient.h: 81610 * platform/ScrollView.h: 81611 * platform/gtk/ScrollViewGtk.cpp: 81612 * platform/qt/ScrollViewQt.cpp: 81613 * platform/win/ScrollViewWin.cpp: 81614 81615 2008-10-03 Dan Bernstein <mitz (a] apple.com> 81616 81617 Reviewed by Maciej Stachowiak. 81618 81619 - fix a CachedResource leak introduced in r37176 81620 81621 Undo r37176 and instead allow pruneDeadResources() to be re-entered, but 81622 afterwards bail out of the outer pruneDeadResources(). 81623 81624 * loader/Cache.cpp: 81625 (WebCore::Cache::Cache): 81626 (WebCore::Cache::pruneDeadResources): 81627 (WebCore::Cache::remove): 81628 * loader/Cache.h: 81629 81630 2008-10-03 David Hyatt <hyatt (a] apple.com> 81631 81632 https://bugs.webkit.org/show_bug.cgi?id=21330 81633 81634 Fix Gtk adjustments so that they are properly checked again before creating horizontal/vertical 81635 scrollbars. 81636 81637 Reviewed by Oliver Hunt 81638 81639 * platform/ScrollView.cpp: 81640 (WebCore::ScrollView::setHasHorizontalScrollbar): 81641 (WebCore::ScrollView::setHasVerticalScrollbar): 81642 (WebCore::ScrollView::platformHasHorizontalAdjustment): 81643 (WebCore::ScrollView::platformHasVerticalAdjustment): 81644 * platform/ScrollView.h: 81645 * platform/gtk/ScrollViewGtk.cpp: 81646 (WebCore::ScrollView::adjustmentChanged): 81647 (WebCore::ScrollView::ScrollView): 81648 (WebCore::ScrollView::~ScrollView): 81649 (WebCore::ScrollView::setGtkAdjustments): 81650 (WebCore::ScrollView::platformHandleHorizontalAdjustment): 81651 (WebCore::ScrollView::platformHandleVerticalAdjustment): 81652 81653 2008-10-03 Julien Chaffraix <jchaffraix (a] webkit.org> 81654 81655 Reviewed by Maciej Stachowiak. 81656 81657 Bug 21106: .in format discussed changes 81658 https://bugs.webkit.org/show_bug.cgi?id=21106 81659 81660 Change "upperCase" to "interfaceName" per-tag parameter as 81661 discussed on the mailing list. Removed the per-attribute version 81662 as it was not used. 81663 81664 Also add the "Element" suffix to all interfaceName parameter to match 81665 the class name (and thus remove it from make_names.pl). 81666 81667 * dom/make_names.pl: 81668 * html/HTMLTagNames.in: 81669 * svg/svgtags.in: 81670 81671 2008-10-03 David Hyatt <hyatt (a] apple.com> 81672 81673 Preserve Qt's disabling of blitting when any native widgets are present anywhere on the page (ick). 81674 Hopefully this is a temporary hack that could eventually be removed. 81675 81676 Reviewed by Sam Weinig 81677 81678 * platform/ScrollView.cpp: 81679 (WebCore::ScrollView::scrollContents): 81680 * platform/ScrollView.h: 81681 (WebCore::ScrollView::rootPreventsBlitting): 81682 * platform/qt/ScrollViewQt.cpp: 81683 (WebCore::ScrollView::ScrollView): 81684 (WebCore::ScrollView::~ScrollView): 81685 (WebCore::ScrollView::platformAddChild): 81686 (WebCore::ScrollView::platformRemoveChild): 81687 81688 2008-10-02 David Hyatt <hyatt (a] apple.com> 81689 81690 https://bugs.webkit.org/show_bug.cgi?id=21328 81691 81692 Make widget invalidation more cross-platform. 81693 81694 (1) Make invalidateRect a pure virtual function on Widget. All leaf widgets must now implement this function. 81695 81696 (2) Scrollbars now send invalidations through the ScrollbarClient. windowClipRect on ScrollbarClient has been removed and replaced with this invalidation call. 81697 This allows all scrollbar invalidations to go through the render tree so that transforms and reflections will be respected. 81698 81699 (3) Plugins now have the native window invalidation code for windowed plugins. Windowless plugins do a repaintRectangle on the plugin's renderer. 81700 81701 (4) FrameViews now do a repaintRectangle on their owner element's renderer. 81702 81703 Reviewed by Sam Weinig 81704 81705 * WebCore.base.exp: 81706 * page/FrameView.cpp: 81707 (WebCore::FrameView::invalidateRect): 81708 (WebCore::FrameView::invalidateScrollbarRect): 81709 * page/FrameView.h: 81710 * platform/PopupMenu.h: 81711 * platform/ScrollView.cpp: 81712 (WebCore::ScrollView::scrollContents): 81713 * platform/ScrollView.h: 81714 * platform/Scrollbar.cpp: 81715 (WebCore::Scrollbar::setEnabled): 81716 (WebCore::Scrollbar::invalidateRect): 81717 * platform/Scrollbar.h: 81718 * platform/ScrollbarClient.h: 81719 * platform/Widget.h: 81720 * platform/gtk/WidgetGtk.cpp: 81721 * platform/mac/WidgetMac.mm: 81722 * platform/win/PopupMenuWin.cpp: 81723 (WebCore::PopupMenu::invalidateScrollbarRect): 81724 * platform/win/WidgetWin.cpp: 81725 * plugins/PluginView.cpp: 81726 (WebCore::PluginView::invalidateTimerFired): 81727 (WebCore::PluginView::invalidateWindowlessPluginRect): 81728 * plugins/PluginView.h: 81729 * plugins/gtk/PluginViewGtk.cpp: 81730 (WebCore::PluginView::invalidateRect): 81731 * plugins/qt/PluginViewQt.cpp: 81732 (WebCore::PluginView::invalidateRect): 81733 * plugins/win/PluginViewWin.cpp: 81734 (WebCore::PluginView::invalidateRect): 81735 (WebCore::PluginView::invalidateRegion): 81736 * rendering/RenderLayer.cpp: 81737 (WebCore::RenderLayer::invalidateScrollbarRect): 81738 * rendering/RenderLayer.h: 81739 * rendering/RenderListBox.cpp: 81740 (WebCore::RenderListBox::paintObject): 81741 (WebCore::RenderListBox::paintScrollbar): 81742 (WebCore::RenderListBox::invalidateScrollbarRect): 81743 * rendering/RenderListBox.h: 81744 81745 2008-10-02 Dan Bernstein <mitz (a] apple.com> 81746 81747 Reviewed by Geoffrey Garen and Sam Weinig. 81748 81749 - fix SVGFontFaceElement leaks seen in Acid3 81750 - make font-face elements take effect only when they are in the document tree 81751 81752 Test: svg/custom/font-face-not-in-document.svg 81753 81754 * svg/SVGFontData.h: Changed the m_svgFontFaceElement member from a 81755 RefPtr to a plain pointer to break a ref cycle. 81756 (WebCore::SVGFontData::svgFontFaceElement): 81757 81758 * svg/SVGFontFaceElement.cpp: Changed to insert and remove the 81759 @font-face rule from the document's mapped element sheet when the 81760 element is inserted and removed from the document, and to update it 81761 only when the element is in the document. 81762 (WebCore::SVGFontFaceElement::SVGFontFaceElement): 81763 (WebCore::SVGFontFaceElement::parseMappedAttribute): 81764 (WebCore::SVGFontFaceElement::rebuildFontFace): 81765 (WebCore::SVGFontFaceElement::insertedIntoDocument): 81766 (WebCore::SVGFontFaceElement::removedFromDocument): 81767 (WebCore::SVGFontFaceElement::childrenChanged): 81768 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet): 81769 * svg/SVGFontFaceElement.h: 81770 81771 2008-10-01 Simon Fraser <simon.fraser (a] apple.com> 81772 81773 Reviewed by Dave Hyatt 81774 81775 Fix RenderFileUploadControl::setStyle() and 81776 RenderMenuList::setStyle() to not touch the style; replace 81777 with html4.css and CSSStyleSelector changes. 81778 81779 https://bugs.webkit.org/show_bug.cgi?id=21287 81780 81781 * css/CSSStyleSelector.cpp: 81782 (WebCore::CSSStyleSelector::adjustRenderStyle): 81783 * css/html4.css: 81784 * rendering/RenderBlock.cpp: 81785 (WebCore::RenderBlock::setStyle): 81786 * rendering/RenderFileUploadControl.cpp: 81787 * rendering/RenderMenuList.cpp: 81788 (WebCore::RenderMenuList::setStyle): 81789 81790 2008-10-01 Simon Fraser <simon.fraser (a] apple.com> 81791 81792 Reviewed by Dave Hyatt 81793 81794 Clean up code that changes the RenderStyle passed in to 81795 table renderer setStyle() methods. 81796 81797 https://bugs.webkit.org/show_bug.cgi?id=21287 81798 81799 Tests: fast/table/floating-th.html 81800 fast/table/table-display-types-strict.html 81801 fast/table/table-display-types.html 81802 81803 * css/CSSStyleSelector.cpp: 81804 (WebCore::CSSStyleSelector::adjustRenderStyle): 81805 * rendering/RenderTableCell.cpp: 81806 (WebCore::RenderTableCell::setStyle): 81807 * rendering/RenderTableRow.cpp: 81808 (WebCore::RenderTableRow::setStyle): 81809 * rendering/RenderTableSection.cpp: 81810 (WebCore::RenderTableSection::setStyle): 81811 81812 2008-10-02 Darin Adler <darin (a] apple.com> 81813 81814 - fix build 81815 81816 * bindings/scripts/CodeGeneratorJS.pm: Need to replace the -> with a . here too. 81817 Not just locally in my generated file! 81818 81819 2008-10-02 Adele Peterson <adele (a] apple.com> 81820 81821 Reviewed by Dan Bernstein. 81822 81823 Fix for https://bugs.webkit.org/show_bug.cgi?id=21299 81824 REGRESSION: <input> color specified in inline style applies to placeholder 81825 81826 I recently added a pseudo-class for the placeholder, but that can be overridden by inline style changes. A pseudo-element 81827 is more appropriate. This change adds "-webkit-input-placeholder". 81828 81829 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): 81830 Added definition for "-webkit-input-placeholder" pseudo element. 81831 * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoInputPlaceholder. 81832 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 81833 Added case for PseudoInputPlaceholder. 81834 * css/html4.css: Added rule for -webkit-input-placeholder pseudo-element. 81835 * rendering/style/RenderStyle.h: (WebCore::RenderStyle::): Added INPUT_PLACEHOLDER. 81836 81837 * html/HTMLInputElement.cpp: 81838 (WebCore::HTMLInputElement::setValue): Check that its a text field before calling updatePlaceholderVisibility. 81839 (WebCore::HTMLInputElement::setValueFromRenderer): ditto. 81840 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Instead of calling setChanged(), call updatePlaceholderVisibility on the renderer. 81841 setChanged wouldn't actually trigger setStyle since the style for the input element won't actually change. 81842 * rendering/RenderTextControl.cpp: 81843 (WebCore::RenderTextControl::createInnerTextStyle): Get the pseudoStyle when the placeholder is visible. 81844 (WebCore::RenderTextControl::updatePlaceholderVisibility): Sets the style on the inner text block, and calls updateFromElement so 81845 the text will be updated correctly. 81846 * rendering/RenderTextControl.h: 81847 81848 2008-10-02 Chris Fleizach <cfleizach (a] apple.com> 81849 81850 Reviewed by Darin Adler. 81851 81852 https://bugs.webkit.org/show_bug.cgi?id=21280 81853 <rdar://problem/6227690> There are a bunch of tables on this page that don't seem to be real tables 81854 81855 Updated AXTable detection to be more robust to false-positives. Specifically, added checks 81856 to ensure that there is more than one valid table cell, and that at least half of the cells 81857 have borders or have specific background colors. Modified the table detection layout test 81858 to test for the tables mentioned in the bug 81859 81860 * page/AccessibilityTable.cpp: 81861 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 81862 81863 2008-10-02 Darin Adler <darin (a] apple.com> 81864 81865 Reviewed by Geoff Garen. 81866 81867 - https://bugs.webkit.org/show_bug.cgi?id=21321 81868 Bug 21321: speed up JavaScriptCore by inlining Heap in JSGlobalData 81869 81870 * bindings/js/GCController.cpp: 81871 (WebCore::collect): Use heap. instead of heap-> to work with the heap. 81872 (WebCore::GCController::gcTimerFired): Ditto. 81873 (WebCore::GCController::garbageCollectNow): Ditto. 81874 * bindings/js/JSDOMWindowShell.cpp: 81875 (WebCore::JSDOMWindowShell::operator new): Ditto. 81876 * storage/Database.cpp: 81877 (WebCore::Database::Database): Ditto. 81878 81879 2008-10-02 Dan Bernstein <mitz (a] apple.com> 81880 81881 Reviewed by Alexey Proskuryakov. 81882 81883 - fix a Database leak that resulted in Document leaks 81884 81885 * storage/Database.cpp: 81886 (WebCore::Database::openDatabase): Account for the fact that RefCounted 81887 objects start out with a ref count of 1. 81888 81889 2008-10-02 Sam Weinig <sam (a] webkit.org> 81890 81891 Reviewed by Mr. Geoffrey Garen. 81892 81893 Always mark your parent before marking members. 81894 81895 * bindings/js/JSDOMWindowCustom.cpp: 81896 (WebCore::JSDOMWindow::mark): 81897 81898 2008-10-02 David Hyatt <hyatt (a] apple.com> 81899 81900 https://bugs.webkit.org/show_bug.cgi?id=21314 81901 81902 Make scrollBackingStore cross-platform. 81903 81904 Reviewed by Sam Weinig 81905 81906 * loader/EmptyClients.h: 81907 (WebCore::EmptyChromeClient::repaint): 81908 (WebCore::EmptyChromeClient::scroll): 81909 * page/Chrome.cpp: 81910 (WebCore::Chrome::repaint): 81911 (WebCore::Chrome::scroll): 81912 * page/Chrome.h: 81913 * page/ChromeClient.h: 81914 * page/EventHandler.cpp: 81915 (WebCore::EventHandler::handleAutoscroll): 81916 * platform/HostWindow.h: 81917 * platform/ScrollView.cpp: 81918 (WebCore::ScrollView::scrollContents): 81919 (WebCore::ScrollView::addPanScrollIcon): 81920 (WebCore::ScrollView::removePanScrollIcon): 81921 * platform/ScrollView.h: 81922 * platform/gtk/ScrollViewGtk.cpp: 81923 * platform/qt/ScrollViewQt.cpp: 81924 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 81925 (WebCore::ScrollView::~ScrollView): 81926 * platform/win/ScrollViewWin.cpp: 81927 (WebCore::ScrollView::ScrollView): 81928 (WebCore::ScrollView::~ScrollView): 81929 81930 2008-10-02 Kevin Ollivier <kevino (a] theolliviers.com> 81931 81932 wx build fixes after Frame/ScrollView changes. 81933 81934 * WebCoreSources.bkl: 81935 * platform/wx/ScrollViewWx.cpp: 81936 (WebCore::ScrollView::platformContentsToScreen): 81937 (WebCore::ScrollView::platformScreenToContents): 81938 (WebCore::ScrollView::platformIsOffscreen): 81939 81940 2008-10-02 Brett Wilson <brettw (a] chromium.org> 81941 81942 Reviewed by Sam Weinig 81943 81944 https://bugs.webkit.org/show_bug.cgi?id=21292 81945 81946 Revert the changes to enclosingIntRect made in r12530 since the new code 81947 doesn't round correctly. 81948 81949 * ChangeLog: 81950 * platform/graphics/FloatRect.cpp: 81951 (WebCore::enclosingIntRect): 81952 81953 2008-10-02 Dan Bernstein <mitz (a] apple.com> 81954 81955 Reviewed by Anders Carlsson and Eric Seidel. 81956 81957 - fix HTMLCanvaseElement leak from -webkit-canvas() values 81958 81959 Changed the m_element member of CSSCanvasValue from a RefPtr to a plain 81960 pointer, as the document owns the canvas elements. Added code to release 81961 those elements in Document::removedLastRef() because they reference 81962 the document. 81963 81964 * css/CSSCanvasValue.cpp: 81965 (WebCore::CSSCanvasValue::element): 81966 * css/CSSCanvasValue.h: 81967 (WebCore::CSSCanvasValue::CSSCanvasValue): 81968 * dom/Document.cpp: 81969 (WebCore::Document::removedLastRef): 81970 81971 2008-10-02 Alexey Proskuryakov <ap (a] webkit.org> 81972 81973 Reviewed by Maciej Stachowiak. 81974 81975 Build fix for platforms that don't implement WTF::ThreadSpecific. 81976 81977 * bindings/js/JSDOMBinding.cpp: (WebCore::wrapperSet): 81978 Guard ThreadSpecific use with #if ENABLE(WORKERS). No platform defines this yet, but this 81979 code is only needed for JS bindings in worker threads. 81980 81981 2008-10-01 David Hyatt <hyatt (a] apple.com> 81982 81983 https://bugs.webkit.org/show_bug.cgi?id=21298 81984 81985 Make updateScrollbars cross-platform. For now a stubbed out scrollContents function is invoked to do the scrolling of the backing store. Next patch 81986 will make that cross-platform. 81987 81988 The ScrollView now implements ScrollbarClient, which means that there was a clash of windowClipRect methods from the 81989 multiple inheritance. For now I solved this by adding a Scrollbar* to the ScrollbarClient version of the method, but longer term 81990 windowClipRect is going to be removed from ScrollbarClient (when Widget invalidation gets rewritten). 81991 81992 Reviewed by Sam Weinig 81993 81994 * page/FrameView.cpp: 81995 (WebCore::FrameView::windowClipRect): 81996 (WebCore::FrameView::isActive): 81997 * page/FrameView.h: 81998 (WebCore::FrameView::visibleContentsResized): 81999 * platform/PopupMenu.h: 82000 * platform/ScrollView.cpp: 82001 (WebCore::ScrollView::init): 82002 (WebCore::ScrollView::destroy): 82003 (WebCore::ScrollView::setHasHorizontalScrollbar): 82004 (WebCore::ScrollView::setHasVerticalScrollbar): 82005 (WebCore::ScrollView::valueChanged): 82006 (WebCore::ScrollView::updateScrollbars): 82007 (WebCore::ScrollView::scrollContents): 82008 (WebCore::ScrollView::platformHandleHorizontalAdjustment): 82009 (WebCore::ScrollView::platformHandleVerticalAdjustment): 82010 * platform/ScrollView.h: 82011 * platform/Scrollbar.cpp: 82012 (WebCore::Scrollbar::windowClipRect): 82013 * platform/ScrollbarClient.h: 82014 * platform/gtk/ScrollViewGtk.cpp: 82015 (WebCore::ScrollView::platformHandleHorizontalAdjustment): 82016 (WebCore::ScrollView::platformHandleVerticalAdjustment): 82017 * platform/qt/ScrollViewQt.cpp: 82018 (WebCore::ScrollView::scrollContents): 82019 * platform/win/PopupMenuWin.cpp: 82020 (WebCore::PopupMenu::windowClipRect): 82021 * platform/win/ScrollViewWin.cpp: 82022 (WebCore::ScrollView::scrollContents): 82023 * rendering/RenderLayer.cpp: 82024 (WebCore::RenderLayer::windowClipRect): 82025 * rendering/RenderLayer.h: 82026 * rendering/RenderListBox.cpp: 82027 (WebCore::RenderListBox::panScroll): 82028 (WebCore::RenderListBox::windowClipRect): 82029 * rendering/RenderListBox.h: 82030 82031 2008-10-02 Alexey Proskuryakov <ap (a] webkit.org> 82032 82033 Reviewed by Darin Adler. 82034 82035 https://bugs.webkit.org/show_bug.cgi?id=21304 82036 Stop using a static wrapper map for WebCore JS bindings 82037 82038 The static domObjects map was not thread safe. 82039 82040 * dom/Document.h: 82041 (WebCore::Document::messagePorts): Added an accessor for JSDocument to iterate over message 82042 ports. 82043 (WebCore::Document::xmlHttpRequests): Ditto for XMLHttpRequests. 82044 82045 * dom/Document.cpp: 82046 (WebCore::Document::createdXMLHttpRequest): 82047 (WebCore::Document::destroyedXMLHttpRequest): 82048 Moved XMLHttpRequest tracking from a global map to Document. 82049 82050 * GNUmakefile.am: 82051 * WebCore.pro: 82052 * WebCore.vcproj/WebCore.vcproj: 82053 * WebCore.xcodeproj/project.pbxproj: 82054 * WebCoreSources.bkl: 82055 * webcore-base.bkl: 82056 * bindings/DOMProtect.cpp: Removed. 82057 * bindings/DOMProtect.h: Removed. 82058 Removed gcProtect(Unprotect)DOMObject - its callers do not have a JSGlobalData reference, 82059 so they can no longer protect bindings objects. 82060 82061 * dom/MessagePort.cpp: 82062 (WebCore::CloseMessagePortTimer::CloseMessagePortTimer): 82063 (WebCore::CloseMessagePortTimer::fired): 82064 (WebCore::MessagePort::MessagePort): 82065 (WebCore::MessagePort::queueCloseEvent): 82066 (WebCore::MessagePort::setPendingActivity): 82067 (WebCore::MessagePort::unsetPendingActivity): 82068 * dom/MessagePort.h: 82069 (WebCore::MessagePort::hasPendingActivity): 82070 MessagePort now counts outstanding async events, so JSDocument::mark can decide whether 82071 to protect it. 82072 82073 * xml/XMLHttpRequest.h: 82074 (WebCore::XMLHttpRequest::hasPendingActivity): 82075 * xml/XMLHttpRequest.cpp: 82076 (WebCore::XMLHttpRequest::XMLHttpRequest): 82077 (WebCore::XMLHttpRequest::~XMLHttpRequest): 82078 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 82079 (WebCore::XMLHttpRequest::dropProtection): 82080 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): 82081 (WebCore::XMLHttpRequest::cancelRequests): 82082 (WebCore::XMLHttpRequest::detachRequests): 82083 (WebCore::XMLHttpRequest::setPendingActivity): 82084 (WebCore::XMLHttpRequest::unsetPendingActivity): 82085 Moved XMLHttpRequest tracking from a global map to Document. 82086 82087 * bindings/js/JSDOMBinding.cpp: 82088 (WebCore::wrapperSet): 82089 (WebCore::DOMObjectWrapperMap::mapFor): 82090 (WebCore::DOMObjectWrapperMap::get): 82091 (WebCore::DOMObjectWrapperMap::set): 82092 (WebCore::DOMObjectWrapperMap::remove): 82093 (WebCore::getCachedDOMObjectWrapper): 82094 (WebCore::cacheDOMObjectWrapper): 82095 (WebCore::forgetDOMObject): 82096 (WebCore::getCachedDOMNodeWrapper): 82097 (WebCore::forgetDOMNode): 82098 (WebCore::cacheDOMNodeWrapper): 82099 (WebCore::markActiveObjectsForDocument): 82100 * bindings/js/JSDOMBinding.h: 82101 (WebCore::createDOMObjectWrapper): 82102 (WebCore::getDOMObjectWrapper): 82103 Wrapper map is now kept as JSGlobalData::clientData. Also changed debug-only wrapperSet 82104 to be per-thread (this is slower than going to JSGlobalData, but fast enough for debug). 82105 WebCore objects can never migrate between threads. 82106 82107 * bindings/js/JSDocumentCustom.cpp: 82108 (WebCore::JSDocument::mark): 82109 Call markActiveObjectsForDocument() from JSDOMBinding. 82110 82111 * bindings/js/JSCSSRuleCustom.cpp: 82112 (WebCore::toJS): 82113 * bindings/js/JSCSSValueCustom.cpp: 82114 (WebCore::toJS): 82115 * bindings/js/JSDOMWindowCustom.cpp: 82116 (WebCore::markDOMObjectWrapper): 82117 (WebCore::JSDOMWindow::mark): 82118 * bindings/js/JSEventCustom.cpp: 82119 (WebCore::toJS): 82120 * bindings/js/JSEventTarget.cpp: 82121 (WebCore::toJS): 82122 * bindings/js/JSHTMLCollectionCustom.cpp: 82123 (WebCore::toJS): 82124 * bindings/js/JSImageDataCustom.cpp: 82125 (WebCore::toJS): 82126 * bindings/js/JSMessageChannelCustom.cpp: 82127 (WebCore::JSMessageChannel::mark): 82128 * bindings/js/JSMessagePortCustom.cpp: 82129 (WebCore::JSMessagePort::mark): 82130 * bindings/js/JSNodeCustom.cpp: 82131 (WebCore::JSNode::mark): 82132 * bindings/js/JSSVGPathSegCustom.cpp: 82133 (WebCore::toJS): 82134 * bindings/js/JSStyleSheetCustom.cpp: 82135 (WebCore::toJS): 82136 * bindings/js/JSXMLHttpRequestCustom.cpp: 82137 (WebCore::JSXMLHttpRequest::mark): 82138 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 82139 (WebCore::JSXMLHttpRequestUpload::mark): 82140 * bindings/js/ScriptController.cpp: 82141 (WebCore::ScriptController::finishedWithEvent): 82142 * bindings/scripts/CodeGeneratorJS.pm: 82143 Pass a JSGlobalData reference to functions that track JS wrapper objects. 82144 82145 2008-10-02 Dan Bernstein <mitz (a] apple.com> 82146 82147 - build fix 82148 82149 * page/JavaScriptCallFrame.idl: 82150 82151 2008-10-02 Oliver Hunt <oliver (a] apple.com> 82152 82153 Reviewed by NOBODY (Build fix). 82154 82155 Add new file to project files 82156 82157 * GNUmakefile.am: 82158 * WebCore.pro: 82159 * WebCore.vcproj/WebCore.vcproj: 82160 82161 2008-10-02 Geoffrey Garen <ggaren (a] apple.com> 82162 82163 Not reviewed. 82164 82165 Try to fix some more builds. 82166 82167 * GNUmakefile.am: 82168 * WebCore.pro: 82169 82170 2008-10-02 Geoffrey Garen <ggaren (a] apple.com> 82171 82172 Not reviewed. 82173 82174 Try to fix Windows build. 82175 82176 * WebCore.vcproj/WebCore.vcproj: 82177 82178 2008-10-01 Geoffrey Garen <ggaren (a] apple.com> 82179 82180 Reviewed by Darin Adler and Cameron Zwarich. 82181 82182 Updated for JavaScriptCore API changes: use a SourceCode instead of 82183 broken out parameters; treat sourceId as intptr_t. 82184 82185 * ForwardingHeaders/kjs/SourceRange.h: Copied from ForwardingHeaders/kjs/SourceProvider.h. 82186 * bindings/js/JSXMLHttpRequestCustom.cpp: 82187 (WebCore::JSXMLHttpRequest::send): 82188 * bindings/js/ScriptController.cpp: 82189 (WebCore::ScriptController::evaluate): 82190 * bindings/js/StringSourceProvider.h: 82191 (WebCore::StringSourceProvider::create): 82192 (WebCore::StringSourceProvider::StringSourceProvider): 82193 82194 (WebCore::makeSource): Added a makeSource function for convenience. 82195 82196 * bindings/objc/WebScriptObject.mm: 82197 (-[WebScriptObject evaluateWebScript:]): 82198 * bridge/NP_jsobject.cpp: 82199 (_NPN_Evaluate): 82200 * bridge/jni/jni_jsobject.mm: 82201 (JavaJSObject::call): 82202 (JavaJSObject::eval): 82203 (JavaJSObject::getMember): 82204 (JavaJSObject::setMember): 82205 (JavaJSObject::removeMember): 82206 82207 * bridge/jni/jni_runtime.h: 82208 (JSC::Bindings::JavaString::operator UString): Replaced the explicit 82209 ustring() function with an implicit operator because this class already 82210 holds a UString::rep. 82211 82212 * page/Console.cpp: 82213 (WebCore::retrieveLastCaller): 82214 (WebCore::Console::trace): 82215 * page/InspectorController.cpp: 82216 (WebCore::jsStringRef): 82217 (WebCore::InspectorController::addBreakpoint): 82218 (WebCore::InspectorController::removeBreakpoint): 82219 (WebCore::InspectorController::didParseSource): 82220 (WebCore::InspectorController::failedToParseSource): 82221 * page/InspectorController.h: 82222 * page/JavaScriptCallFrame.cpp: 82223 (WebCore::JavaScriptCallFrame::JavaScriptCallFrame): 82224 * page/JavaScriptCallFrame.h: 82225 (WebCore::JavaScriptCallFrame::create): 82226 (WebCore::JavaScriptCallFrame::sourceIdentifier): 82227 (WebCore::JavaScriptCallFrame::update): 82228 * page/JavaScriptDebugListener.h: 82229 * page/JavaScriptDebugServer.cpp: 82230 (WebCore::JavaScriptDebugServer::addBreakpoint): 82231 (WebCore::JavaScriptDebugServer::removeBreakpoint): 82232 (WebCore::JavaScriptDebugServer::hasBreakpoint): 82233 (WebCore::dispatchDidParseSource): 82234 (WebCore::dispatchFailedToParseSource): 82235 (WebCore::JavaScriptDebugServer::sourceParsed): 82236 (WebCore::JavaScriptDebugServer::callEvent): 82237 (WebCore::JavaScriptDebugServer::atStatement): 82238 (WebCore::JavaScriptDebugServer::returnEvent): 82239 (WebCore::JavaScriptDebugServer::exception): 82240 (WebCore::JavaScriptDebugServer::willExecuteProgram): 82241 (WebCore::JavaScriptDebugServer::didExecuteProgram): 82242 (WebCore::JavaScriptDebugServer::didReachBreakpoint): 82243 * page/JavaScriptDebugServer.h: 82244 * page/inspector/ScriptsPanel.js: Renamed internal uses of sourceId and 82245 sourceIdentifier to sourceID. 82246 82247 2008-10-01 Dan Bernstein <mitz (a] apple.com> 82248 82249 Reviewed by Geoffrey Garen. 82250 82251 - fix SVGFontFaceElement leak seen on svg/custom/acid3-test-77.html 82252 82253 Broke a ref cycle by changing the m_svgFontFaceElement members of 82254 CSSFontFaceSource and CSSFontFaceSrcValue from RefPtrs to plain 82255 pointers. Also made sure that the @font-face rule added by 82256 SVGFontFaceElement to the document's mapped element sheet is removed 82257 when the font-face element is deleted or moved to another document. 82258 82259 * css/CSSFontFaceSource.cpp: 82260 (WebCore::CSSFontFaceSource::CSSFontFaceSource): 82261 (WebCore::CSSFontFaceSource::getFontData): 82262 * css/CSSFontFaceSource.h: 82263 (WebCore::CSSFontFaceSource::svgFontFaceElement): 82264 * css/CSSFontFaceSrcValue.h: 82265 (WebCore::CSSFontFaceSrcValue::svgFontFaceElement): 82266 (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue): 82267 * svg/SVGFontFaceElement.cpp: 82268 (WebCore::SVGFontFaceElement::~SVGFontFaceElement): 82269 (WebCore::SVGFontFaceElement::willMoveToNewOwnerDocument): 82270 (WebCore::SVGFontFaceElement::didMoveToNewOwnerDocument): 82271 (WebCore::SVGFontFaceElement::removeFromMappedElementSheet): 82272 * svg/SVGFontFaceElement.h: 82273 82274 2008-10-01 Oliver Hunt <oliver (a] apple.com> 82275 82276 Reviewed by Maciej Stachowiak. 82277 82278 Bug 20315: Memory leak with Canvas getImageData 82279 <https://bugs.webkit.org/show_bug.cgi?id=20315> 82280 82281 This wasn't a leak, the issue was that we were reporting the cost 82282 of the CanvasPixelArray when creating the JSCanvasPixelArray wrapper 82283 and we should have been reporting the cost when we create the 82284 JSImageData wrapper. 82285 82286 * WebCore.xcodeproj/project.pbxproj: 82287 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed. 82288 This was only needed to report the extra memory cost 82289 of the CPA. 82290 * bindings/js/JSImageDataCustom.cpp: 82291 (WebCore::toJS): 82292 We need a custom toJS function now so that we can report 82293 the extra memory cost. 82294 * bindings/scripts/CodeGeneratorJS.pm: 82295 Need to replace the reference to CanvasPixelArray with ImageData 82296 to be able to create the custom toJS implementation. 82297 * html/CanvasPixelArray.idl: 82298 * html/ImageData.idl: 82299 82300 2008-10-01 Dan Bernstein <mitz (a] apple.com> 82301 82302 Reviewed by Mark Rowe. 82303 82304 - https://bugs.webkit.org/show_bug.cgi?id=21293 82305 REGRESSION: Crash beneath RenderSVGViewportContainer::viewportTransform() during SVGSVGElement destruction 82306 82307 * svg/SVGMarkerElement.cpp: 82308 (WebCore::SVGMarkerElement::~SVGMarkerElement): Call detach() here so 82309 that renderer destruction happens before the SVGMarkerElement is 82310 destroyed. 82311 * svg/SVGSVGElement.cpp: 82312 (WebCore::SVGSVGElement::~SVGSVGElement): Ditto for SVGSVGElement. 82313 82314 2008-10-01 Evan Martin <evan (a] chromium.org> 82315 82316 Reviewed by Eric Seidel. 82317 82318 https://bugs.webkit.org/show_bug.cgi?id=20669 82319 82320 * css/makeprop.pl: 82321 Die if gperf fails. 82322 82323 2008-10-01 Evan Martin <evan (a] chromium.org> 82324 82325 Reviewed by Eric Seidel. 82326 82327 * loader/icon/IconDatabase.h: 82328 IconDatabase uses HashMap, so it needs to #include the header. 82329 82330 2008-10-01 Dan Bernstein <mitz (a] apple.com> 82331 82332 Reviewed by Mark Rowe. 82333 82334 - fix an assertion failure in http/tests/security/canvas-remote-read-svg-image.html due to re-entry into Cache::pruneDeadResources() 82335 82336 * loader/Cache.cpp: 82337 (WebCore::Cache::remove): Disable pruning temporarily during 82338 CachedResource deletion. 82339 82340 2008-10-01 Dan Bernstein <mitz (a] apple.com> 82341 82342 Reviewed by Mark Rowe. 82343 82344 - fix SVGFontElement leaks seen on buildbot by breaking a ref cycle 82345 82346 * svg/SVGFontFaceElement.cpp: 82347 (WebCore::SVGFontFaceElement::rebuildFontFace): 82348 * svg/SVGFontFaceElement.h: 82349 (WebCore::SVGFontFaceElement::associatedFontElement): 82350 82351 2008-10-01 Brett Wilson <brettw (a] chromium.org> 82352 82353 Reviewed by Maciej Stachowiak. 82354 82355 Document the rounding behavior of the mapRect(IntRect) function in 82356 AffineTransform.h. 82357 82358 * platform/graphics/AffineTransform.h: 82359 82360 2008-10-01 David Hyatt <hyatt (a] apple.com> 82361 82362 Move prohibitsScrolling from the Frame to the ScrollView. 82363 82364 Reviewed by Sam Weinig 82365 82366 * WebCore.base.exp: 82367 * page/Frame.cpp: 82368 (WebCore::FramePrivate::FramePrivate): 82369 * page/Frame.h: 82370 * page/FramePrivate.h: 82371 * page/FrameView.cpp: 82372 (WebCore::FrameView::scrollRectIntoViewRecursively): 82373 (WebCore::FrameView::setScrollPosition): 82374 * platform/ScrollView.cpp: 82375 (WebCore::ScrollView::init): 82376 (WebCore::ScrollView::scrollRectIntoViewRecursively): 82377 (WebCore::ScrollView::setScrollPosition): 82378 * platform/ScrollView.h: 82379 (WebCore::ScrollView::setProhibitsScrolling): 82380 (WebCore::ScrollView::prohibitsScrolling): 82381 * platform/gtk/ScrollViewGtk.cpp: 82382 (WebCore::ScrollView::updateScrollbars): 82383 * platform/qt/ScrollViewQt.cpp: 82384 (WebCore::ScrollView::updateScrollbars): 82385 * platform/win/ScrollViewWin.cpp: 82386 (WebCore::ScrollView::updateScrollbars): 82387 82388 2008-10-01 Mark Rowe <mrowe (a] apple.com> 82389 82390 Reviewed by Geoff Garen. 82391 82392 Fix leaks seen during http/tests/xmlhttprequest/access-control-basic-non-simple-allow.html. 82393 82394 * xml/XMLHttpRequest.cpp: 82395 (WebCore::XMLHttpRequest::didFinishLoadingPreflight): Balance the ref and GC protect 82396 that we do during the loadRequestAsynchronously of the preflight request with a deref and 82397 GC unprotect. 82398 82399 2008-10-01 David Hyatt <hyatt (a] apple.com> 82400 82401 Rename allowsScrolling/setAllowsScrolling to canHaveScrollbars/setCanHaveScrollbars to make it more 82402 clear that the boolean doesn't actually stop all scrolling. It just gets rid of scrollbars. 82403 82404 Reviewed by Tim Hatcher 82405 82406 * WebCore.base.exp: 82407 * page/FrameView.cpp: 82408 (WebCore::FrameView::setCanHaveScrollbars): 82409 * page/FrameView.h: 82410 * platform/ScrollView.cpp: 82411 (WebCore::ScrollView::setCanHaveScrollbars): 82412 (WebCore::ScrollView::wheelEvent): 82413 * platform/ScrollView.h: 82414 (WebCore::ScrollView::canHaveScrollbars): 82415 82416 2008-10-01 Dan Bernstein <mitz (a] apple.com> 82417 82418 Reviewed by Mark Rowe. 82419 82420 - fix some CachedResource leaks seen on buildbot 82421 82422 The issue here was that emptying the cache was a no-op when it only 82423 contained resources with no data. Changed to go after those 82424 resources when the desired cache capacity is zero. 82425 82426 * loader/Cache.cpp: 82427 (WebCore::Cache::pruneLiveResources): 82428 (WebCore::Cache::pruneDeadResources): 82429 * loader/Cache.h: 82430 (WebCore::Cache::prune): 82431 82432 2008-10-01 David Hyatt <hyatt (a] apple.com> 82433 82434 Make isOffscreen cross-platform. Only Mac implements this method, so hold off on adding API to the 82435 HostWindow object until other platforms decide they want this method. (We need it for Win though at some point.) 82436 82437 Reviewed by Adam Roben 82438 82439 * platform/ScrollView.cpp: 82440 (WebCore::ScrollView::isOffscreen): 82441 (WebCore::ScrollView::platformIsOffscreen): 82442 * platform/ScrollView.h: 82443 * platform/gtk/ScrollViewGtk.cpp: 82444 * platform/mac/ScrollViewMac.mm: 82445 (WebCore::ScrollView::platformIsOffscreen): 82446 * platform/qt/ScrollViewQt.cpp: 82447 * platform/wx/ScrollViewWx.cpp: 82448 82449 2008-10-01 David Hyatt <hyatt (a] apple.com> 82450 82451 Make show/hide/setParentVisible cross-platform on ScrollView. 82452 82453 Reviewed by Adam Roben 82454 82455 * platform/ScrollView.cpp: 82456 (WebCore::ScrollView::setParentVisible): 82457 (WebCore::ScrollView::show): 82458 (WebCore::ScrollView::hide): 82459 * platform/ScrollView.h: 82460 * platform/win/ScrollViewWin.cpp: 82461 82462 2008-10-01 Kevin McCullough <kmccullough (a] apple.com> 82463 82464 Reviewed by Dan Bernstein. 82465 82466 https://bugs.webkit.org/show_bug.cgi?id=21284 82467 Bug 21284: Max height affects max width 82468 - Looks like a cut and paste bug 82469 - Added layout test fast/css/max-height-and-max-width.html 82470 82471 * css/CSSComputedStyleDeclaration.cpp: 82472 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 82473 82474 2008-10-01 David Hyatt <hyatt (a] apple.com> 82475 82476 https://bugs.webkit.org/show_bug.cgi?id=21282 82477 82478 Make contentsToScreen/screenToContents cross-platform. Only implemented by Mac/Win right now. 82479 82480 Reviewed by Adam Roben 82481 82482 * loader/EmptyClients.h: 82483 (WebCore::EmptyChromeClient::screenToWindow): 82484 (WebCore::EmptyChromeClient::windowToScreen): 82485 * page/Chrome.cpp: 82486 (WebCore::Chrome::screenToWindow): 82487 (WebCore::Chrome::windowToScreen): 82488 * page/Chrome.h: 82489 * page/ChromeClient.h: 82490 * platform/HostWindow.h: 82491 * platform/ScrollView.cpp: 82492 (WebCore::ScrollView::contentsToScreen): 82493 (WebCore::ScrollView::screenToContents): 82494 (WebCore::ScrollView::platformContentsToScreen): 82495 (WebCore::ScrollView::platformScreenToContents): 82496 * platform/ScrollView.h: 82497 * platform/mac/ScrollViewMac.mm: 82498 (WebCore::ScrollView::platformContentsToScreen): 82499 (WebCore::ScrollView::platformScreenToContents): 82500 * platform/win/ScrollViewWin.cpp: 82501 82502 2008-10-01 Dan Bernstein <mitz (a] apple.com> 82503 82504 Reviewed by Darin Adler. 82505 82506 - fix <rdar://problem/6255862> domfuzz: null deref in WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks(WebCore::HTMLStackElem*) 82507 82508 Test: fast/parser/residual-style-close-across-removed-block.html 82509 82510 * html/HTMLParser.cpp: 82511 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Removed 82512 an assertion that turned out to be wrong in this case, and changed to 82513 terminate the algorithm at the first empty block. 82514 82515 2008-10-01 David Hyatt <hyatt (a] apple.com> 82516 82517 Make setFrameRect on ScrollView cross-platform. 82518 82519 Reviewed by Sam Weinig 82520 82521 * page/FrameView.h: 82522 (WebCore::FrameView::contentsResized): 82523 * platform/ScrollView.cpp: 82524 (WebCore::ScrollView::setFrameRect): 82525 * platform/ScrollView.h: 82526 * platform/gtk/ScrollViewGtk.cpp: 82527 * platform/qt/ScrollViewQt.cpp: 82528 * platform/win/ScrollViewWin.cpp: 82529 82530 2008-10-01 Sam Weinig <sam (a] webkit.org> 82531 82532 Reviewed by Adele Peterson. 82533 82534 Move setTimeout, clearTimeout, setInterval, clearInterval, atob and btoa 82535 to JSDOMWindow from JSDOMWindowBase. 82536 82537 * WebCore.xcodeproj/project.pbxproj: 82538 * bindings/js/JSDOMWindowBase.cpp: 82539 (WebCore::JSDOMWindowBase::removeTimeout): 82540 * bindings/js/JSDOMWindowBase.h: 82541 * bindings/js/JSDOMWindowCustom.cpp: 82542 (WebCore::setTimeoutOrInterval): 82543 (WebCore::JSDOMWindow::setTimeout): 82544 (WebCore::JSDOMWindow::clearTimeout): 82545 (WebCore::JSDOMWindow::setInterval): 82546 (WebCore::JSDOMWindow::clearInterval): 82547 (WebCore::JSDOMWindow::atob): 82548 (WebCore::JSDOMWindow::btoa): 82549 * page/DOMWindow.idl: 82550 82551 2008-10-01 Dan Bernstein <mitz (a] apple.com> 82552 82553 - Mac build fix 82554 82555 * WebCore.base.exp: 82556 82557 2008-10-01 Timothy Hatcher <timothy (a] apple.com> 82558 82559 Prevent stealing focus from the search field when focusing a DOM node. 82560 82561 https://bugs.webkit.org/show_bug.cgi?id=21275 82562 82563 Reviewed by Kevin McCullough. 82564 82565 * page/inspector/ElementsPanel.js: 82566 (WebInspector.ElementsPanel.treeOutline.focusedNodeChanged): 82567 Don't steal focus if the current focus element is the search field. 82568 82569 2008-09-30 Sam Weinig <sam (a] webkit.org> 82570 82571 Reviewed by Nikolas Zimmermann and Alexey Proskuryakov. 82572 82573 Final patch for https://bugs.webkit.org/show_bug.cgi?id=21122 82574 Autogenerate JS event listeners 82575 82576 - Generate getting/setting of EventListeners. 82577 82578 - Adding a new named EventListener now has the same process as adding any other DOM 82579 attribute. (Add a method with the same name in the c++ file). 82580 82581 (The EventListeners for MessagePort have been intentionally left custom so that we 82582 can continue to experiment with making those EventListeners work in a frame-less world.) 82583 82584 * bindings/js/JSDOMApplicationCacheCustom.cpp: Remove custom methods. 82585 * bindings/js/JSDOMWindowCustom.cpp: ditto. 82586 * bindings/js/JSEventTargetNodeCustom.cpp: ditto. 82587 * bindings/js/JSXMLHttpRequestCustom.cpp: ditto. 82588 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: ditto. 82589 * bindings/scripts/CodeGeneratorJS.pm: Add code to generate EventListener 82590 getter/setters 82591 * dom/EventTargetNode.cpp: Add getter/setters for named EventListener. 82592 * dom/EventTargetNode.h: ditto. 82593 * dom/EventTargetNode.idl: Mark EventListeners as Protected so that the codegenerator 82594 will use JSEventListerner instead of JSUnprotectedEventListener. 82595 * loader/appcache/DOMApplicationCache.idl: Remove custom attributes.. 82596 * page/DOMWindow.cpp: Add getter/setters for named EventListener 82597 * page/DOMWindow.h: ditto. 82598 * page/DOMWindow.idl: Mark EventListeners as Protected so that the codegenerator 82599 will use JSEventListerner instead of JSUnprotectedEventListener. 82600 * xml/XMLHttpRequest.idl: Remove custom attributes. 82601 * xml/XMLHttpRequestUpload.idl: ditto. 82602 82603 2008-09-30 Mark Rowe <mrowe (a] apple.com> 82604 82605 Reviewed by Dan Bernstein. 82606 82607 Add a leak counter for CachedResources since we've had two recent leaks involving them. 82608 82609 * loader/CachedResource.cpp: 82610 (WebCore::CachedResource::CachedResource): 82611 (WebCore::CachedResource::~CachedResource): 82612 82613 2008-09-30 Dan Bernstein <mitz (a] apple.com> 82614 82615 Reviewed by Dave Hyatt. 82616 82617 - fix https://bugs.webkit.org/show_bug.cgi?id=21127 82618 <rdar://problem/6259134> REGRESSION: CFF format fonts fail to load 82619 82620 If TTLoadEmbeddedFont fails, use AddFontMemResourceEx after changing 82621 the font name in memory. 82622 82623 * WebCore.vcproj/WebCore.vcproj: Renamed GetEOTHeader.* to 82624 OpenTypeUtilities.*. 82625 82626 * platform/graphics/win/FontCustomPlatformData.cpp: 82627 (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Added a call 82628 to RemoveFontMemResourceEx to match AddFontMemResourceEx when it is 82629 used. 82630 (WebCore::FontCustomPlatformData::fontPlatformData): Added a code path 82631 for fonts loaded using AddFontMemResourceEx. 82632 (WebCore::createFontCustomPlatformData): Added a call to 82633 renameAndActivateFont() if TTLoadEmbeddedFont fails. If 82634 TTLoadEmbeddedFont succeeds, set the font name to the null string, as 82635 fontPlatformData() will retrieve the name from the font reference. 82636 82637 * platform/graphics/win/FontCustomPlatformData.h: 82638 (WebCore::FontCustomPlatformData::FontCustomPlatformData): Added a 82639 font name member. 82640 82641 * platform/graphics/win/GetEOTHeader.cpp: Renamed. 82642 * platform/graphics/win/GetEOTHeader.h: Renamed. 82643 82644 * platform/graphics/win/OpenTypeUtilities.cpp: Copied from platform/graphics/win/GetEOTHeader.cpp. 82645 (WebCore::BigEndianUShort::BigEndianUShort): Added a constructor. 82646 (WebCore::BigEndianULong::BigEndianULong): Ditto. 82647 (WebCore::renameAndActivateFont): Added. Creates an in-memory copy of 82648 the font data and modifies it to have the given name, then activates 82649 it using AddFontMemResourceEx. 82650 82651 * platform/graphics/win/OpenTypeUtilities.h: Copied from platform/graphics/win/GetEOTHeader.h. 82652 82653 2008-09-30 Mark Rowe <mrowe (a] apple.com> 82654 82655 Reviewed by Dan Bernstein. 82656 82657 Fix many leaks seen on fast/backgrounds/svg-as-mask.html. 82658 82659 * rendering/RenderObject.cpp: 82660 (WebCore::RenderObject::arenaDelete): Balance the calls to addClient on maskLayer's images 82661 with calls to removeClient when we're being destroyed. 82662 82663 2008-09-30 Eric Carlson <eric.carlson (a] apple.com> 82664 82665 Reviewed by Antti Koivisto. 82666 82667 https://bugs.webkit.org/show_bug.cgi?id=21243 82668 82669 Fix loopstart and loopend default values. 82670 82671 Tests: media/loopend-limits.html 82672 media/loopstart-limits.html 82673 82674 * html/HTMLMediaElement.cpp: 82675 (WebCore::HTMLMediaElement::loopStart): the spec says start() is the default value 82676 (WebCore::HTMLMediaElement::loopEnd): the spec says end() is the default value 82677 82678 2008-09-30 Kevin Ollivier <kevino (a] theolliviers.com> 82679 82680 wx build fixes. Add file to build and remove call to (now gone) ScrollView::update. 82681 82682 * WebCoreSources.bkl: 82683 * platform/wx/ScrollViewWx.cpp: 82684 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): 82685 82686 2008-09-30 Dan Bernstein <mitz (a] apple.com> 82687 82688 Reviewed by Sam Weinig. 82689 82690 - fix HTMLViewSourceDocument leaks by breaking a ref cycle which 82691 was fixed in r17249 and re-introduced in r31435. 82692 82693 * html/HTMLViewSourceDocument.cpp: 82694 (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument): 82695 (WebCore::HTMLViewSourceDocument::addSpanWithClassName): 82696 (WebCore::HTMLViewSourceDocument::addLine): 82697 (WebCore::HTMLViewSourceDocument::addLink): 82698 * html/HTMLViewSourceDocument.h: 82699 82700 2008-09-30 Sam Weinig <sam (a] webkit.org> 82701 82702 Reviewed by Eric Seidel. 82703 82704 More for https://bugs.webkit.org/show_bug.cgi?id=21122 82705 Autogenerate JS event listeners 82706 82707 - Make EventListener getter/setters names in c++ files match those in 82708 JS (ie. onLoadListener -> onload). 82709 - Add standard way to access the frame associated with the EventTarget 82710 for EventListener lookup. 82711 - Autogenerate dispatchEvent, it wasn't doing anything custom. 82712 82713 * bindings/js/JSDOMApplicationCacheCustom.cpp: 82714 (WebCore::JSDOMApplicationCache::mark): 82715 (WebCore::JSDOMApplicationCache::addEventListener): 82716 (WebCore::JSDOMApplicationCache::removeEventListener): 82717 (WebCore::JSDOMApplicationCache::setOnchecking): 82718 (WebCore::JSDOMApplicationCache::onchecking): 82719 (WebCore::JSDOMApplicationCache::setOnerror): 82720 (WebCore::JSDOMApplicationCache::onerror): 82721 (WebCore::JSDOMApplicationCache::setOnnoupdate): 82722 (WebCore::JSDOMApplicationCache::onnoupdate): 82723 (WebCore::JSDOMApplicationCache::setOndownloading): 82724 (WebCore::JSDOMApplicationCache::ondownloading): 82725 (WebCore::JSDOMApplicationCache::setOnprogress): 82726 (WebCore::JSDOMApplicationCache::onprogress): 82727 (WebCore::JSDOMApplicationCache::setOnupdateready): 82728 (WebCore::JSDOMApplicationCache::onupdateready): 82729 (WebCore::JSDOMApplicationCache::setOncached): 82730 (WebCore::JSDOMApplicationCache::oncached): 82731 * bindings/js/JSEventTargetNodeCustom.cpp: 82732 (WebCore::JSEventTargetNode::addEventListener): 82733 (WebCore::JSEventTargetNode::removeEventListener): 82734 (WebCore::JSEventTargetNode::getListener): 82735 (WebCore::JSEventTargetNode::setListener): 82736 * bindings/js/JSMessagePortCustom.cpp: 82737 (WebCore::JSMessagePort::mark): 82738 (WebCore::JSMessagePort::addEventListener): 82739 (WebCore::JSMessagePort::removeEventListener): 82740 (WebCore::JSMessagePort::setOnmessage): 82741 (WebCore::JSMessagePort::onmessage): 82742 (WebCore::JSMessagePort::setOnclose): 82743 (WebCore::JSMessagePort::onclose): 82744 * bindings/js/JSXMLHttpRequestCustom.cpp: 82745 (WebCore::JSXMLHttpRequest::mark): 82746 (WebCore::JSXMLHttpRequest::onreadystatechange): 82747 (WebCore::JSXMLHttpRequest::setOnreadystatechange): 82748 (WebCore::JSXMLHttpRequest::onabort): 82749 (WebCore::JSXMLHttpRequest::setOnabort): 82750 (WebCore::JSXMLHttpRequest::onerror): 82751 (WebCore::JSXMLHttpRequest::setOnerror): 82752 (WebCore::JSXMLHttpRequest::onload): 82753 (WebCore::JSXMLHttpRequest::setOnload): 82754 (WebCore::JSXMLHttpRequest::onloadstart): 82755 (WebCore::JSXMLHttpRequest::setOnloadstart): 82756 (WebCore::JSXMLHttpRequest::onprogress): 82757 (WebCore::JSXMLHttpRequest::setOnprogress): 82758 (WebCore::JSXMLHttpRequest::addEventListener): 82759 (WebCore::JSXMLHttpRequest::removeEventListener): 82760 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 82761 (WebCore::JSXMLHttpRequestUpload::mark): 82762 (WebCore::JSXMLHttpRequestUpload::onabort): 82763 (WebCore::JSXMLHttpRequestUpload::setOnabort): 82764 (WebCore::JSXMLHttpRequestUpload::onerror): 82765 (WebCore::JSXMLHttpRequestUpload::setOnerror): 82766 (WebCore::JSXMLHttpRequestUpload::onload): 82767 (WebCore::JSXMLHttpRequestUpload::setOnload): 82768 (WebCore::JSXMLHttpRequestUpload::onloadstart): 82769 (WebCore::JSXMLHttpRequestUpload::setOnloadstart): 82770 (WebCore::JSXMLHttpRequestUpload::onprogress): 82771 (WebCore::JSXMLHttpRequestUpload::setOnprogress): 82772 (WebCore::JSXMLHttpRequestUpload::addEventListener): 82773 (WebCore::JSXMLHttpRequestUpload::removeEventListener): 82774 * bindings/scripts/CodeGeneratorJS.pm: 82775 * dom/EventTarget.h: 82776 * dom/EventTargetNode.cpp: 82777 (WebCore::EventTargetNode::associatedFrame): 82778 * dom/EventTargetNode.h: 82779 * dom/EventTargetNode.idl: 82780 * dom/MessagePort.cpp: 82781 (WebCore::MessagePort::associatedFrame): 82782 * dom/MessagePort.h: 82783 (WebCore::MessagePort::setOnmessage): 82784 (WebCore::MessagePort::onmessage): 82785 (WebCore::MessagePort::setOnclose): 82786 (WebCore::MessagePort::onclose): 82787 * dom/MessagePort.idl: 82788 * loader/appcache/DOMApplicationCache.h: 82789 (WebCore::DOMApplicationCache::setOnchecking): 82790 (WebCore::DOMApplicationCache::onchecking): 82791 (WebCore::DOMApplicationCache::setOnerror): 82792 (WebCore::DOMApplicationCache::onerror): 82793 (WebCore::DOMApplicationCache::setOnnoupdate): 82794 (WebCore::DOMApplicationCache::onnoupdate): 82795 (WebCore::DOMApplicationCache::setOndownloading): 82796 (WebCore::DOMApplicationCache::ondownloading): 82797 (WebCore::DOMApplicationCache::setOnprogress): 82798 (WebCore::DOMApplicationCache::onprogress): 82799 (WebCore::DOMApplicationCache::setOnupdateready): 82800 (WebCore::DOMApplicationCache::onupdateready): 82801 (WebCore::DOMApplicationCache::setOncached): 82802 (WebCore::DOMApplicationCache::oncached): 82803 (WebCore::DOMApplicationCache::associatedFrame): 82804 * loader/appcache/DOMApplicationCache.idl: 82805 * svg/EventTargetSVGElementInstance.cpp: 82806 (WebCore::EventTargetSVGElementInstance::associatedFrame): 82807 (WebCore::EventTargetSVGElementInstance::addEventListener): 82808 (WebCore::EventTargetSVGElementInstance::removeEventListener): 82809 (WebCore::EventTargetSVGElementInstance::dispatchEvent): 82810 * svg/EventTargetSVGElementInstance.h: 82811 * xml/XMLHttpRequest.cpp: 82812 (WebCore::XMLHttpRequest::associatedFrame): 82813 * xml/XMLHttpRequest.h: 82814 (WebCore::XMLHttpRequest::setOnreadystatechange): 82815 (WebCore::XMLHttpRequest::onreadystatechange): 82816 (WebCore::XMLHttpRequest::setOnabort): 82817 (WebCore::XMLHttpRequest::onabort): 82818 (WebCore::XMLHttpRequest::setOnerror): 82819 (WebCore::XMLHttpRequest::onerror): 82820 (WebCore::XMLHttpRequest::setOnload): 82821 (WebCore::XMLHttpRequest::onload): 82822 (WebCore::XMLHttpRequest::setOnloadstart): 82823 (WebCore::XMLHttpRequest::onloadstart): 82824 (WebCore::XMLHttpRequest::setOnprogress): 82825 (WebCore::XMLHttpRequest::onprogress): 82826 * xml/XMLHttpRequest.idl: 82827 * xml/XMLHttpRequestUpload.cpp: 82828 (WebCore::XMLHttpRequestUpload::associatedFrame): 82829 * xml/XMLHttpRequestUpload.h: 82830 (WebCore::XMLHttpRequestUpload::setOnabort): 82831 (WebCore::XMLHttpRequestUpload::onabort): 82832 (WebCore::XMLHttpRequestUpload::setOnerror): 82833 (WebCore::XMLHttpRequestUpload::onerror): 82834 (WebCore::XMLHttpRequestUpload::setOnload): 82835 (WebCore::XMLHttpRequestUpload::onload): 82836 (WebCore::XMLHttpRequestUpload::setOnloadstart): 82837 (WebCore::XMLHttpRequestUpload::onloadstart): 82838 (WebCore::XMLHttpRequestUpload::setOnprogress): 82839 (WebCore::XMLHttpRequestUpload::onprogress): 82840 * xml/XMLHttpRequestUpload.idl: 82841 82842 2008-09-30 Darin Adler <darin (a] apple.com> 82843 82844 - roll out assertion breaking regression tests 82845 82846 * platform/ScrollView.cpp: 82847 (WebCore::ScrollView::repaintContentRectangle): Temporarily remove assertion 82848 that fires in regression tests. Hyatt can add it back later. The assertion 82849 fires in the regression test because of layout that triggers repaint occuring 82850 during the process of removing a frame. 82851 82852 2008-09-30 Adele Peterson <adele (a] apple.com> 82853 82854 Reviewed by Darin Adler. 82855 82856 Fix for https://bugs.webkit.org/show_bug.cgi?id=21227 82857 <rdar://problem/6222134> add a way to set color for input placeholder text 82858 82859 Test: fast/forms/placeholder-pseudo-style.html 82860 82861 This change adds "-webkit-input-placeholder-mode" as a pseudo class that can be used to style 82862 input elements when they are displaying the placeholder text. 82863 82864 * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Add case for inputPlaceholderMode. 82865 * css/CSSSelector.h: (WebCore::CSSSelector::): Add PseudoInputPlaceholderMode. 82866 * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): 82867 Add check for PseudoInputPlaceholderMode that asks the node if placeholderShouldBeVisible is true. 82868 * css/html4.css: Add rule to make placeholder text default to darkGray. 82869 82870 * html/HTMLInputElement.cpp: 82871 (WebCore::HTMLInputElement::init): Initialize m_placeholderShouldBeVisible. 82872 (WebCore::HTMLInputElement::dispatchFocusEvent): Call updatePlaceholderVisibility. 82873 (WebCore::HTMLInputElement::dispatchBlurEvent): ditto. 82874 (WebCore::HTMLInputElement::parseMappedAttribute): ditto. 82875 (WebCore::HTMLInputElement::setValue): ditto. 82876 (WebCore::HTMLInputElement::setValueFromRenderer): ditto. 82877 (WebCore::HTMLInputElement::updatePlaceholderVisibility): Sets m_placeholderShouldBeVisible based on the current value and the focus state. 82878 This calculation used to be done in the renderer, but since the node knows everything about the state, it can make that decision, and the 82879 renderer will just ask the node if it should draw the placeholder. 82880 * html/HTMLInputElement.h: (WebCore::HTMLInputElement::placeholderShouldBeVisible): 82881 82882 * rendering/RenderTextControl.cpp: 82883 (WebCore::disabledTextColor): Moved to the top of the file. If there's not very much contrast between the disabled color and the background color, 82884 just leave the text color alone. We don't want to change a good contrast color scheme so that it has really bad contrast. 82885 If the the contrast was already poor, then it doesn't do any good to change it to a different poor contrast color scheme. 82886 (WebCore::RenderTextControl::createInnerTextStyle): If the node says the placeholder should be visible, prepare by overriding the text security to be "none". 82887 This can only happen as a result of either a setStyle call (which will be followed by a call to updateFromElement) or from createSubtreeIfNeeded, which 82888 is called directly from updateFromElement. updateFromElement will immediately update the text displayed. 82889 (WebCore::RenderTextControl::updateFromElement): If the placeholder visibility has changed, update the text that is displayed. 82890 (WebCore::RenderTextControl::forwardEvent): Remove calls to update the placeholder state. This is now done in HTMLInputElement. 82891 * rendering/RenderTextControl.h: 82892 82893 2008-09-30 Beth Dakin <bdakin (a] apple.com> 82894 82895 Reviewed by Darin Adler. 82896 82897 Fix for https://bugs.webkit.org/show_bug.cgi?id=20396 Abort caused 82898 by failed allocation due to invalid counter/attr 82899 and corresponding: <rdar://problem/6152371> 82900 82901 * css/CSSParser.cpp: 82902 (WebCore::CSSParser::parseCounterContent): The spec indicates that 82903 only identifiers should be accepted here. 82904 82905 2008-09-30 Kevin McCullough <kmccullough (a] apple.com> 82906 82907 Reviewed by Oliver Hunt. 82908 82909 Bug 21255: console.profileEnd() without a console.profile() crashes the 82910 web inspector 82911 82912 * page/Console.cpp: 82913 (WebCore::Console::profileEnd): 82914 82915 2008-09-30 Kevin McCullough <kmccullough (a] apple.com> 82916 82917 Reviewed by Tim Hatcher. 82918 82919 Bug 21252: calling console.profile() with a title that is 2 chars or 82920 shorter does not linkify it 82921 82922 - Previously we tried to not linkify very short URLs but since profile 82923 titles can be any length this is not always true. 82924 82925 * page/inspector/inspector.js: 82926 82927 2008-09-30 Dave Hyatt <hyatt (a] apple.com> 82928 82929 Remove the update() method on ScrollView. This method was only called in one place, and its purpose 82930 was to cause a display/flush to happen. Here is a breakdown of the method use on each platform: 82931 (1) Not used on Mac 82932 (2) Used on Windows 82933 (3) Used on Qt, but implemented incorrectly to cause a full repaint for no reason. 82934 (4) Used on Gtk, but implemented incorrectly to cause a full repaint for no reason. 82935 (5) Used on wx, but probably not needed (since wx has platform widgets like Mac). 82936 82937 There is now a paint method on HostWindow that does an immediate mode repaint of an empty rect to 82938 cause the display/flush to happen if needed (thus saving an extra method on ChromeClient). 82939 With the changes to this method, the new behavior is as follows: 82940 (1) Not used on Mac 82941 (2) Used on Windows 82942 (3) Nothing happens on Qt, but only because they have not implemented immediate mode updating. 82943 (4) Gtk now behaves like Windows and will process updates but not do any incorrect additional invalidation. 82944 (5) Not used on wx 82945 82946 This method was originally added for Windows. It's not clear the display/flush is really even necessary on the other 82947 platforms. At the very least stopping unnecessary full invalidations on Qt/Gtk is a good thing. :) 82948 82949 Reviewed by Sam Weinig 82950 82951 * ChangeLog: 82952 * dom/Document.cpp: 82953 (WebCore::Document::implicitClose): 82954 * platform/HostWindow.h: 82955 (WebCore::HostWindow::paint): 82956 * platform/ScrollView.h: 82957 * platform/gtk/ScrollViewGtk.cpp: 82958 * platform/mac/ScrollViewMac.mm: 82959 * platform/qt/ScrollViewQt.cpp: 82960 * platform/win/ScrollViewWin.cpp: 82961 * platform/wx/ScrollViewWx.cpp: 82962 82963 2008-09-30 Timothy Hatcher <timothy (a] apple.com> 82964 82965 Focus the DOM tree in the Web Inspector when a node is inspected. 82966 So when the search field has focus, the focus moves to the tree, 82967 allowing the arrow keys work. This can happen when using the new 82968 find in page feature. 82969 82970 https://bugs.webkit.org/show_bug.cgi?id=21251 82971 82972 Reviewed by Geoff Garen. 82973 82974 * page/inspector/ElementsPanel.js: 82975 (WebInspector.ElementsPanel): Set currentFocusElement to 82976 the main-panels element if the panel is visible. 82977 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): 82978 Remove a set of currentFocusElement since this moved. 82979 * page/inspector/inspector.js: 82980 (WebInspector.set currentFocusElement): Always focus the element. 82981 This ensures that when focus changes in the page and we don't 82982 catch it, we will still focus the elements even if we think it 82983 was already focused. 82984 82985 2008-09-30 Timothy Hatcher <timothy (a] apple.com> 82986 82987 Make the Web Inspector's toolbar icons darker when the mouse is 82988 pressed on them. This matches the standard NSToolbar look. 82989 82990 https://bugs.webkit.org/show_bug.cgi?id=21249 82991 rdar://problem/6033752 82992 82993 Reviewed by Adam Roben. 82994 82995 * page/inspector/Images/databasesIcon.png: 82996 * page/inspector/Images/elementsIcon.png: 82997 * page/inspector/Images/profilesIcon.png: 82998 * page/inspector/Images/resourcesIcon.png: 82999 * page/inspector/Images/scriptsIcon.png: 83000 * page/inspector/Panel.js: 83001 * page/inspector/inspector.css: 83002 83003 2008-09-30 Kevin McCullough <kmccullough (a] apple.com> 83004 83005 Reviewed by Tim Hatcher. 83006 83007 Bug 21139: Profiler log message is wrong 83008 - Correctly fix =( 83009 Don't call _format twice. 83010 83011 * page/Page.h: 83012 * page/inspector/Console.js: 83013 * page/inspector/ProfilesPanel.js: 83014 * page/inspector/inspector.js: 83015 83016 2008-09-30 Dave Hyatt <hyatt (a] apple.com> 83017 83018 http://bugs.webkit.org/show_bug.cgi?id=21250 83019 83020 Rename updateContents to repaintContentRectangle and make it cross-platform by always sending 83021 repaints up through the ChromeClient. 83022 83023 Reviewed by Darin Adler 83024 83025 * loader/EmptyClients.h: 83026 (WebCore::EmptyChromeClient::repaint): 83027 * page/Chrome.cpp: 83028 (WebCore::Chrome::repaint): 83029 * page/Chrome.h: 83030 * page/ChromeClient.h: 83031 * page/FrameView.cpp: 83032 (WebCore::FrameView::hostWindow): 83033 (WebCore::FrameView::repaintContentRectangle): 83034 * page/FrameView.h: 83035 * platform/HostWindow.h: 83036 * platform/ScrollView.cpp: 83037 (WebCore::ScrollView::repaintContentRectangle): 83038 (WebCore::ScrollView::platformRepaintContentRectangle): 83039 * platform/ScrollView.h: 83040 * platform/gtk/ScrollViewGtk.cpp: 83041 * platform/mac/ScrollViewMac.mm: 83042 (WebCore::ScrollView::platformRepaintContentRectangle): 83043 * platform/qt/ScrollViewQt.cpp: 83044 * platform/win/ScrollViewWin.cpp: 83045 * platform/wx/ScrollViewWx.cpp: 83046 (WebCore::ScrollView::platformRepaintContentRectangle): 83047 83048 2008-09-30 Alexey Proskuryakov <ap (a] webkit.org> 83049 83050 Non-Mac build fixes. 83051 83052 * GNUmakefile.am: 83053 * WebCore.pro: 83054 * WebCore.vcproj/WebCore.vcproj: 83055 * WebCoreSources.bkl: 83056 * webcore-base.bkl: 83057 Added DOMProtect.{cpp,h}. 83058 83059 2008-09-39 Kevin Decker <kdecker (a] apple.com> 83060 83061 Reviewed by John Sullivan. 83062 83063 * bridge/npapi.h: Added skeleton for a new plug-in drawing model, the NPCoreAnimationDrawingModel. This model will eventually pave the way 83064 for hardware accelerated drawing in plug-ins and out of process plug-in rendering. 83065 83066 2008-09-29 Julien Chaffraix <jchaffraix (a] webkit.org> 83067 83068 Reviewed by Maciej Stachowiak. 83069 83070 Bug 21106: .in format discussed changes 83071 https://bugs.webkit.org/show_bug.cgi?id=21106 83072 83073 - Removed "cppNamespace" global parameter and hard-coded "WebCore" as it 83074 is the only namespace used. 83075 83076 - Removed "generateFactory" and "generateWrapperFactory" parameters and 83077 re-introduced the command line options. 83078 83079 - Cleaned up the output of make_names.pl (removed unneeded new line). 83080 83081 * DerivedSources.make: Added factories command line options. 83082 * GNUmakefile.am: Ditto. 83083 * WebCore.pro: Ditto and removed some arguments that were migrated to 83084 the .in files. 83085 83086 * dom/make_names.pl: Clean up (see above). 83087 83088 * html/HTMLAttributeNames.in: Removed "cppNamespace", "generateFactory" 83089 and "generateWrapperFactory" occurences. 83090 * html/HTMLTagNames.in: Ditto. 83091 * svg/svgattrs.in: Ditto. 83092 * svg/svgtags.in: Ditto. 83093 * svg/xlinkattrs.in: Ditto. 83094 * xml/xmlattrs.in: Ditto. 83095 83096 2008-09-29 Chris Fleizach <cfleizach (a] apple.com> 83097 83098 Reviewed by John Sullivan. 83099 83100 <rdar://problem/6255456> AX: <file> input button shouldn't have children exposed 83101 Make sure that certain types of elements do not return children and, moreover, do not waste their 83102 energy trying to return children 83103 83104 Test: accessibility/nochildren-elements.html 83105 83106 * page/AccessibilityObject.h: 83107 (WebCore::AccessibilityObject::canHaveChildren): 83108 * page/AccessibilityRenderObject.cpp: 83109 (WebCore::AccessibilityRenderObject::canHaveChildren): 83110 (WebCore::AccessibilityRenderObject::addChildren): 83111 * page/AccessibilityRenderObject.h: 83112 83113 2008-09-30 Alexey Proskuryakov <ap (a] webkit.org> 83114 83115 Reviewed by Sam Weinig. 83116 83117 https://bugs.webkit.org/show_bug.cgi?id=21213 83118 MessagePort crash when GC collects an object with a pending close event 83119 83120 Test: fast/events/message-channel-gc-2.html 83121 fast/events/message-channel-listener-circular-ownership.html 83122 83123 * bindings/DOMProtect.cpp: Added. 83124 (WebCore::gcProtectDOMObject): 83125 (WebCore::gcUnprotectDOMObject): 83126 * bindings/DOMProtect.h: Added. 83127 Added an abstraction for GC protection to avoid the need to call JS bindings code from 83128 DOM objects directly. 83129 83130 * dom/MessagePort.cpp: 83131 (WebCore::CloseMessagePortTimer::fired): 83132 (WebCore::MessagePort::queueCloseEvent): 83133 GC protect MessagePort wrapper while there is a pending close event. 83134 This may be necessary for message events, too, but that case is not a crasher, and actually 83135 behaves to the letter of the current HTML5 text, so I'll consider it later. 83136 83137 * xml/XMLHttpRequest.cpp: 83138 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 83139 (WebCore::XMLHttpRequest::dropProtection): 83140 Use gcProtectDOMObject here, too. Unfortunately, XMLHttpRequest has more dependencies on JSC. 83141 83142 * bindings/js/JSMessagePortCustom.cpp: 83143 (WebCore::JSMessagePort::addEventListener): 83144 (WebCore::JSMessagePort::removeEventListener): 83145 (WebCore::JSMessagePort::setOnmessage): 83146 (WebCore::JSMessagePort::setOnclose): 83147 Don't tell DOMWindowBase that MessagePort is a NodeEventTarget, this is not true. I do not 83148 know if this was causing any real issues, but we shouldn't lie to DOMWindowBase. 83149 83150 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 83151 (WebCore::JSXMLHttpRequestUpload::mark): 83152 While at it, changed to use a typedef for event listeners from XMLHttpRequestUpload, not 83153 from XMLHttpRequest. 83154 83155 2008-09-30 Adam Roben <aroben (a] apple.com> 83156 83157 Windows build fix 83158 83159 * DerivedSources.cpp: Add JSEventTargetNode.cpp. 83160 83161 2008-09-29 Sam Weinig <sam (a] webkit.org> 83162 83163 Reviewed by Tim Hatcher. 83164 83165 Patch for https://bugs.webkit.org/show_bug.cgi?id=21122 83166 Autogenerate JS event listeners 83167 83168 - Generate EventTargetNode. 83169 83170 * DerivedSources.make: 83171 * GNUmakefile.am: 83172 * WebCore.pro: 83173 * WebCore.vcproj/WebCore.vcproj: 83174 * WebCore.xcodeproj/project.pbxproj: 83175 * WebCoreSources.bkl: 83176 * bindings/js/JSEventListener.cpp: 83177 * bindings/js/JSEventTarget.cpp: Added. 83178 (WebCore::toJS): 83179 * bindings/js/JSEventTarget.h: Added. 83180 * bindings/js/JSEventTargetBase.cpp: Removed. 83181 * bindings/js/JSEventTargetBase.h: 83182 * bindings/js/JSEventTargetNode.cpp: Removed. 83183 * bindings/js/JSEventTargetNode.h: Removed. 83184 * bindings/js/JSEventTargetNodeCustom.cpp: Added. 83185 (WebCore::JSEventTargetNode::addEventListener): 83186 (WebCore::JSEventTargetNode::removeEventListener): 83187 (WebCore::JSEventTargetNode::dispatchEvent): 83188 (WebCore::JSEventTargetNode::getListener): 83189 (WebCore::JSEventTargetNode::setListener): 83190 (WebCore::JSEventTargetNode::pushEventHandlerScope): 83191 * bindings/js/JSEventTargetSVGElementInstance.cpp: 83192 (WebCore::): 83193 (WebCore::JSEventTargetSVGElementInstancePrototype::self): 83194 (WebCore::JSEventTargetSVGElementInstancePrototype::getOwnPropertySlot): 83195 (jsEventTargetAddEventListener): 83196 (jsEventTargetRemoveEventListener): 83197 (jsEventTargetDispatchEvent): 83198 * bindings/js/JSEventTargetSVGElementInstance.h: 83199 (WebCore::JSEventTargetSVGElementInstancePrototype::JSEventTargetSVGElementInstancePrototype): 83200 (WebCore::JSEventTargetSVGElementInstancePrototype::classInfo): 83201 * bindings/scripts/CodeGeneratorJS.pm: 83202 * dom/EventTargetNode.idl: Added. 83203 83204 2008-09-29 Darin Adler <darin (a] apple.com> 83205 83206 Reviewed by Sam Weinig. 83207 83208 - https://bugs.webkit.org/show_bug.cgi?id=21214 83209 work on getting rid of ExecState 83210 83211 * bindings/js/JSDOMWindowBase.cpp: 83212 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Removed globalThisValue argument 83213 for base class constructor. 83214 83215 2008-09-29 David Hyatt <hyatt (a] apple.com> 83216 83217 Add the new HostWindow base class. A HostWindow hosts a hierarchy of Widgets. The Chrome object on Page 83218 now subclasses from HostWindow. The new class will allow objects in platform/ like Widgets, Scrollbars 83219 and ScrollViews to talk to the HostWindow object in order to do backing store operations and invalidations. 83220 (Right now the platform layering is simply being violated by ScrollViews going directly to the ChromeClient.) 83221 83222 Reviewed by Sam Weinig 83223 83224 * WebCore.xcodeproj/project.pbxproj: 83225 * page/Chrome.h: 83226 * platform/HostWindow.h: Added. 83227 (WebCore::HostWindow::HostWindow): 83228 (WebCore::HostWindow::~HostWindow): 83229 83230 2008-09-29 Kevin Decker <kdecker (a] apple.com> 83231 83232 Reviewed by Anders Carlsson. 83233 83234 * bridge/npapi.h: Tweaked NPNVariable enum. NPNVsupportsCocoaBool, NPNVsupportsCarbonBool are now in the 3000 range instead of 83235 2000. 83236 83237 2008-09-29 Dan Bernstein <mitz (a] apple.com> 83238 83239 Reviewed by Adam Roben. 83240 83241 - WebCore part of fixing <rdar://problem/6247906> REGRESSION (r19500): Crash on quit beneath CloseThemeData 83242 83243 * rendering/RenderThemeWin.cpp: 83244 (WebCore::RenderThemeWin::setWebKitIsBeingUnloaded): Added. 83245 (WebCore::RenderThemeWin::~RenderThemeWin): Check if WebKit is being 83246 unloaded, to avoid calling uxtheme.dll functions after that library has 83247 been unloaded. 83248 * rendering/RenderThemeWin.h: 83249 83250 2008-09-29 Chris Fleizach <cfleizach (a] apple.com> 83251 83252 Reviewed by John Sullivan 83253 83254 <rdar://problem/6240743> AXLoadComplete is sent for non-top level web areas and bogus web areas 83255 83256 Sends AXLoadComplete only when the top level web area is finished loading 83257 83258 * dom/Document.cpp: 83259 (WebCore::Document::implicitClose): 83260 83261 2008-09-29 Timothy Hatcher <timothy (a] apple.com> 83262 83263 Makes the node highlight always show up when hovering a node in 83264 the Web Inspector now that the highlight does not scroll to reveal 83265 the node. Also adds a hover effect in the inspector when hovering 83266 causes a highlight in the page. This ties the user hovering action 83267 to the highlight so it is clear what causes the highlight to appear. 83268 83269 Also the highlight now temporarily shows up for 2 seconds after 83270 selecting a node in the DOM tree. So arrowing around in the tree 83271 will show the node on the page, providing feedback to the user. 83272 83273 Plus fixes an issue where quickly moving away from hovering 83274 a node would keep showing the page highlight. This was happening 83275 in breadcrumbs and the DOM tree. 83276 83277 https://bugs.webkit.org/show_bug.cgi?id=21220 83278 83279 Reviewed by Kevin McCullough. 83280 83281 * page/inspector/Console.js: 83282 (WebInspector.Console.prototype._mouseOverNode): Added. Used for 83283 hovering DOM nodes in the console. 83284 (WebInspector.Console.prototype._mouseOutOfNode): Ditto. 83285 (WebInspector.Console.prototype._formatnode): Use the new event 83286 listeners and add a class name to the anchor element. 83287 * page/inspector/ElementsPanel.js: 83288 (WebInspector.ElementsPanel): Add new event listeners to the 83289 crumbs element to do the node hovering highlight. 83290 (WebInspector.ElementsPanel.prototype.hide): 83291 (WebInspector.ElementsPanel.prototype.reset): 83292 (WebInspector.ElementsPanel.prototype._mouseMovedInCrumbs): 83293 (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): 83294 (WebInspector.ElementsPanel.prototype.updateBreadcrumb): 83295 * page/inspector/ElementsTreeOutline.js: 83296 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): 83297 Show the node hishlight for 2 seconds then restore the highlight 83298 to the current hovered node. 83299 (WebInspector.ElementsTreeOutline.prototype._onmousemove): Set the 83300 hovered node and set the hovered state on the tree element. 83301 (WebInspector.ElementsTreeOutline.prototype._onmouseout): Set the 83302 hovered node to null and removed the hovered state from the previous 83303 hovered tree element. 83304 (WebInspector.ElementsTreeElement.prototype.set/get hovered): Adds 83305 the hovered class to the list item. 83306 (WebInspector.ElementsTreeElement.prototype.onattach): Ditto. 83307 * page/inspector/inspector.css: 83308 * page/inspector/inspector.js: 83309 (WebInspector.set hoveredDOMNode): Pass a delay to _updateHoverHighlightSoon 83310 based on the showingDOMNodeHighlight property of 50ms or 500ms. This 83311 causes the highlight to change sooner if there is one already showing 83312 and appear later if there isn't one showing. This is like tooltips, 83313 hovering a node for 500ms will cause highlight then mousing between nodes 83314 will keep the highlight and change to the new node. 83315 (WebInspector._updateHoverHighlightSoon): Take a delay being passed in and 83316 always reset the timeout so continuous mousing does not keep flasshing 83317 the highlight on the screen. 83318 (WebInspector._updateHoverHighlight): Removed the alt key check and added 83319 the showingDOMNodeHighlight property. 83320 (WebInspector.documentKeyDown): Removed the alt key check. 83321 (WebInspector.documentKeyUp): Ditto. 83322 (WebInspector.reset): Clear the hoveredDOMNode. 83323 83324 2008-09-29 Simon Fraser <simon.fraser (a] apple.com> 83325 83326 Reviewed by Anders Carlsson 83327 83328 Fix RenderStyle leak in animation code, and assert that 83329 keyframe resolution in CSSStyleSelector is not going to clobber 83330 m_style. 83331 83332 * css/CSSStyleSelector.cpp: 83333 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 83334 * page/animation/KeyframeAnimation.cpp: 83335 (WebCore::KeyframeAnimation::~KeyframeAnimation): 83336 83337 2008-09-29 Chris Marrin <cmarrin (a] apple.com> 83338 83339 Reviewed by Dave Hyatt 83340 83341 Fixed https://bugs.webkit.org/show_bug.cgi?id=20995 83342 Rewrite keyframe resolution to be like styleForElement() 83343 83344 Test: animations/lineheight-animation.html 83345 83346 * css/CSSStyleSelector.cpp: 83347 (WebCore::CSSStyleSelector::addKeyframeStyle): 83348 (WebCore::CSSStyleSelector::~CSSStyleSelector): 83349 (WebCore::CSSStyleSelector::keyframeStylesForAnimation): 83350 (WebCore::CSSRuleSet::addRulesFromSheet): 83351 (WebCore::CSSStyleSelector::mapAnimationName): 83352 * css/CSSStyleSelector.h: 83353 * page/animation/CompositeAnimation.cpp: 83354 (WebCore::CompositeAnimation::updateKeyframeAnimations): 83355 * page/animation/KeyframeAnimation.cpp: 83356 (WebCore::KeyframeAnimation::KeyframeAnimation): 83357 (WebCore::KeyframeAnimation::animate): 83358 (WebCore::KeyframeAnimation::hasAnimationForProperty): 83359 (WebCore::KeyframeAnimation::sendAnimationEvent): 83360 (WebCore::KeyframeAnimation::overrideAnimations): 83361 (WebCore::KeyframeAnimation::resumeOverriddenAnimations): 83362 (WebCore::KeyframeAnimation::affectsProperty): 83363 (WebCore::KeyframeAnimation::validateTransformFunctionList): 83364 * page/animation/KeyframeAnimation.h: 83365 * rendering/style/Animation.cpp: 83366 (WebCore::Animation::animationsMatch): 83367 * rendering/style/Animation.h: 83368 * rendering/style/KeyframeList.cpp: 83369 (WebCore::KeyframeList::~KeyframeList): 83370 (WebCore::KeyframeList::clear): 83371 (WebCore::KeyframeList::insert): 83372 * rendering/style/KeyframeList.h: 83373 (WebCore::KeyframeValue::KeyframeValue): 83374 (WebCore::KeyframeList::KeyframeList): 83375 (WebCore::KeyframeList::operator!=): 83376 (WebCore::KeyframeList::animationName): 83377 (WebCore::KeyframeList::addProperty): 83378 (WebCore::KeyframeList::containsProperty): 83379 (WebCore::KeyframeList::beginProperties): 83380 (WebCore::KeyframeList::endProperties): 83381 (WebCore::KeyframeList::isEmpty): 83382 (WebCore::KeyframeList::size): 83383 (WebCore::KeyframeList::beginKeyframes): 83384 (WebCore::KeyframeList::endKeyframes): 83385 * rendering/style/RenderStyle.h: 83386 * rendering/style/StyleRareNonInheritedData.cpp: 83387 * rendering/style/StyleRareNonInheritedData.h: 83388 83389 2008-09-29 Chris Marrin <cmarrin (a] apple.com> 83390 83391 Reviewed by Eric Seidel 83392 83393 Clean up fix in PropertyWrapperGetter::equals 83394 https://bugs.webkit.org/show_bug.cgi?id=21011 83395 83396 Test: transitions/override-transition-crash.html 83397 83398 * page/animation/AnimationBase.cpp: 83399 (WebCore::PropertyWrapperGetter::equals): 83400 * page/animation/CompositeAnimation.cpp: 83401 (WebCore::CompositeAnimation::updateTransitions): 83402 83403 2008-09-29 Chris Marrin <cmarrin (a] apple.com> 83404 83405 Reviewed by Eric Seidel 83406 83407 https://bugs.webkit.org/show_bug.cgi?id=21001 83408 Starting transition after animation, when animation 83409 is finished, transition is wrong. 83410 83411 Test: animations/transition-and-animation-2.html 83412 83413 * page/animation/AnimationBase.h: 83414 * page/animation/CompositeAnimation.cpp: 83415 (WebCore::CompositeAnimation::updateTransitions): 83416 (WebCore::CompositeAnimation::updateKeyframeAnimations): 83417 (WebCore::CompositeAnimation::resetTransitions): 83418 (WebCore::CompositeAnimation::cleanupFinishedAnimations): 83419 * page/animation/ImplicitAnimation.cpp: 83420 (WebCore::ImplicitAnimation::ImplicitAnimation): 83421 (WebCore::ImplicitAnimation::~ImplicitAnimation): 83422 (WebCore::ImplicitAnimation::animate): 83423 (WebCore::ImplicitAnimation::reset): 83424 * page/animation/ImplicitAnimation.h: 83425 83426 2008-09-29 Chris Marrin <cmarrin (a] apple.com> 83427 83428 Reviewed by Sam Weinig 83429 83430 https://bugs.webkit.org/show_bug.cgi?id=20921 83431 -webkit-animation-timing-function: inside of keyframes is ignored 83432 83433 Test: animations/keyframe-timing-functions.html 83434 83435 * page/animation/AnimationBase.cpp: 83436 (WebCore::AnimationBase::progress): 83437 * page/animation/AnimationBase.h: 83438 * page/animation/ImplicitAnimation.cpp: 83439 (WebCore::ImplicitAnimation::animate): 83440 * page/animation/KeyframeAnimation.cpp: 83441 (WebCore::KeyframeAnimation::animate): 83442 83443 2008-09-29 Dan Bernstein <mitz (a] apple.com> 83444 83445 - Windows build fix 83446 83447 * platform/ScrollView.cpp: 83448 (WebCore::ScrollView::platformScroll): 83449 83450 2008-09-29 Dan Bernstein <mitz (a] apple.com> 83451 83452 - another attempt at a Windows build fix 83453 83454 * platform/ScrollView.cpp: 83455 (WebCore::platformScroll): 83456 83457 2008-09-29 Dan Bernstein <mitz (a] apple.com> 83458 83459 - Windows build fix 83460 83461 * platform/ScrollView.cpp: 83462 (WebCore::ScrollView::platformSetScrollPosition): 83463 83464 2008-09-29 David Hyatt <hyatt (a] apple.com> 83465 83466 https://bugs.webkit.org/show_bug.cgi?id=21218 83467 83468 Accidentally removed a check to see if the scrollbar modes were equal. This caused a crash on Windows. 83469 It's silly that the code was this fragile, but for now just put the check back in. 83470 83471 Reviewed by Dan Bernstein 83472 83473 * platform/ScrollView.cpp: 83474 (WebCore::ScrollView::setScrollbarModes): 83475 83476 2008-09-29 David Hyatt <hyatt (a] apple.com> 83477 83478 https://bugs.webkit.org/show_bug.cgi?id=21216 83479 83480 Make setScrollPosition and scroll() cross-platform. 83481 83482 Reviewed by Anders 83483 83484 * platform/ScrollView.cpp: 83485 (WebCore::ScrollView::setScrollPosition): 83486 (WebCore::ScrollView::scroll): 83487 * platform/ScrollView.h: 83488 * platform/gtk/ScrollViewGtk.cpp: 83489 * platform/mac/ScrollViewMac.mm: 83490 (WebCore::ScrollView::platformSetScrollPosition): 83491 (WebCore::ScrollView::platformScroll): 83492 * platform/qt/ScrollViewQt.cpp: 83493 * platform/win/ScrollViewWin.cpp: 83494 * platform/wx/ScrollViewWx.cpp: 83495 (WebCore::ScrollView::platformSetScrollPosition): 83496 (WebCore::ScrollView::platformScroll): 83497 83498 2008-09-29 Kevin McCullough <kmccullough (a] apple.com> 83499 83500 Reviewed by Oliver. 83501 83502 Bug 21139: Profiler log message is wrong 83503 - Because _format was called twice the number in the log was incremented 83504 too many times, but we were passing it around in the link the whole time 83505 83506 * page/inspector/ProfilesPanel.js: 83507 * page/inspector/inspector.js: 83508 83509 2008-09-29 Sam Weinig <sam (a] webkit.org> 83510 83511 Reviewed by Cameron Zwarich. 83512 83513 Autogenerate EventListeners, addEventListener and removeEventListener 83514 for JSDOMWindow. 83515 83516 * bindings/js/JSDOMWindowBase.cpp: 83517 * bindings/js/JSDOMWindowBase.h: 83518 * bindings/js/JSDOMWindowCustom.cpp: 83519 (WebCore::JSDOMWindow::onwebkitanimationstart): 83520 (WebCore::JSDOMWindow::setOnwebkitanimationstart): 83521 (WebCore::JSDOMWindow::onwebkitanimationiteration): 83522 (WebCore::JSDOMWindow::setOnwebkitanimationiteration): 83523 (WebCore::JSDOMWindow::onwebkitanimationend): 83524 (WebCore::JSDOMWindow::setOnwebkitanimationend): 83525 (WebCore::JSDOMWindow::onwebkittransitionend): 83526 (WebCore::JSDOMWindow::setOnwebkittransitionend): 83527 (WebCore::JSDOMWindow::addEventListener): 83528 (WebCore::JSDOMWindow::removeEventListener): 83529 (WebCore::JSDOMWindow::setListener): 83530 (WebCore::JSDOMWindow::getListener): 83531 * bindings/scripts/CodeGeneratorJS.pm: 83532 * page/DOMWindow.idl: 83533 83534 2008-09-29 Thiago Macieira <thiago.macieira (a] nokia.com> 83535 83536 Reviewed by Simon. 83537 83538 Changed copyright from Trolltech ASA to Nokia. 83539 83540 Nokia acquired Trolltech ASA, assets were transferred on September 26th 2008. 83541 83542 * bindings/js/JSMimeTypeArrayCustom.cpp: 83543 * bindings/js/JSNavigatorCustom.cpp: 83544 * bindings/js/JSPluginArrayCustom.cpp: 83545 * bindings/js/JSPluginCustom.cpp: 83546 * bindings/js/ScriptControllerMac.mm: 83547 * bindings/js/ScriptControllerQt.cpp: 83548 * bridge/qt/qt_class.cpp: 83549 * bridge/qt/qt_class.h: 83550 * bridge/qt/qt_instance.cpp: 83551 * bridge/qt/qt_instance.h: 83552 * bridge/qt/qt_runtime.cpp: 83553 * bridge/qt/qt_runtime.h: 83554 * bridge/testqtbindings.cpp: 83555 * css/makegrammar.pl: 83556 * css/makeprop.pl: 83557 * css/makevalues.pl: 83558 * dom/Node.cpp: 83559 * dom/TagNodeList.cpp: 83560 * dom/TagNodeList.h: 83561 * dom/XMLTokenizer.cpp: 83562 * dom/XMLTokenizer.h: 83563 * dom/XMLTokenizerLibxml2.cpp: 83564 * dom/XMLTokenizerQt.cpp: 83565 * editing/Editor.cpp: 83566 * editing/EditorCommand.cpp: 83567 * html/CanvasRenderingContext2D.cpp: 83568 * html/CanvasStyle.cpp: 83569 * html/HTMLAppletElement.cpp: 83570 * html/HTMLEmbedElement.cpp: 83571 * html/HTMLObjectElement.cpp: 83572 * loader/FrameLoader.cpp: 83573 * page/Chrome.cpp: 83574 * page/EditorClient.h: 83575 * page/Frame.cpp: 83576 * page/Frame.h: 83577 * page/FramePrivate.h: 83578 * page/Navigator.cpp: 83579 * page/Navigator.h: 83580 * page/Navigator.idl: 83581 * page/mac/FrameMac.mm: 83582 * page/qt/EventHandlerQt.cpp: 83583 * platform/graphics/qt/FontCacheQt.cpp: 83584 * platform/graphics/qt/FontCustomPlatformData.cpp: 83585 * platform/graphics/qt/FontCustomPlatformData.h: 83586 * platform/graphics/qt/FontPlatformData.h: 83587 * platform/graphics/qt/FontQt.cpp: 83588 * platform/graphics/qt/GlyphPageTreeNodeQt.cpp: 83589 * platform/graphics/qt/GraphicsContextQt.cpp: 83590 * platform/graphics/qt/ImageDecoderQt.cpp: 83591 * platform/graphics/qt/ImageDecoderQt.h: 83592 * platform/graphics/qt/ImageSourceQt.cpp: 83593 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 83594 * platform/graphics/qt/MediaPlayerPrivatePhonon.h: 83595 * platform/graphics/qt/SimpleFontDataQt.cpp: 83596 * platform/gtk/MIMETypeRegistryGtk.cpp: 83597 * platform/mac/MIMETypeRegistryMac.mm: 83598 * platform/network/qt/QNetworkReplyHandler.cpp: 83599 * platform/network/qt/QNetworkReplyHandler.h: 83600 * platform/network/qt/ResourceHandleQt.cpp: 83601 * platform/network/qt/ResourceRequestQt.cpp: 83602 * platform/qt/ClipboardQt.cpp: 83603 * platform/qt/EventLoopQt.cpp: 83604 * platform/qt/KURLQt.cpp: 83605 * platform/qt/LoggingQt.cpp: 83606 * platform/qt/MIMETypeRegistryQt.cpp: 83607 * platform/qt/PasteboardQt.cpp: 83608 * platform/qt/PlatformScreenQt.cpp: 83609 * platform/qt/PopupMenuQt.cpp: 83610 * platform/qt/QWebPopup.cpp: 83611 * platform/qt/QWebPopup.h: 83612 * platform/qt/RenderThemeQt.cpp: 83613 * platform/qt/ScrollbarQt.cpp: 83614 * platform/qt/ScrollbarThemeQt.cpp: 83615 * platform/qt/WheelEventQt.cpp: 83616 * platform/qt/html4-adjustments-qt.css: 83617 * platform/wx/MimeTypeRegistryWx.cpp: 83618 * plugins/MimeType.cpp: 83619 * plugins/MimeType.h: 83620 * plugins/MimeType.idl: 83621 * plugins/MimeTypeArray.cpp: 83622 * plugins/MimeTypeArray.h: 83623 * plugins/MimeTypeArray.idl: 83624 * plugins/Plugin.cpp: 83625 * plugins/Plugin.h: 83626 * plugins/Plugin.idl: 83627 * plugins/PluginArray.cpp: 83628 * plugins/PluginArray.h: 83629 * plugins/PluginArray.idl: 83630 * plugins/PluginData.cpp: 83631 * plugins/PluginData.h: 83632 * plugins/gtk/PluginDataGtk.cpp: 83633 * plugins/mac/PluginDataMac.mm: 83634 * plugins/qt/PluginDataQt.cpp: 83635 * plugins/win/PluginDataWin.cpp: 83636 * rendering/RenderTableCol.cpp: 83637 * rendering/RenderTableCol.h: 83638 83639 2008-09-29 Thiago Macieira <thiago.macieira (a] trolltech.com> 83640 83641 Reviewed by Simon 83642 83643 Fix compilation with gcc 4.3 83644 83645 gcc 4.3 is stricter and ctype.h isn't getting included 83646 automatically here by dependencies. So do it directly. 83647 83648 * platform/qt/PlatformKeyboardEventQt.cpp: 83649 83650 2008-09-29 Morten Srvig <msorvig (a] trolltech.com> 83651 83652 Reviewed by Simon. 83653 83654 Fix compilation with Qt/Mac without plugins. 83655 83656 * platform/qt/TemporaryLinkStubs.cpp: 83657 83658 2008-09-29 Mark Rowe <mrowe (a] apple.com> 83659 83660 Reviewed by Sam Weinig. 83661 83662 Apply the ASCII fast path optimization from StringImpl::lower to StringImpl::upper. 83663 In the few places that we call .upper() in WebCore the strings represent things like 83664 tag and attribute names, which are nearly always going to be ASCII. 83665 83666 * platform/text/StringImpl.cpp: 83667 (WebCore::StringImpl::lower): If we have to resize the buffer, be sure to pass the new length 83668 in to Unicode::toLower the second time. 83669 (WebCore::StringImpl::upper): 83670 83671 2008-09-28 Mark Rowe <mrowe (a] apple.com> 83672 83673 Reviewed by Sam Weinig. 83674 83675 Speed up getPropertyValue('clip') by 25% by using a Vector<UChar> for building a string, 83676 rather than String::operator+=. 83677 83678 * css/CSSPrimitiveValue.cpp: 83679 (WebCore::CSSPrimitiveValue::cssText): 83680 83681 2008-09-28 Mark Rowe <mrowe (a] apple.com> 83682 83683 Reviewed by Oliver Hunt. 83684 83685 Speed up computedStyle.getPropertyValue('color') by 4.5x. 83686 83687 Using a Vector<UChar> while building up the property's cssText is substantially cheaper than using String::operator+= 83688 as it avoids many memory reallocations. 83689 83690 This also speeds up the jQuery .offset() benchmark at <http://dev.jquery.com/~john/speed/1.2.6/offset-1.2.6.html> 83691 by 20% due to jQuery's strange need to call getPropertyValue('color') when retrieving the computed styles for 83692 unrelated properties on an element. 83693 83694 * css/CSSPrimitiveValue.cpp: 83695 (WebCore::CSSPrimitiveValue::cssText): Build the result for the color types into a Vector<UChar> 83696 and use appendNumber rather than the String::number in order to cut down on memory allocations. 83697 * platform/text/PlatformString.h: 83698 (WebCore::appendNumber): A helper function for formatting an unsigned character as a number 83699 into a Vector<UChar>. 83700 83701 2008-09-28 Sam Weinig <sam (a] webkit.org> 83702 83703 Reviewed by Anders Carlsson. 83704 83705 Remove spurious call to lower(). 83706 83707 * css/MediaQueryEvaluator.cpp: 83708 (WebCore::MediaQueryEvaluator): 83709 83710 2008-09-28 Sam Weinig <sam (a] webkit.org> 83711 83712 Reviewed by Dan Bernstein. 83713 83714 Use a CaseFoldingHash instead of calling lower on family strings. 83715 83716 * css/CSSFontSelector.cpp: 83717 (WebCore::CSSFontSelector::addFontFaceRule): 83718 (WebCore::CSSFontSelector::getFontData): 83719 * css/CSSFontSelector.h: 83720 83721 2008-09-28 Timothy Hatcher <timothy (a] apple.com> 83722 83723 Remove the scrollIntoViewIfNeeded() call when drawing the 83724 Inspector node highlight. 83725 83726 <rdar://problem/6115804> Don't scroll when highlighting (21000) 83727 https://bugs.webkit.org/show_bug.cgi?id=21000 83728 83729 Reviewed by Dan Bernstein. 83730 83731 * page/InspectorController.cpp: 83732 (WebCore::InspectorController::drawNodeHighlight): 83733 83734 2008-09-28 David Hyatt <hyatt (a] apple.com> 83735 83736 Fix crash when WebKit has no instantiated Scrollbars and the appearance prefs for scrollbars are 83737 changed. 83738 83739 Reviewed by Dan Bernstein 83740 83741 * platform/mac/ScrollbarThemeMac.mm: 83742 (+[ScrollbarPrefsObserver appearancePrefsChanged:]): 83743 83744 2008-09-28 Timothy Hatcher <timothy (a] apple.com> 83745 83746 Clear the current search results in the Inspector when 83747 the search query is less than 3 characters long. Incremental 83748 searches only occur for 3 characters or longer, but deleting 83749 under this limit would not clear the results unless the whole 83750 query was deleted. 83751 83752 https://bugs.webkit.org/show_bug.cgi?id=21196 83753 83754 Reviewed by Dan Bernstein. 83755 83756 * page/inspector/inspector.js: 83757 (WebInspector.performSearch): Check for short queries in the 83758 if statement that triggers the clear. 83759 83760 2008-09-28 Dan Bernstein <mitz (a] apple.com> 83761 83762 Reviewed by Dave Hyatt. 83763 83764 - fix <rdar://problem/6202962> "Tibetan Machine Uni" font does not work as a web font on Windows because TTLoadEmbeddedFont fails with E_NAMECHANGEFAILED 83765 83766 * platform/graphics/win/FontCustomPlatformData.cpp: 83767 (WebCore::EOTStream::EOTStream): Added overlayDst, overlaySrc and 83768 overlayLength parameters. 83769 (WebCore::EOTStream::read): Added code to overlay the 83770 m_overlayLength bytes starting at m_overlayDst with the same number of 83771 bytes from m_overlaySrc. 83772 (WebCore::createFontCustomPlatformData): Changed to get overlay 83773 parameters from getEOTHeader. 83774 * platform/graphics/win/GetEOTHeader.cpp: 83775 (WebCore::getEOTHeader): Added code to specify overlaying of the 83776 family name with the prefix of the full name if they differ, because 83777 that such a difference causes TTLoadEmbeddedFont to fail. 83778 * platform/graphics/win/GetEOTHeader.h: 83779 83780 2008-09-28 Alexey Proskuryakov <ap (a] webkit.org> 83781 83782 Reviewed by Eric Seidel. 83783 83784 https://bugs.webkit.org/show_bug.cgi?id=20366 83785 Reproducible test failure for editing/undo/undo-iframe-location-change.html 83786 83787 * ChangeLog-2006-05-10: Added bug URLs for a fix that included this test. 83788 83789 2008-09-28 Darin Adler <darin (a] apple.com> 83790 83791 Reviewed by Sam Weinig (except for a few comment and header tweaks). 83792 83793 - https://bugs.webkit.org/show_bug.cgi?id=21158 83794 reduce use of virtual functions in Node for speed 83795 83796 Speeds up Dromaeo a bit less than 1%. 83797 83798 * bindings/js/JSNamedNodesCollection.cpp: Include Element.h instead of 83799 Node.h now that some inlines are in there. 83800 83801 * dom/Attr.h: Override both the virtual and non-virtual name functions. 83802 83803 * dom/ChildNodeList.cpp: 83804 (WebCore::ChildNodeList::nodeMatches): Updated to take an Element. 83805 * dom/ChildNodeList.h: Ditto. 83806 * dom/ClassNodeList.cpp: 83807 (WebCore::ClassNodeList::nodeMatches): Ditto. 83808 * dom/ClassNodeList.h: Ditto. 83809 83810 * dom/Document.h: Put the Node::isDocumentNode() function's inline 83811 definition here where it can see the Document class definition. 83812 83813 * dom/DynamicNodeList.cpp: 83814 (WebCore::DynamicNodeList::length): Changed to pass an Element. 83815 (WebCore::DynamicNodeList::itemForwardsFromCurrent): Ditto. 83816 (WebCore::DynamicNodeList::itemBackwardsFromCurrent): Ditto. 83817 (WebCore::DynamicNodeList::itemWithName): Ditto. 83818 * dom/DynamicNodeList.h: Ditto. 83819 83820 * dom/Element.cpp: Removed virtualHasTagName. 83821 * dom/Element.h: Made localName, prefix, namespaceURI, and 83822 styleForRenderer non-virtual. Added virtualPrefix, virtualLocalName, 83823 virtualNamespaceURI, and removed virtualHasTagName. Put the 83824 Node::hasTagName, Node::hasAttributes, and Node::attributes 83825 functions' inline definitions here where they can see the Element 83826 class definition. 83827 83828 * dom/NameNodeList.cpp: 83829 (WebCore::NameNodeList::nodeMatches): Updated to take an Element. 83830 * dom/NameNodeList.h: Ditto. 83831 83832 * dom/Node.cpp: 83833 (WebCore::Node::virtualPrefix): Renamed from prefix. 83834 (WebCore::Node::virtualLocalName): Renamed from localName. 83835 (WebCore::Node::virtualNamespaceURI): Renamed from namespaceURI. 83836 (WebCore::Node::styleForRenderer): Handle the Element case here. 83837 83838 * dom/Node.h: Removed definition of hasTagName that calls virtual, 83839 since we now have a non-virtual version. Made hasAttributes, 83840 attributes, remove, localName, namespaceURI, prefix, isDocumentNode, 83841 and styleForRenderer non-virtual. Added virtualPrefix, 83842 virtualLocalName, and virtualNamespaceURI. Removed isMalformed 83843 and setMalformed, which are used only on HTMLFormElement objects. 83844 83845 * dom/TagNodeList.cpp: 83846 (WebCore::TagNodeList::nodeMatches): Updated to take an Element. 83847 * dom/TagNodeList.h: Ditto. 83848 83849 * html/HTMLAnchorElement.cpp: Added a comment. 83850 * html/HTMLFormControlElement.cpp: Ditto. 83851 83852 * html/HTMLAnchorElement.h: Removed unused, unimplemented setTabIndex 83853 function. Marked tabIndex function virtual explicitly for clarity. 83854 83855 * html/HTMLAreaElement.h: Removed unused, unimplemented setTabIndex 83856 function. Marked isFocusable function virtual explicitly for clarity. 83857 83858 * html/HTMLElement.h: Marked tabIndex function virtual explicitly for 83859 clarity. 83860 * html/HTMLFormControlElement.h: Ditto. 83861 83862 * html/HTMLFormElement.h: Made isMalformed non-virtual. 83863 83864 * html/HTMLParser.cpp: 83865 (WebCore::HTMLParser::handleError): Use the already-cast-to-HTMLElement 83866 pointer to call localName since that one does not need to call a virtual 83867 function. 83868 83869 * rendering/RenderBlock.cpp: 83870 (WebCore::RenderBlock::layoutBlock): Cast to HTMLFormElement before 83871 calling isMalformed. We already did a tag name check so we know it's 83872 an HTMLFormELement. 83873 83874 * xml/XPathUtil.cpp: 83875 (WebCore::XPath::isValidContextNode): Rewrote to not make so many calls 83876 to nodeType(), since it's a virtual function. 83877 83878 2008-09-28 David Hyatt <hyatt (a] apple.com> 83879 83880 Make frameRectsChanged() cross-platform on ScrollView. 83881 83882 Reviewed by Oliver Hunt 83883 83884 * platform/ScrollView.cpp: 83885 (WebCore::ScrollView::frameRectsChanged): 83886 * platform/ScrollView.h: 83887 * platform/gtk/ScrollViewGtk.cpp: 83888 * platform/qt/ScrollViewQt.cpp: 83889 * platform/win/ScrollViewWin.cpp: 83890 * platform/wx/ScrollViewWx.cpp: 83891 83892 2008-09-28 Oliver Hunt <oliver (a] apple.com> 83893 83894 Reviewed by Maciej Stachowiak. 83895 83896 Bug 21141: REGRESSION: Exception messages for user entered commands are poor 83897 <https://bugs.webkit.org/show_bug.cgi?id=21141> 83898 83899 The bug repsonsible for this was the the JSInspectedObjectWrapper instances 83900 were not initialising their StructureID's to indicate that the wrapper 83901 overrides hasInstance, etc. The solution is simply to use the createStructureID 83902 helper on JSQuarantinedObjectWrapper to create a correct StructureID. 83903 83904 * bindings/js/JSInspectedObjectWrapper.cpp: 83905 (WebCore::JSInspectedObjectWrapper::wrap): 83906 83907 2008-09-28 David Hyatt <hyatt (a] apple.com> 83908 83909 Make sure pixel wheel scrolls (formerly "continuous" wheel events) send deltas to DOM wheel events in 83910 terms of lines. 83911 83912 Reviewed by Oliver Hunt 83913 83914 * dom/EventTargetNode.cpp: 83915 (WebCore::EventTargetNode::dispatchWheelEvent): 83916 83917 2008-09-28 David Hyatt <hyatt (a] apple.com> 83918 83919 https://bugs.webkit.org/show_bug.cgi?id=21191 83920 83921 Rework mouse wheeling significantly to make the platform event less messy and to enable wheelEvent 83922 on ScrollView to be cross-platform. 83923 83924 Give the wheel event a concept of granularity (pixel, line or page). What used to be called continuous 83925 events are now pixel wheel events. 83926 83927 Page scrolling as implemented in bug 17589 was completely broken. It had the following problems: 83928 (1) Page scrolling has been corrected to be properly detected (on Windows 83929 page wheeling is only done in the vertical direction and it is keyed off a special return value of -1). The 83930 old code had some bizarre incorrect heuristic for "guessing" that you should page scroll and also thought 83931 you could page scroll horizontally. 83932 (2) Page scrolling a layer used the enclosing ScrollView's width/height instead of the layer's width/height. 83933 This caused the scroll amount for page scrolling to be way too large on layers. 83934 83935 Bug 17589 got the default horizontal scrolling value wrong. It assumed 1, when the Vista default is 3. 83936 83937 Incorporate WebCore's line multiplier right into the deltas of the event. This eliminates the need 83938 for separate multiplier fields (or for the need to ask if you're looking for line sensitivity). 83939 83940 Reviewed by Oliver Hunt 83941 83942 * editing/EditorCommand.cpp: 83943 (WebCore::verticalScrollDistance): 83944 * page/EventHandler.cpp: 83945 (WebCore::scrollAndAcceptEvent): 83946 (WebCore::EventHandler::handleWheelEvent): 83947 * platform/PlatformWheelEvent.h: 83948 (WebCore::): 83949 (WebCore::PlatformWheelEvent::pos): 83950 (WebCore::PlatformWheelEvent::globalPos): 83951 (WebCore::PlatformWheelEvent::deltaX): 83952 (WebCore::PlatformWheelEvent::deltaY): 83953 (WebCore::PlatformWheelEvent::granularity): 83954 (WebCore::PlatformWheelEvent::x): 83955 (WebCore::PlatformWheelEvent::globalX): 83956 (WebCore::PlatformWheelEvent::ignore): 83957 (WebCore::PlatformWheelEvent::horizontalLineMultiplier): 83958 (WebCore::PlatformWheelEvent::verticalLineMultiplier): 83959 * platform/ScrollView.cpp: 83960 (WebCore::ScrollView::wheelEvent): 83961 * platform/Scrollbar.h: 83962 * platform/gtk/ScrollViewGtk.cpp: 83963 (WebCore::ScrollView::updateScrollbars): 83964 * platform/gtk/WheelEventGtk.cpp: 83965 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 83966 * platform/mac/ScrollViewMac.mm: 83967 * platform/mac/WheelEventMac.mm: 83968 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 83969 * platform/qt/ScrollViewQt.cpp: 83970 (WebCore::ScrollView::updateScrollbars): 83971 * platform/qt/WheelEventQt.cpp: 83972 * platform/win/ScrollViewWin.cpp: 83973 (WebCore::ScrollView::updateScrollbars): 83974 * platform/win/WheelEventWin.cpp: 83975 (WebCore::PlatformWheelEvent::horizontalLineMultiplier): 83976 (WebCore::PlatformWheelEvent::verticalLineMultiplier): 83977 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 83978 * platform/wx/ScrollViewWx.cpp: 83979 (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): 83980 (WebCore::ScrollView::wheelEvent): 83981 * rendering/RenderLayer.cpp: 83982 (WebCore::RenderLayer::updateScrollInfoAfterLayout): 83983 83984 2008-09-27 Eric Carlson <eric.carlson (a] apple.com> 83985 83986 Reviewed by Sam Weinig. 83987 83988 fix https://bugs.webkit.org/show_bug.cgi?id=20994 83989 <rdar://problem/6171023> HTMLVideoElement width and height attributes are now unsigned 83990 83991 HTML5 spec says HTMLVideoElement width and height attributes should be unsigned. Convert 83992 all unsigned media attributes from string with toUInt() instead of toInt(). 83993 83994 * html/HTMLMediaElement.cpp: 83995 (WebCore::HTMLMediaElement::playCount): convert from attribute with toUInt(). 83996 83997 * html/HTMLVideoElement.cpp: 83998 (WebCore::HTMLVideoElement::videoWidth): 83999 (WebCore::HTMLVideoElement::videoHeight): return unsigned to match idl. 84000 (WebCore::HTMLVideoElement::width): convert from attribute with toUInt() and return 84001 unsigned value. 84002 (WebCore::HTMLVideoElement::height): Ditto. 84003 (WebCore::HTMLVideoElement::setWidth): take unsigned value. 84004 (WebCore::HTMLVideoElement::setHeight): Ditto. 84005 84006 * html/HTMLVideoElement.h: width, height, videoWidth, and videoHeight are unsigned. 84007 84008 * html/HTMLVideoElement.idl: make width and height unsigned to match HTML5 spec. 84009 84010 2008-09-27 Timothy Hatcher <timothy (a] apple.com> 84011 84012 Fixes an exception when typing a command in the Console. 84013 84014 Reviewed by Oliver Hunt. 84015 84016 * page/inspector/Console.js: 84017 (WebInspector.Console.prototype.addMessage): Null check 84018 this.previosMessage. 84019 84020 2008-09-27 Timothy Hatcher <timothy (a] apple.com> 84021 84022 Fixes a bug where the Profiles panel sidebar would be empty 84023 after closing and reopening the Web Inspector. 84024 84025 https://bugs.webkit.org/show_bug.cgi?id=21179 84026 84027 Reviewed by Sam Weinig. 84028 84029 * page/inspector/ProfilesPanel.js: 84030 (WebInspector.ProfilesPanel.prototype.reset): Don't call 84031 populateInterface, it is called automatically. 84032 (WebInspector.ProfilesPanel.prototype._populateProfiles): 84033 Return early if the sidebar is already populated. 84034 84035 2008-09-27 Dave Hyatt <hyatt (a] apple.com> 84036 84037 Bug 21190. The line scroll amount on Windows is way too small. A patch for bug 17589 for wheel sensitivity 84038 incorrectly applied the tinier wheel step delta (unmultiplied) to line scrolling. Line scrolling with the 84039 scrollbar has nothing to do with mouse wheeling. This patch reverts the scrollbars to use the same line 84040 step as other platforms while leaving the wheel delta alone for use with wheel scrolling. 84041 84042 There was a lot wrong with 17589, so more patches will be coming to deal with the fallout of this patch 84043 (which should never have landed in the first place). 84044 84045 Reviewed by Tim Hatcher, Sam Weinig 84046 84047 * platform/win/ScrollViewWin.cpp: 84048 (WebCore::adjustDeltaForPageScrollMode): 84049 (WebCore::ScrollView::updateScrollbars): 84050 (WebCore::ScrollView::wheelEvent): 84051 84052 2008-09-27 David Hyatt <hyatt (a] apple.com> 84053 84054 Make the scrollbarUnderMouse method cross-platform. 84055 84056 Reviewed by Sam Weinig 84057 84058 * platform/ScrollView.cpp: 84059 (WebCore::ScrollView::scrollbarUnderMouse): 84060 * platform/gtk/ScrollViewGtk.cpp: 84061 * platform/mac/ScrollViewMac.mm: 84062 * platform/qt/ScrollViewQt.cpp: 84063 * platform/win/ScrollViewWin.cpp: 84064 * platform/wx/ScrollViewWx.cpp: 84065 84066 2008-09-27 Holger Hans Peter Freyther <zecke (a] selfish.org> 84067 84068 Gtk+ build fix. 84069 84070 * platform/gtk/ScrollViewGtk.cpp: 84071 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 84072 84073 2008-09-27 Jan Michael Alonzo <jmalonzo (a] webkit.org> 84074 84075 Reviewed by Holger Freyther. 84076 84077 https://bugs.webkit.org/show_bug.cgi?id=20287 84078 [Gtk] disable plugins for gtk/directfb target 84079 84080 Introduce WTF_PLATFORM_X11 for X11 builds. 84081 Also use target-specific packages when building the port 84082 84083 * platform/gtk/PlatformScreenGtk.cpp: 84084 * plugins/gtk/PluginViewGtk.cpp: 84085 (WebCore::PluginView::updatePluginWidget): 84086 (WebCore::PluginView::getValueStatic): 84087 (WebCore::PluginView::getValue): 84088 (WebCore::PluginView::init): 84089 84090 2008-09-27 David Hyatt <hyatt (a] apple.com> 84091 84092 https://bugs.webkit.org/show_bug.cgi?id=21188 84093 84094 Make scrollbar suppression and resizer avoidance cross-platform. 84095 84096 Reviewed by Anders 84097 84098 * loader/FrameLoader.cpp: 84099 (WebCore::FrameLoader::transitionToCommitted): 84100 * page/FrameView.cpp: 84101 (WebCore::FrameView::resetScrollbars): 84102 (WebCore::FrameView::clear): 84103 (WebCore::FrameView::layout): 84104 (WebCore::FrameView::restoreScrollbar): 84105 (WebCore::FrameView::windowResizerRect): 84106 * page/FrameView.h: 84107 * platform/ScrollView.cpp: 84108 (WebCore::ScrollView::init): 84109 (WebCore::ScrollView::resizerOverlapsContent): 84110 (WebCore::ScrollView::adjustScrollbarsAvoidingResizerCount): 84111 (WebCore::ScrollView::setParent): 84112 (WebCore::ScrollView::setScrollbarsSuppressed): 84113 (WebCore::ScrollView::platformSetScrollbarsSuppressed): 84114 * platform/ScrollView.h: 84115 (WebCore::ScrollView::scrollbarsSuppressed): 84116 (WebCore::ScrollView::windowResizerRect): 84117 * platform/Scrollbar.cpp: 84118 (WebCore::Scrollbar::setFrameRect): 84119 (WebCore::Scrollbar::setParent): 84120 * platform/gtk/ScrollViewGtk.cpp: 84121 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 84122 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): 84123 (WebCore::ScrollView::updateScrollbars): 84124 (WebCore::ScrollView::paint): 84125 * platform/mac/ScrollViewMac.mm: 84126 (WebCore::ScrollView::ScrollView): 84127 (WebCore::ScrollView::~ScrollView): 84128 (WebCore::ScrollView::platformSetScrollbarsSuppressed): 84129 (WebCore::ScrollView::setScrollPosition): 84130 * platform/qt/ScrollViewQt.cpp: 84131 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 84132 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 84133 (WebCore::ScrollView::frameRectsChanged): 84134 (WebCore::ScrollView::updateScrollbars): 84135 (WebCore::ScrollView::paint): 84136 * platform/win/ScrollViewWin.cpp: 84137 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 84138 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 84139 (WebCore::ScrollView::updateScrollbars): 84140 (WebCore::ScrollView::paint): 84141 * platform/wx/ScrollViewWx.cpp: 84142 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 84143 84144 2008-09-27 Holger Hans Peter Freyther <zecke (a] selfish.org> 84145 84146 Rubber-stamped by Anders Carlsson. 84147 84148 Compile fix. 84149 84150 * plugins/PluginView.cpp: 84151 (WebCore::PluginView::load): 84152 84153 2008-09-27 Mark Rowe <mrowe (a] apple.com> 84154 84155 Rubber-stamped by Sam Weinig. 84156 84157 Fix <https://bugs.webkit.org/show_bug.cgi?id=21184>. 84158 Bug 21184: REGRESSION: Reproducible crash below StringImpl::hash while running editing/deleting/5408255.html 84159 84160 Remove an assertion that was incorrect and that if made correct would have duplicated a check that occurred earlier in the function. 84161 84162 * loader/CachedResource.cpp: 84163 (WebCore::CachedResource::~CachedResource): 84164 84165 2008-09-27 Holger Hans Peter Freyther <zecke (a] selfish.org> 84166 84167 Reviewed by Simon Hausmann. 84168 84169 [qt] Use QImageReader to figure out which image formats are supported 84170 - Qt can have many different plugins for different image formats. Instead 84171 of checking only for a few in WebCore use Qt to determine if this data 84172 can be treated as an image. 84173 84174 * platform/graphics/qt/ImageSourceQt.cpp: 84175 (WebCore::canHandleImage): 84176 (WebCore::createDecoder): 84177 84178 2008-09-27 Holger Hans Peter Freyther <zecke (a] selfish.org> 84179 84180 84181 [qt] Clean the pattern code 84182 - Use save/restore on the painter after manipulating the 84183 pen/brush 84184 - Make the context and object null checking consistent. CG is using 84185 the object unconditionally so the Qt webkit platform can do the 84186 same. 84187 - Move code below the early exit. Only use the m_ownerElement before 84188 the early exit as the CG code is doing it. 84189 84190 * svg/graphics/SVGPaintServerPattern.h: 84191 * svg/graphics/qt/SVGPaintServerPatternQt.cpp: 84192 (WebCore::SVGPaintServerPattern::setup): 84193 (WebCore::SVGPaintServerPattern::teardown): 84194 84195 2008-09-27 Keishi Hattori <casey.hattori (a] gmail.com> 84196 84197 Added support for console.trace. 84198 84199 https://bugs.webkit.org/show_bug.cgi?id=19157 84200 84201 Reviewed by Kevin McCullough and Tim Hatcher. 84202 84203 * bindings/js/JSConsoleCustom.cpp: 84204 (WebCore::JSConsole::trace): 84205 * page/Console.cpp: 84206 (WebCore::Console::trace): Calls Machine::retrieveCaller to 84207 get a stack trace. 84208 * page/Console.h: 84209 (WebCore::): Added TraceMessageLevel. 84210 * page/Console.idl: Added console.trace. 84211 * page/inspector/Console.js: 84212 (ConsoleMessage): Added case for TraceMessageLevel. 84213 84214 2008-09-27 Anders Carlsson <andersca (a] apple.com> 84215 84216 Reviewed by Sam Weinig. 84217 84218 https://bugs.webkit.org/show_bug.cgi?id=21178 84219 <rdar://problem/6248651> 84220 84221 Check if the plug-in is allowed to load the resource. This matches Firefox. 84222 84223 Test: http/tests/plugins/local-geturl-from-remote.html 84224 84225 * plugins/PluginView.cpp: 84226 (WebCore::PluginView::load): 84227 84228 2008-09-22 Dirk Schulze <vbs85 (a] gmx.de> 84229 84230 Reviewed by Eric Seidel. 84231 84232 Added SVG pattern support to Qt. 84233 84234 [Qt] SVG patterns are missing 84235 https://bugs.webkit.org/show_bug.cgi?id=20973 84236 84237 * svg/graphics/qt/SVGPaintServerPatternQt.cpp: 84238 (WebCore::SVGPaintServerPattern::setup): 84239 84240 2008-09-27 Keishi Hattori <casey.hattori (a] gmail.com> 84241 84242 Fixed a bug in the JS syntax highlighter with multiple line tokens. 84243 84244 https://bugs.webkit.org/show_bug.cgi?id=21171 84245 84246 Reviewed by Tim Hatcher. 84247 84248 * page/inspector/SourceFrame.js: 84249 (syntaxHighlightJavascriptLine): Initialize previousMatchLength. 84250 84251 2008-09-27 Timothy Hatcher <timothy (a] apple.com> 84252 84253 Change searching in the Profiles panel to not match the 84254 Self and Total columns when there are no units. The only 84255 column that is matched for unitless number searches is 84256 now the Calls column. 84257 84258 https://bugs.webkit.org/show_bug.cgi?id=21169 84259 84260 Reviewed by Sam Weinig. 84261 84262 * page/inspector/ProfileView.js: 84263 (WebInspector.ProfileView.prototype.performSearch): 84264 84265 2008-09-27 David Hyatt <hyatt (a] apple.com> 84266 84267 Rename boundsGeometry -> boundsRect. Rename geometryChanged -> frameRectsChanged. 84268 84269 Reviewed by Sam Weinig 84270 84271 * platform/ScrollView.h: 84272 * platform/Widget.h: 84273 (WebCore::Widget::boundsRect): 84274 (WebCore::Widget::invalidate): 84275 (WebCore::Widget::frameRectsChanged): 84276 * platform/gtk/ScrollViewGtk.cpp: 84277 (WebCore::ScrollViewScrollbar::frameRectsChanged): 84278 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 84279 (WebCore::ScrollView::setFrameRect): 84280 (WebCore::ScrollView::updateScrollbars): 84281 (WebCore::ScrollView::frameRectsChanged): 84282 * platform/gtk/ScrollbarGtk.cpp: 84283 (ScrollbarGtk::setFrameRect): 84284 (ScrollbarGtk::frameRectsChanged): 84285 * platform/gtk/ScrollbarGtk.h: 84286 * platform/gtk/WidgetGtk.cpp: 84287 * platform/qt/ScrollViewQt.cpp: 84288 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 84289 (WebCore::ScrollView::setFrameRect): 84290 (WebCore::ScrollView::frameRectsChanged): 84291 (WebCore::ScrollView::updateScrollbars): 84292 * platform/win/ScrollViewWin.cpp: 84293 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 84294 (WebCore::ScrollView::setFrameRect): 84295 (WebCore::ScrollView::updateScrollbars): 84296 (WebCore::ScrollView::frameRectsChanged): 84297 * plugins/PluginView.cpp: 84298 (WebCore::PluginView::frameRectsChanged): 84299 * plugins/PluginView.h: 84300 84301 2008-09-27 Simon Hausmann <hausmann (a] webkit.org> 84302 84303 Refix the previous build fix to compile on non-Qt platforms, too. 84304 84305 * WebCore.pro: Don't pass -i to create_hashtable, added missing -n 84306 WebCore to generate the PrototypeTable in the WebCore namespace 84307 * bindings/js/JSEventTargetBase.h: Revert previous fix, the Prototype 84308 table remains in the Webcore namespace 84309 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): 84310 84311 2008-09-27 Simon Hausmann <hausmann (a] webkit.org> 84312 84313 Fix compilation with gcc 4.3 (probably > 4.0) 84314 84315 * bindings/js/JSDOMWindowBase.cpp: Don't define static property 84316 get/put functions inside the WebCore namespace. 84317 * bindings/js/JSEventTargetBase.cpp: Ditto. 84318 * bindings/js/JSEventTargetNode.cpp: Ditto. 84319 * bindings/js/JSEventTargetSVGElementInstance.cpp: Ditto. 84320 * bindings/js/JSEventTargetBase.h: Forward declare 84321 JSEventTargetPrototypeTable in the JSC namespace as the lut.h file 84322 defines it in the JSC namespace. 84323 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): Add JSC:: 84324 prefix for PrototypeTable symbol. 84325 84326 2008-09-27 David Hyatt <hyatt (a] apple.com> 84327 84328 Rename frameGeometry to frameRect. Rename setFrameGeometry to setFrameRect. 84329 84330 Reviewed by Dan Bernstein 84331 84332 * WebCore.base.exp: 84333 * page/FrameView.cpp: 84334 (WebCore::FrameView::FrameView): 84335 (WebCore::FrameView::updateControlTints): 84336 * platform/ScrollView.h: 84337 * platform/Scrollbar.cpp: 84338 (WebCore::Scrollbar::Scrollbar): 84339 (WebCore::Scrollbar::paint): 84340 (WebCore::Scrollbar::setFrameRect): 84341 * platform/Scrollbar.h: 84342 * platform/ScrollbarThemeComposite.cpp: 84343 (WebCore::ScrollbarThemeComposite::paint): 84344 * platform/Widget.h: 84345 (WebCore::Widget::x): 84346 (WebCore::Widget::y): 84347 (WebCore::Widget::width): 84348 (WebCore::Widget::height): 84349 (WebCore::Widget::size): 84350 (WebCore::Widget::pos): 84351 (WebCore::Widget::resize): 84352 (WebCore::Widget::move): 84353 * platform/gtk/ScrollViewGtk.cpp: 84354 (WebCore::ScrollViewScrollbar::geometryChanged): 84355 (WebCore::ScrollView::update): 84356 (WebCore::ScrollView::setFrameRect): 84357 (WebCore::ScrollView::updateScrollbars): 84358 (WebCore::ScrollView::scrollbarUnderMouse): 84359 (WebCore::ScrollView::paint): 84360 * platform/gtk/ScrollbarGtk.cpp: 84361 (ScrollbarGtk::setFrameRect): 84362 (ScrollbarGtk::geometryChanged): 84363 * platform/gtk/ScrollbarGtk.h: 84364 * platform/gtk/WidgetGtk.cpp: 84365 (WebCore::Widget::frameRect): 84366 (WebCore::Widget::setFrameRect): 84367 * platform/mac/ScrollbarThemeMac.mm: 84368 (WebCore::ScrollbarThemeMac::trackRect): 84369 (WebCore::ScrollbarThemeMac::paint): 84370 * platform/mac/WidgetMac.mm: 84371 (WebCore::Widget::frameRect): 84372 (WebCore::Widget::setFrameRect): 84373 * platform/qt/ScrollViewQt.cpp: 84374 (WebCore::ScrollView::setFrameRect): 84375 (WebCore::ScrollView::updateScrollbars): 84376 (WebCore::ScrollView::scrollbarUnderMouse): 84377 (WebCore::ScrollView::paint): 84378 * platform/qt/ScrollbarThemeQt.cpp: 84379 (WebCore::styleOptionSlider): 84380 * platform/qt/WidgetQt.cpp: 84381 (WebCore::Widget::frameRect): 84382 (WebCore::Widget::setFrameRect): 84383 * platform/win/PopupMenuWin.cpp: 84384 (WebCore::PopupMenu::invalidateItem): 84385 (WebCore::PopupMenu::valueChanged): 84386 (WebCore::PopupWndProc): 84387 * platform/win/ScrollViewWin.cpp: 84388 (WebCore::ScrollView::setFrameRect): 84389 (WebCore::ScrollView::updateScrollbars): 84390 (WebCore::ScrollView::scrollbarUnderMouse): 84391 (WebCore::ScrollView::paint): 84392 * platform/win/ScrollbarThemeSafari.cpp: 84393 (WebCore::ScrollbarThemeSafari::trackRect): 84394 * platform/win/WidgetWin.cpp: 84395 (WebCore::Widget::frameRect): 84396 (WebCore::Widget::setFrameRect): 84397 * platform/wx/WidgetWx.cpp: 84398 (WebCore::Widget::frameRect): 84399 (WebCore::Widget::setFrameRect): 84400 * plugins/PluginView.cpp: 84401 (WebCore::PluginView::setFrameRect): 84402 * plugins/PluginView.h: 84403 * plugins/gtk/PluginViewGtk.cpp: 84404 (WebCore::PluginView::updatePluginWidget): 84405 (WebCore::PluginView::paint): 84406 (WebCore::PluginView::init): 84407 * plugins/qt/PluginViewQt.cpp: 84408 (WebCore::PluginView::updatePluginWidget): 84409 (WebCore::PluginView::init): 84410 * plugins/win/PluginViewWin.cpp: 84411 (WebCore::PluginView::updatePluginWidget): 84412 (WebCore::PluginView::paintMissingPluginIcon): 84413 (WebCore::PluginView::paint): 84414 (WebCore::PluginView::init): 84415 * rendering/RenderLayer.cpp: 84416 (WebCore::RenderLayer::positionOverflowControls): 84417 * rendering/RenderListBox.cpp: 84418 (WebCore::RenderListBox::paintScrollbar): 84419 * rendering/RenderPart.cpp: 84420 (WebCore::RenderPart::updateWidgetPosition): 84421 * rendering/RenderWidget.cpp: 84422 (WebCore::RenderWidget::setWidgetGeometry): 84423 (WebCore::RenderWidget::updateWidgetPosition): 84424 84425 2008-09-27 David Hyatt <hyatt (a] apple.com> 84426 84427 <rdar://problem/6252041> REGRESSION (4dp-TOT): Crash in Widget::platformWidget() when closing a PDF 84428 84429 This crash was lurking for a while and basically got exposed by my changes to visibleContentRect() to 84430 access an actual member variable. 84431 84432 Reviewed by Dan Bernstein 84433 84434 * page/FocusController.cpp: 84435 (WebCore::FocusController::setFocusedFrame): 84436 84437 2008-09-27 Jan Michael Alonzo <jmalonzo (a] webkit.org> 84438 84439 Attempt to fix QT Build. Not reviewed. 84440 84441 * WebCore.pro: add -n WebCore parameter to create_hash_table 84442 84443 2008-09-26 Gwenole Beauchesne <gbeauchesne (a] splitted-desktop.org> 84444 84445 Reviewed by Eric Seidel. 84446 84447 http://bugs.webkit.org/show_bug.cgi?id=18905 84448 [GTK] Fix build with older pango (1.14.8) 84449 84450 * platform/graphics/gtk/FontGtk.cpp: 84451 * platform/gtk/Language.cpp: 84452 (_pango_get_lc_ctype): 84453 (pango_language_get_default): 84454 84455 2008-09-26 David Hyatt <hyatt (a] apple.com> 84456 84457 https://bugs.webkit.org/show_bug.cgi?id=21168 84458 84459 Make contentsToWindow/windowToContents cross-platform. 84460 84461 Reviewed by Oliver Hunt 84462 84463 * platform/ScrollView.cpp: 84464 (WebCore::ScrollView::windowToContents): 84465 (WebCore::ScrollView::contentsToWindow): 84466 * platform/ScrollView.h: 84467 * platform/gtk/ScrollViewGtk.cpp: 84468 * platform/mac/ScrollViewMac.mm: 84469 * platform/qt/ScrollViewQt.cpp: 84470 * platform/win/ScrollViewWin.cpp: 84471 * platform/wx/ScrollViewWx.cpp: 84472 84473 2008-09-26 Sam Weinig <sam (a] webkit.org> 84474 84475 GTK build fix. 84476 84477 * GNUmakefile.am: 84478 84479 2008-09-26 David Hyatt <hyatt (a] apple.com> 84480 84481 Eliminate shouldUpdateWhileOffscreen from ScrollView. Make the concept of not invalidating while 84482 offscreen cross-platform. Rename the inWindow method to isOffscreen (which flips the boolean), since that 84483 more clearly conveys the intent of the method. Make isOffscreen also check NSWindow visibility on Mac. 84484 84485 Reviewed by Oliver Hunt 84486 84487 * page/FrameView.cpp: 84488 (WebCore::FrameView::repaintContentRectangle): 84489 * page/FrameView.h: 84490 * platform/ScrollView.h: 84491 * platform/gtk/ScrollViewGtk.cpp: 84492 (WebCore::ScrollView::isOffscreen): 84493 * platform/mac/ScrollViewMac.mm: 84494 (WebCore::ScrollView::updateContents): 84495 (WebCore::ScrollView::isOffscreen): 84496 * platform/qt/ScrollViewQt.cpp: 84497 (WebCore::ScrollView::isOffscreen): 84498 * platform/win/ScrollViewWin.cpp: 84499 (WebCore::ScrollView::isOffscreen): 84500 * platform/wx/ScrollViewWx.cpp: 84501 (WebCore::ScrollView::isOffscreen): 84502 * rendering/RenderObject.cpp: 84503 (WebCore::RenderObject::willRenderImage): 84504 84505 2008-09-26 David Hyatt <hyatt (a] apple.com> 84506 84507 https://bugs.webkit.org/show_bug.cgi?id=21164 84508 84509 Rework concept of allowsScrolling/setAllowsScrolling to be cross-platform. 84510 84511 Reviewed by Sam Weinig 84512 84513 * WebCore.base.exp: 84514 * page/FrameView.cpp: 84515 (WebCore::FrameView::setAllowsScrolling): 84516 * page/FrameView.h: 84517 * platform/ScrollView.cpp: 84518 (WebCore::ScrollView::setAllowsScrolling): 84519 * platform/ScrollView.h: 84520 (WebCore::ScrollView::allowsScrolling): 84521 * platform/win/ScrollViewWin.cpp: 84522 (WebCore::ScrollView::wheelEvent): 84523 84524 2008-09-26 Kevin Ollivier <kevino (a] theolliviers.com> 84525 84526 wx build fixes after Widget/ScrollView changes. 84527 84528 * platform/wx/PopupMenuWx.cpp: 84529 (WebCore::PopupMenu::show): 84530 * platform/wx/ScrollViewWx.cpp: 84531 (WebCore::ScrollView::platformSetContentsSize): 84532 (WebCore::ScrollView::platformSetScrollbarModes): 84533 (WebCore::ScrollView::wheelEvent): 84534 * platform/wx/TemporaryLinkStubs.cpp: 84535 * platform/wx/WidgetWx.cpp: 84536 (WebCore::Widget::containingWindow): 84537 84538 2008-09-26 Timothy Hatcher <timothy (a] apple.com> 84539 84540 Allow searching for paths by always performing the 84541 three search methods in the Elements panel and not 84542 assume a search with a "/" is a XPath query. 84543 84544 https://bugs.webkit.org/show_bug.cgi?id=21159 84545 84546 Reviewed by Geoff Garen. 84547 84548 * page/inspector/ElementsPanel.js: 84549 (WebInspector.ElementsPanel.prototype.performSearch): 84550 84551 2008-09-26 Sam Weinig <sam (a] webkit.org> 84552 84553 Reviewed by Darin Adler. 84554 84555 Patch for https://bugs.webkit.org/show_bug.cgi?id=21152 84556 Speedup static property get/put 84557 84558 * DerivedSources.make: 84559 * GNUmakefile.am: 84560 * WebCore.pro: 84561 * WebCore.vcproj/WebCore.vcproj: 84562 * WebCore.xcodeproj/project.pbxproj: 84563 * bindings/js/JSDOMBinding.cpp: 84564 * bindings/js/JSDOMBinding.h: 84565 * bindings/js/JSDOMWindowBase.cpp: 84566 (WebCore::getDOMConstructor): 84567 (WebCore::jsDOMWindowBaseCrypto): 84568 (WebCore::jsDOMWindowBaseEvent): 84569 (WebCore::jsDOMWindowBaseImage): 84570 (WebCore::jsDOMWindowBaseMessageChannel): 84571 (WebCore::jsDOMWindowBaseOption): 84572 (WebCore::jsDOMWindowBaseXMLHttpRequest): 84573 (WebCore::jsDOMWindowBaseAudio): 84574 (WebCore::jsDOMWindowBaseXSLTProcessor): 84575 (WebCore::jsDOMWindowBaseOnabort): 84576 (WebCore::jsDOMWindowBaseOnblur): 84577 (WebCore::jsDOMWindowBaseOnchange): 84578 (WebCore::jsDOMWindowBaseOnclick): 84579 (WebCore::jsDOMWindowBaseOndblclick): 84580 (WebCore::jsDOMWindowBaseOnerror): 84581 (WebCore::jsDOMWindowBaseOnfocus): 84582 (WebCore::jsDOMWindowBaseOnkeydown): 84583 (WebCore::jsDOMWindowBaseOnkeypress): 84584 (WebCore::jsDOMWindowBaseOnkeyup): 84585 (WebCore::jsDOMWindowBaseOnload): 84586 (WebCore::jsDOMWindowBaseOnmousedown): 84587 (WebCore::jsDOMWindowBaseOnmousemove): 84588 (WebCore::jsDOMWindowBaseOnmouseout): 84589 (WebCore::jsDOMWindowBaseOnmouseover): 84590 (WebCore::jsDOMWindowBaseOnmouseup): 84591 (WebCore::jsDOMWindowBaseOnMouseWheel): 84592 (WebCore::jsDOMWindowBaseOnreset): 84593 (WebCore::jsDOMWindowBaseOnresize): 84594 (WebCore::jsDOMWindowBaseOnscroll): 84595 (WebCore::jsDOMWindowBaseOnsearch): 84596 (WebCore::jsDOMWindowBaseOnselect): 84597 (WebCore::jsDOMWindowBaseOnsubmit): 84598 (WebCore::jsDOMWindowBaseOnbeforeunload): 84599 (WebCore::jsDOMWindowBaseOnunload): 84600 (WebCore::jsDOMWindowBaseOnWebKitAnimationStart): 84601 (WebCore::jsDOMWindowBaseOnWebKitAnimationIteration): 84602 (WebCore::jsDOMWindowBaseOnWebKitAnimationEnd): 84603 (WebCore::jsDOMWindowBaseOnWebKitTransitionEnd): 84604 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 84605 (WebCore::JSDOMWindowBase::put): 84606 (WebCore::setJSDOMWindowBaseOnabort): 84607 (WebCore::setJSDOMWindowBaseOnblur): 84608 (WebCore::setJSDOMWindowBaseOnchange): 84609 (WebCore::setJSDOMWindowBaseOnclick): 84610 (WebCore::setJSDOMWindowBaseOndblclick): 84611 (WebCore::setJSDOMWindowBaseOnerror): 84612 (WebCore::setJSDOMWindowBaseOnfocus): 84613 (WebCore::setJSDOMWindowBaseOnkeydown): 84614 (WebCore::setJSDOMWindowBaseOnkeypress): 84615 (WebCore::setJSDOMWindowBaseOnkeyup): 84616 (WebCore::setJSDOMWindowBaseOnload): 84617 (WebCore::setJSDOMWindowBaseOnmousedown): 84618 (WebCore::setJSDOMWindowBaseOnmousemove): 84619 (WebCore::setJSDOMWindowBaseOnmouseout): 84620 (WebCore::setJSDOMWindowBaseOnmouseover): 84621 (WebCore::setJSDOMWindowBaseOnmouseup): 84622 (WebCore::setJSDOMWindowBaseOnMouseWheel): 84623 (WebCore::setJSDOMWindowBaseOnreset): 84624 (WebCore::setJSDOMWindowBaseOnresize): 84625 (WebCore::setJSDOMWindowBaseOnscroll): 84626 (WebCore::setJSDOMWindowBaseOnsearch): 84627 (WebCore::setJSDOMWindowBaseOnselect): 84628 (WebCore::setJSDOMWindowBaseOnsubmit): 84629 (WebCore::setJSDOMWindowBaseOnbeforeunload): 84630 (WebCore::setJSDOMWindowBaseOnunload): 84631 (WebCore::setJSDOMWindowBaseOnWebKitAnimationStart): 84632 (WebCore::setJSDOMWindowBaseOnWebKitAnimationIteration): 84633 (WebCore::setJSDOMWindowBaseOnWebKitAnimationEnd): 84634 (WebCore::setJSDOMWindowBaseOnWebKitTransitionEnd): 84635 (WebCore::setJSDOMWindowBaseEvent): 84636 (WebCore::setJSDOMWindowBaseAudio): 84637 (WebCore::setJSDOMWindowBaseImage): 84638 (WebCore::setJSDOMWindowBaseMessageChannel): 84639 (WebCore::setJSDOMWindowBaseOption): 84640 (WebCore::setJSDOMWindowBaseXMLHttpRequest): 84641 (WebCore::setJSDOMWindowBaseXSLTProcessor): 84642 * bindings/js/JSDOMWindowBase.h: 84643 * bindings/js/JSDOMWindowCustom.cpp: 84644 (WebCore::nonCachingStaticCloseFunctionGetter): 84645 (WebCore::nonCachingStaticBlurFunctionGetter): 84646 (WebCore::nonCachingStaticFocusFunctionGetter): 84647 (WebCore::nonCachingStaticPostMessageFunctionGetter): 84648 * bindings/js/JSDOMWindowCustom.h: 84649 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 84650 * bindings/js/JSEventTargetBase.cpp: 84651 * bindings/js/JSEventTargetBase.h: 84652 (WebCore::JSEventTargetBasePrototype::getOwnPropertySlot): 84653 (WebCore::JSEventTargetBasePrototype::classInfo): 84654 * bindings/js/JSEventTargetNode.cpp: 84655 (WebCore::): 84656 (WebCore::JSEventTargetNode::getOwnPropertySlot): 84657 (WebCore::JSEventTargetNode::put): 84658 * bindings/js/JSEventTargetNode.h: 84659 (WebCore::JSEventTargetNode::classInfo): 84660 (WebCore::JSEventTargetNode::prototypeClassName): 84661 * bindings/js/JSEventTargetSVGElementInstance.cpp: 84662 (WebCore::): 84663 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot): 84664 (WebCore::JSEventTargetSVGElementInstance::put): 84665 * bindings/js/JSEventTargetSVGElementInstance.h: 84666 (WebCore::JSEventTargetSVGElementInstance::classInfo): 84667 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName): 84668 * bindings/js/JSHTMLInputElementCustom.cpp: 84669 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot): 84670 * bindings/js/JSHistoryCustom.cpp: 84671 (WebCore::nonCachingStaticBackFunctionGetter): 84672 (WebCore::nonCachingStaticForwardFunctionGetter): 84673 (WebCore::nonCachingStaticGoFunctionGetter): 84674 (WebCore::JSHistory::customGetOwnPropertySlot): 84675 * bindings/js/JSLocationCustom.cpp: 84676 (WebCore::nonCachingStaticReplaceFunctionGetter): 84677 (WebCore::nonCachingStaticReloadFunctionGetter): 84678 (WebCore::nonCachingStaticAssignFunctionGetter): 84679 (WebCore::JSLocation::customGetOwnPropertySlot): 84680 (WebCore::JSLocation::customPut): 84681 * bindings/scripts/CodeGeneratorJS.pm: 84682 84683 2008-09-26 David Hyatt <hyatt (a] apple.com> 84684 84685 https://bugs.webkit.org/show_bug.cgi?id=21149 84686 84687 Make the concept of scroll modes cross-platform. Move the scrollbars up into ScrollView as well. 84688 Eliminate the unused isScrollable() method. 84689 84690 Reviewed by Sam Weinig 84691 84692 * WebCore.base.exp: 84693 * page/FrameView.cpp: 84694 (WebCore::FrameView::resetScrollbars): 84695 (WebCore::FrameView::initScrollbars): 84696 (WebCore::FrameView::layout): 84697 * page/FrameView.h: 84698 * page/mac/WebCoreFrameView.h: 84699 * platform/ScrollView.cpp: 84700 (WebCore::ScrollView::init): 84701 (WebCore::ScrollView::setScrollbarModes): 84702 (WebCore::ScrollView::scrollbarModes): 84703 (WebCore::ScrollView::platformSetScrollbarModes): 84704 (WebCore::ScrollView::platformScrollbarModes): 84705 * platform/ScrollView.h: 84706 (WebCore::ScrollView::horizontalScrollbar): 84707 (WebCore::ScrollView::verticalScrollbar): 84708 (WebCore::ScrollView::isScrollViewScrollbar): 84709 (WebCore::ScrollView::setHorizontalScrollbarMode): 84710 (WebCore::ScrollView::setVerticalScrollbarMode): 84711 (WebCore::ScrollView::horizontalScrollbarMode): 84712 (WebCore::ScrollView::verticalScrollbarMode): 84713 (WebCore::ScrollView::convertSelfToChild): 84714 * platform/gtk/ScrollViewGtk.cpp: 84715 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 84716 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 84717 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 84718 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 84719 (WebCore::ScrollView::updateScrollbars): 84720 (WebCore::ScrollView::scrollbarUnderMouse): 84721 (WebCore::ScrollView::isScrollViewScrollbar): 84722 (WebCore::ScrollView::paint): 84723 (WebCore::ScrollView::scroll): 84724 * platform/mac/ScrollViewMac.mm: 84725 (WebCore::ScrollView::platformSetScrollbarModes): 84726 (WebCore::ScrollView::platformScrollbarModes): 84727 * platform/qt/ScrollViewQt.cpp: 84728 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 84729 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 84730 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 84731 (WebCore::ScrollView::horizontalScrollbar): 84732 (WebCore::ScrollView::verticalScrollbar): 84733 (WebCore::ScrollView::invalidateScrollbars): 84734 (WebCore::ScrollView::updateScrollbars): 84735 (WebCore::ScrollView::scrollbarUnderMouse): 84736 (WebCore::ScrollView::paint): 84737 (WebCore::ScrollView::scroll): 84738 * platform/win/ScrollViewWin.cpp: 84739 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 84740 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 84741 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 84742 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 84743 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): 84744 (WebCore::ScrollView::ScrollViewPrivate::allowsScrolling): 84745 (WebCore::ScrollView::suppressScrollbars): 84746 (WebCore::ScrollView::updateScrollbars): 84747 (WebCore::ScrollView::scrollbarUnderMouse): 84748 (WebCore::ScrollView::paint): 84749 (WebCore::ScrollView::scroll): 84750 * platform/wx/ScrollViewWx.cpp: 84751 (WebCore::ScrollView::platformSetScrollbarModes): 84752 (WebCore::ScrollView::platformScrollbarModes): 84753 84754 2008-09-26 David Kilzer <ddkilzer (a] apple.com> 84755 84756 Fix Mac build with XPATH and XSLT disabled 84757 84758 Reviewed by Alexey. 84759 84760 * bindings/objc/DOMUtility.mm: 84761 (JSC::createDOMWrapper): Conditionalize code with ENABLE(XPATH). 84762 * dom/XMLTokenizerLibxml2.cpp: 84763 (WebCore::errorFunc): Conditionalize method with ENABLE(XSLT) to 84764 prevent an unused code warning. 84765 84766 2008-09-26 Kevin McCullough <kmccullough (a] apple.com> 84767 84768 Rubber stamped by Tim Hatcher. 84769 84770 Bug 21098: Crashing under Console::log 84771 - Speculative ASSERT to help find the problem. 84772 84773 * page/InspectorController.cpp: 84774 (WebCore::ConsoleMessage::isEqual): 84775 84776 2008-09-26 Holger Hans Peter Freyther <zecke (a] selfish.org> 84777 84778 [gtk+] Build fix for the latest ScrollView changes 84779 84780 * platform/gtk/ScrollViewGtk.cpp: 84781 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): 84782 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 84783 84784 2008-09-26 Timothy Hatcher <timothy (a] apple.com> 84785 84786 Fixes a bug where the console message repeat count would be wrong 84787 when typing commands in between repeated messages. 84788 84789 https://bugs.webkit.org/show_bug.cgi?id=21145 84790 84791 Reviewed by Kevin McCullough. 84792 84793 * page/InspectorController.cpp: 84794 (WebCore::InspectorController::clearConsoleMessages): Reset m_groupLevel. 84795 (WebCore::InspectorController::didCommitLoad): Call clearConsoleMessages. 84796 * page/inspector/Console.js: 84797 (WebInspector.Console.prototype.addMessage): Remember the original repeat count 84798 for each message as totalRepeatCount, since we now modify repeatCount to mean 84799 repeats since previous console command. If repeatCountBeforeCommand is a number, 84800 subtract that value from the repeatCount. 84801 (WebInspector.Console.prototype.clearMessages): Delete the repeatCountBeforeCommand 84802 and commandSincePreviousMessage properties. 84803 84804 2008-09-26 Eric Carlson <eric.carlson (a] apple.com> 84805 84806 Reviewed by Antti 84807 84808 https://bugs.webkit.org/show_bug.cgi?id=21116 84809 <rdar://problem/5726325> Audio from <video> can still be heard after navigating 84810 back to page with <video>, then closing tab 84811 84812 Rename willSaveToCache/didRestoreFromCache callbacks to documentWillBecomeInactive/ 84813 documentDidBecomeActive, and post documentWillBecomeInactive when a page is marked for 84814 deletion. 84815 84816 * dom/Document.cpp: 84817 (WebCore::Document::documentWillBecomeInactive): 84818 (WebCore::Document::documentDidBecomeActive): 84819 (WebCore::Document::registerForDocumentActivationCallbacks): 84820 (WebCore::Document::unregisterForDocumentActivationCallbacks): 84821 * dom/Document.h: 84822 * dom/Element.h: 84823 (WebCore::Element::documentWillBecomeInactive): 84824 (WebCore::Element::documentDidBecomeActive): 84825 * history/CachedPage.cpp: 84826 (WebCore::CachedPage::CachedPage): 84827 * html/HTMLFormElement.cpp: 84828 (WebCore::HTMLFormElement::~HTMLFormElement): 84829 (WebCore::HTMLFormElement::parseMappedAttribute): 84830 (WebCore::HTMLFormElement::documentDidBecomeActive): 84831 (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): 84832 (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): 84833 * html/HTMLFormElement.h: 84834 * html/HTMLInputElement.cpp: 84835 (WebCore::HTMLInputElement::~HTMLInputElement): 84836 (WebCore::HTMLInputElement::setInputType): 84837 (WebCore::HTMLInputElement::parseMappedAttribute): 84838 (WebCore::HTMLInputElement::needsActivationCallback): 84839 (WebCore::HTMLInputElement::registerForActivationCallbackIfNeeded): 84840 (WebCore::HTMLInputElement::unregisterForActivationCallbackIfNeeded): 84841 (WebCore::HTMLInputElement::documentDidBecomeActive): 84842 (WebCore::HTMLInputElement::willMoveToNewOwnerDocument): 84843 (WebCore::HTMLInputElement::didMoveToNewOwnerDocument): 84844 * html/HTMLInputElement.h: 84845 * html/HTMLMediaElement.cpp: 84846 (WebCore::HTMLMediaElement::HTMLMediaElement): 84847 (WebCore::HTMLMediaElement::~HTMLMediaElement): 84848 (WebCore::HTMLMediaElement::documentWillBecomeInactive): 84849 (WebCore::HTMLMediaElement::documentDidBecomeActive): 84850 * html/HTMLMediaElement.h: 84851 (WebCore::HTMLMediaElement::inActiveDocument): 84852 * loader/FrameLoader.cpp: 84853 (WebCore::FrameLoader::opened): 84854 * page/Page.cpp: 84855 (WebCore::Page::~Page): 84856 * rendering/RenderMedia.cpp: 84857 (WebCore::RenderMedia::updateControls): 84858 * rendering/RenderVideo.cpp: 84859 (WebCore::RenderVideo::updatePlayer): 84860 * svg/SVGSVGElement.cpp: 84861 (WebCore::SVGSVGElement::SVGSVGElement): 84862 (WebCore::SVGSVGElement::~SVGSVGElement): 84863 (WebCore::SVGSVGElement::documentWillBecomeInactive): 84864 (WebCore::SVGSVGElement::documentDidBecomeActive): 84865 * svg/SVGSVGElement.h: 84866 84867 2008-09-26 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 84868 84869 Reviewed by Simon 84870 84871 Fix the build inside Qt, don't create faulty prl files for now. 84872 84873 * WebCore.pro: 84874 84875 2008-09-26 Simon Hausmann <hausmann (a] webkit.org> 84876 84877 Fix compilation on Qt/Windows 84878 84879 * Add WebCore/ to the include path so that config.h is found that enables JSC 84880 * Link against winmm for the multimedia timer functions 84881 * Include DateMath.h instead of JavaScriptCore/DateMath.h as file is in the kjs/ 84882 subdirectory 84883 * In PluginViewWin.cpp don't use setPlatformWidget with the HWND for the Qt/Windows port 84884 but set m_window directly as setPlatformWidget takes a QWidget*. 84885 84886 * WebCore.pro: 84887 * platform/win/SystemTimeWin.cpp: 84888 * plugins/win/PluginViewWin.cpp: 84889 (WebCore::PluginView::init): 84890 84891 2008-09-26 Oliver Hunt <oliver (a] apple.com> 84892 84893 Reviewed by Maciej Stachowiak. 84894 84895 Bug 21054: Construction of certain DOM objects is heavily regressed by r36675 84896 <https://bugs.webkit.org/show_bug.cgi?id=21054> 84897 84898 This performance regression is actually just a symptom of a correctness 84899 bug. The constructor objects for a number of properties that have security 84900 checks on access were returning new objects each time. The most obvious 84901 symptom of this bug is that window.Image != window.Image, etc. 84902 84903 The solution to this is to make sure we cache these constructors 84904 in the same way as all the other DOM constructors. To achieve this 84905 without causing any refcount cycles it is necessary to replace the 84906 refcounted document pointer in the Image, MessageChannel, Option, 84907 XMLHttpRequest, and Audio constructor objects with a reference to 84908 the document's JS wrapper. 84909 84910 Tests: fast/dom/constructors-cached-navigate.html 84911 fast/dom/constructors-cached.html 84912 84913 * WebCore.xcodeproj/project.pbxproj: 84914 * bindings/js/JSAudioConstructor.cpp: 84915 (WebCore::JSAudioConstructor::mark): 84916 * bindings/js/JSAudioConstructor.h: 84917 (WebCore::JSAudioConstructor::document): 84918 * bindings/js/JSDOMWindowBase.cpp: 84919 (WebCore::getDOMConstructor): 84920 (WebCore::JSDOMWindowBase::getValueProperty): 84921 * bindings/js/JSDOMWindowBase.h: 84922 * bindings/js/JSHTMLOptionElementConstructor.cpp: 84923 (WebCore::JSHTMLOptionElementConstructor::mark): 84924 * bindings/js/JSHTMLOptionElementConstructor.h: 84925 (WebCore::JSHTMLOptionElementConstructor::document): 84926 * bindings/js/JSImageConstructor.cpp: 84927 (WebCore::JSImageConstructor::mark): 84928 * bindings/js/JSImageConstructor.h: 84929 (WebCore::JSImageConstructor::document): 84930 * bindings/js/JSXMLHttpRequestConstructor.cpp: 84931 (WebCore::JSXMLHttpRequestConstructor::mark): 84932 * bindings/js/JSXMLHttpRequestConstructor.h: 84933 (WebCore::JSXMLHttpRequestConstructor::document): 84934 84935 2008-09-26 Simon Hausmann <hausmann (a] webkit.org> 84936 84937 Unreviewed one-liner build fix for the Qt/Windows build. 84938 84939 The build requires NPAPI support to be enabled, fix the condition in 84940 the .pro file for that. 84941 84942 * WebCore.pro: 84943 84944 2008-09-26 Trenton Schulz <twschulz (a] trolltech.com> 84945 84946 Reviewed by Simon. 84947 84948 Fix compilation with the Qt/Cocoa port. 84949 84950 * platform/qt/ScrollViewQt.cpp: 84951 (WebCore::ScrollView::updateScrollbars): 84952 84953 2008-09-26 Simon Hausmann <hausmann (a] webkit.org> 84954 84955 Reviewed by Holger. 84956 84957 Fix compilation with VC9SP1, work around bug in TR1 library by 84958 disabling it. 84959 84960 * WebCore.pro: 84961 84962 2008-09-26 Simon Hausmann <hausmann (a] webkit.org> 84963 84964 Reviewed by Holger. 84965 84966 Fix an lupdate() warning. 84967 84968 Don't use tr() in a class that is not a QObject, use 84969 QCoreApplication::translate() directly. 84970 84971 * platform/qt/ScrollbarQt.cpp: 84972 (WebCore::Scrollbar::handleContextMenuEvent): 84973 84974 2008-09-25 David Hyatt <hyatt (a] apple.com> 84975 84976 Remove the scrollTo() method from FrameView, since it is not used by anyone. 84977 84978 Reviewed by Oliver Hunt 84979 84980 * page/FrameView.cpp: 84981 * page/FrameView.h: 84982 84983 2008-09-25 David Hyatt <hyatt (a] apple.com> 84984 84985 Make scrollRectIntoViewRecursively cross-platform. 84986 84987 Reviewed by Oliver Hunt 84988 84989 * platform/ScrollView.cpp: 84990 (WebCore::ScrollView::scrollRectIntoViewRecursively): 84991 * platform/gtk/ScrollViewGtk.cpp: 84992 * platform/mac/ScrollViewMac.mm: 84993 * platform/qt/ScrollViewQt.cpp: 84994 * platform/win/ScrollViewWin.cpp: 84995 * platform/wx/ScrollViewWx.cpp: 84996 84997 2008-09-25 David Hyatt <hyatt (a] apple.com> 84998 84999 https://bugs.webkit.org/show_bug.cgi?id=21133 85000 85001 Rename resizeContents method on ScrollView to setContentsSize (to match contentsSize()). Make it 85002 cross-platform. 85003 85004 Reviewed by Oliver Hunt 85005 85006 * loader/FrameLoader.cpp: 85007 (WebCore::FrameLoader::begin): 85008 * page/FrameView.cpp: 85009 (WebCore::FrameView::adjustViewSize): 85010 * platform/ScrollView.cpp: 85011 (WebCore::ScrollView::setContentsSize): 85012 * platform/ScrollView.h: 85013 (WebCore::ScrollView::updateScrollbars): 85014 * platform/gtk/ScrollViewGtk.cpp: 85015 * platform/mac/ScrollViewMac.mm: 85016 (WebCore::ScrollView::platformSetContentsSize): 85017 * platform/qt/ScrollViewQt.cpp: 85018 * platform/win/ScrollViewWin.cpp: 85019 * platform/wx/ScrollViewWx.cpp: 85020 (WebCore::ScrollView::platformSetContentsSize): 85021 85022 2008-09-25 David Hyatt <hyatt (a] apple.com> 85023 85024 https://bugs.webkit.org/show_bug.cgi?id=21132 85025 85026 Clean up the methods that actually do the scrolling in ScrollView. 85027 85028 Reviewed by Oliver Hunt 85029 85030 * html/HTMLBodyElement.cpp: 85031 (WebCore::HTMLBodyElement::setScrollLeft): 85032 (WebCore::HTMLBodyElement::setScrollTop): 85033 * loader/FrameLoader.cpp: 85034 (WebCore::FrameLoader::restoreScrollPositionAndViewState): 85035 * loader/ImageDocument.cpp: 85036 (WebCore::ImageDocument::imageClicked): 85037 * page/DOMWindow.cpp: 85038 (WebCore::DOMWindow::scrollBy): 85039 (WebCore::DOMWindow::scrollTo): 85040 * page/FrameView.cpp: 85041 (WebCore::FrameView::scrollTo): 85042 (WebCore::FrameView::setScrollPosition): 85043 * page/FrameView.h: 85044 * platform/ScrollView.cpp: 85045 (WebCore::ScrollView::maximumScrollPosition): 85046 * platform/ScrollView.h: 85047 (WebCore::ScrollView::contentsWidth): 85048 (WebCore::ScrollView::contentsHeight): 85049 (WebCore::ScrollView::scrollBy): 85050 * platform/gtk/ScrollViewGtk.cpp: 85051 (WebCore::ScrollView::setScrollPosition): 85052 * platform/mac/ScrollViewMac.mm: 85053 (WebCore::ScrollView::setScrollPosition): 85054 * platform/qt/ScrollViewQt.cpp: 85055 (WebCore::ScrollView::setScrollPosition): 85056 (WebCore::ScrollView::scrollRectIntoViewRecursively): 85057 * platform/win/ScrollViewWin.cpp: 85058 (WebCore::ScrollView::setScrollPosition): 85059 (WebCore::ScrollView::scrollRectIntoViewRecursively): 85060 * platform/wx/ScrollViewWx.cpp: 85061 (WebCore::ScrollView::setScrollPosition): 85062 * rendering/RenderLayer.cpp: 85063 (WebCore::RenderLayer::scrollByRecursively): 85064 (WebCore::RenderLayer::scrollRectToVisible): 85065 85066 2008-09-25 Dan Bernstein <mitz (a] apple.com> 85067 85068 - attempted Windows build fix 85069 85070 * platform/win/ScrollViewWin.cpp: 85071 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 85072 (WebCore::ScrollView::setContentsPos): 85073 (WebCore::ScrollView::paint): 85074 85075 2008-09-25 Timothy Hatcher <timothy (a] apple.com> 85076 85077 Revert the padding changes done in r36905 to prevent the 85078 scrollbar from overlapping the URLs in the Console. 85079 85080 https://bugs.webkit.org/show_bug.cgi?id=21126 85081 85082 * page/inspector/inspector.css: 85083 85084 2008-09-25 David Hyatt <hyatt (a] apple.com> 85085 85086 https://bugs.webkit.org/show_bug.cgi?id=21129 85087 85088 Refactor contents size and scroll offset to be cross-platform. Reduce further the number 85089 of platform-specific methods required of ScrollView implementations. 85090 85091 Reviewed by Tim Hatcher 85092 85093 * dom/MouseRelatedEvent.cpp: 85094 (WebCore::contentsX): 85095 (WebCore::contentsY): 85096 * html/HTMLBodyElement.cpp: 85097 (WebCore::HTMLBodyElement::scrollLeft): 85098 (WebCore::HTMLBodyElement::setScrollLeft): 85099 (WebCore::HTMLBodyElement::scrollTop): 85100 (WebCore::HTMLBodyElement::setScrollTop): 85101 * loader/FrameLoader.cpp: 85102 (WebCore::FrameLoader::saveScrollPositionAndViewStateToItem): 85103 * page/DOMWindow.cpp: 85104 (WebCore::DOMWindow::scrollX): 85105 (WebCore::DOMWindow::scrollY): 85106 * page/EventHandler.cpp: 85107 (WebCore::EventHandler::hitTestResultAtPoint): 85108 * page/FrameView.cpp: 85109 (WebCore::FrameView::scrollTo): 85110 (WebCore::FrameView::windowClipRect): 85111 * platform/ScrollView.cpp: 85112 (WebCore::ScrollView::visibleContentRect): 85113 (WebCore::ScrollView::contentsSize): 85114 (WebCore::ScrollView::platformContentsSize): 85115 * platform/ScrollView.h: 85116 (WebCore::ScrollView::scrollPosition): 85117 (WebCore::ScrollView::scrollOffset): 85118 (WebCore::ScrollView::scrollX): 85119 (WebCore::ScrollView::scrollY): 85120 (WebCore::ScrollView::contentsWidth): 85121 (WebCore::ScrollView::contentsHeight): 85122 * platform/gtk/ScrollViewGtk.cpp: 85123 (WebCore::ScrollView::ScrollViewPrivate::adjustmentChanged): 85124 (WebCore::ScrollView::setGtkAdjustments): 85125 (WebCore::ScrollView::resizeContents): 85126 (WebCore::ScrollView::contentsWidth): 85127 (WebCore::ScrollView::contentsHeight): 85128 (WebCore::ScrollView::scrollOffset): 85129 (WebCore::ScrollView::maximumScroll): 85130 (WebCore::ScrollView::scrollBy): 85131 (WebCore::ScrollView::suppressScrollbars): 85132 (WebCore::ScrollView::setHScrollbarMode): 85133 (WebCore::ScrollView::setVScrollbarMode): 85134 (WebCore::ScrollView::setScrollbarsMode): 85135 (WebCore::ScrollView::setFrameGeometry): 85136 (WebCore::ScrollView::updateScrollbars): 85137 * platform/mac/ScrollViewMac.mm: 85138 (WebCore::ScrollView::platformContentsSize): 85139 (WebCore::ScrollView::scrollBy): 85140 * platform/mac/WidgetMac.mm: 85141 (WebCore::Widget::convertFromContainingWindow): 85142 (WebCore::Widget::convertToContainingWindow): 85143 * platform/qt/ScrollViewQt.cpp: 85144 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 85145 (WebCore::ScrollView::resizeContents): 85146 (WebCore::ScrollView::setFrameGeometry): 85147 (WebCore::ScrollView::scrollOffset): 85148 (WebCore::ScrollView::maximumScroll): 85149 (WebCore::ScrollView::scrollBy): 85150 (WebCore::ScrollView::setHScrollbarMode): 85151 (WebCore::ScrollView::setVScrollbarMode): 85152 (WebCore::ScrollView::setScrollbarsMode): 85153 (WebCore::ScrollView::updateScrollbars): 85154 * platform/win/ScrollViewWin.cpp: 85155 (WebCore::ScrollView::ScrollViewPrivate::valueChanged): 85156 (WebCore::ScrollView::ScrollViewPrivate::setAllowsScrolling): 85157 (WebCore::ScrollView::resizeContents): 85158 (WebCore::ScrollView::setFrameGeometry): 85159 (WebCore::ScrollView::scrollOffset): 85160 (WebCore::ScrollView::maximumScroll): 85161 (WebCore::ScrollView::scrollBy): 85162 (WebCore::ScrollView::setHScrollbarMode): 85163 (WebCore::ScrollView::setVScrollbarMode): 85164 (WebCore::ScrollView::setScrollbarsMode): 85165 (WebCore::ScrollView::updateScrollbars): 85166 * platform/wx/ScrollViewWx.cpp: 85167 (WebCore::ScrollView::platformVisibleContentRect): 85168 (WebCore::ScrollView::platformContentsSize): 85169 * rendering/RenderBlock.cpp: 85170 (WebCore::RenderBlock::nodeAtPoint): 85171 * rendering/RenderLayer.cpp: 85172 (WebCore::RenderLayer::scrollRectToVisible): 85173 (WebCore::RenderLayer::calculateClipRects): 85174 (WebCore::RenderLayer::calculateRects): 85175 * rendering/RenderView.cpp: 85176 (WebCore::RenderView::absolutePosition): 85177 (WebCore::RenderView::computeAbsoluteRepaintRect): 85178 85179 2008-09-25 David Smith <catfish.man (a] gmail.com> 85180 85181 Reviewed by Dave Hyatt. 85182 85183 Fix a nasty regression I introduced in the previous commit, which caused infinite recursion on facebook. 85184 85185 * dom/Element.cpp: 85186 (WebCore::Element::rareData): 85187 * dom/Element.h: 85188 * dom/Node.cpp: 85189 (WebCore::Node::rareData): 85190 * dom/Node.h: 85191 85192 2008-09-25 David Smith <catfish.man (a] gmail.com> 85193 85194 Reviewed by Darin Adler. 85195 85196 https://bugs.webkit.org/show_bug.cgi?id=20980 85197 Split off uncommonly used data from Node similar to ElementRareData 85198 85199 Saves an OwnPtr and a short on Node, as well as providing room for an isContainer bit, 85200 which in turn allows inlining firstChild(), lastChild(), childNodeCount(), and childNode() 85201 for a 5-10+% performance win on SlickSpeed and assorted speedups on other tests. 85202 85203 * WebCore.base.exp: 85204 * WebCore.xcodeproj/project.pbxproj: 85205 * dom/ChildNodeList.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc... 85206 * dom/ContainerNode.cpp: Set isContainer to true 85207 (WebCore::ContainerNode::ContainerNode): 85208 * dom/ContainerNode.h: These Node inlines are here to avoid including ContainerNode.h in Node.h 85209 (WebCore::Node::containerChildNodeCount): Use ContainerNode's definition, having proved that the Node is a container 85210 (WebCore::Node::containerChildNode): ditto 85211 (WebCore::Node::containerFirstChild): ditto 85212 (WebCore::Node::containerLastChild): ditto 85213 * dom/Element.cpp: Most of the changes here are moving ElementRareData to ElementRareData.h and NodeRareData.h 85214 (WebCore::Element::Element): 85215 (WebCore::Element::~Element): 85216 (WebCore::Element::rareData): 85217 (WebCore::Element::ensureRareData): Renamed from createRareData 85218 (WebCore::Element::createRareData): Used by ensureRareData to get the correct rareData type 85219 (WebCore::Element::attach): Check hasRareData rather than null-checking rareData() 85220 (WebCore::Element::detach): ditto 85221 (WebCore::Element::recalcStyle): ditto 85222 (WebCore::Element::focus): 85223 (WebCore::Element::minimumSizeForResizing): ditto 85224 (WebCore::Element::setMinimumSizeForResizing): ditto 85225 (WebCore::Element::computedStyle): 85226 (WebCore::Element::cancelFocusAppearanceUpdate): ditto 85227 * dom/Element.h: 85228 * dom/ElementRareData.h: Added; everything copied from Element.cpp 85229 (WebCore::defaultMinimumSizeForResizing): 85230 (WebCore::ElementRareData::ElementRareData): 85231 (WebCore::ElementRareData::resetComputedStyle): 85232 * dom/EventTargetNode.cpp: 85233 (WebCore::EventTargetNode::EventTargetNode): Pass the isContainer flag up the chain 85234 * dom/EventTargetNode.h: 85235 * dom/Node.cpp: 85236 (WebCore::Node::Node): 85237 (WebCore::Node::~Node): rareData cleanup code moved from Element and changed to use hasRareData 85238 (WebCore::Node::rareData): 85239 (WebCore::Node::ensureRareData): 85240 (WebCore::Node::createRareData): 85241 (WebCore::Node::tabIndex): nonzero tab indexes are now in rareData 85242 (WebCore::Node::setTabIndexExplicitly): 85243 (WebCore::Node::childNodes): NodeLists are now in rareData 85244 (WebCore::Node::setFocus): 85245 (WebCore::Node::rareDataFocused): 85246 (WebCore::Node::isFocusable): 85247 (WebCore::Node::isKeyboardFocusable): 85248 (WebCore::Node::registerDynamicNodeList): NodeLists are now in rareData 85249 (WebCore::Node::unregisterDynamicNodeList): ditto 85250 (WebCore::Node::notifyLocalNodeListsAttributeChanged): ditto 85251 (WebCore::Node::notifyLocalNodeListsChildrenChanged): ditto 85252 (WebCore::Node::getElementsByName): ditto 85253 (WebCore::Node::getElementsByClassName): ditto 85254 * dom/Node.h: 85255 (WebCore::Node::firstChild): Use isContainerNode() to devirtualize 85256 (WebCore::Node::lastChild): ditto 85257 (WebCore::Node::isContainerNode): Take advantage of a newly freed bit to store whether we're a container 85258 (WebCore::Node::focused): focus is in rareData if set 85259 (WebCore::Node::childTypeAllowed): 85260 (WebCore::Node::childNodeCount): Use isContainerNode() to devirtualize 85261 (WebCore::Node::childNode): ditto 85262 (WebCore::Node::hasRareData): Use another newly freed bit to store whether we have rare data; avoids doing hash lookups in the common case 85263 * dom/NodeRareData.h: Added. Most of this is just properties moved from Node 85264 (WebCore::NodeListsNodeData::~NodeListsNodeData): Moved from Node.cpp since we NodeRareData needs to put them in a HashTable :( 85265 (WebCore::NodeRareData::NodeRareData): 85266 (WebCore::NodeRareData::rareDataMap): 85267 (WebCore::NodeRareData::rareDataFromMap): 85268 (WebCore::NodeRareData::clearNodeLists): 85269 (WebCore::NodeRareData::setNodeLists): 85270 (WebCore::NodeRareData::nodeLists): 85271 (WebCore::NodeRareData::tabIndex): 85272 (WebCore::NodeRareData::setTabIndex): 85273 (WebCore::NodeRareData::tabIndexSetExplicitly): 85274 * dom/TreeWalker.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc... 85275 * xml/XPathUtil.cpp: Include ContainerNode to pick up its definitions for childNodeCount(), etc... 85276 85277 2008-09-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 85278 85279 Reviewed by Simon Hausmann. 85280 85281 [qt] ImageBuffer::toDataURL implementation 85282 85283 There needs to be a Qt specific test result for the above mentioned 85284 implementation. 85285 85286 * platform/graphics/qt/ImageBufferQt.cpp: 85287 (WebCore::ImageBuffer::toDataURL): 85288 85289 2008-09-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 85290 85291 Reviewed by Simon Hausmann. 85292 85293 [qt] Implement SharedBuffer for Qt. 85294 85295 * WebCore.pro: 85296 * platform/qt/SharedBufferQt.cpp: Added. 85297 (WebCore::SharedBuffer::createWithContentsOfFile): 85298 * platform/qt/TemporaryLinkStubs.cpp: 85299 85300 2008-09-25 Feng Qian <feng (a] chromium.org> 85301 85302 Fix bug: https://bugs.webkit.org/show_bug.cgi?id=21032 85303 <rdar://problem/6243032> 85304 85305 Reviewed by Dave Hyatt. 85306 85307 Test: fast/dom/attribute-downcast-right.html 85308 85309 Add isMappedAttribute function to Attribute for checking if an object 85310 is an instance of MappedAttribute. Removed attributeItem, 85311 getAttributeItem functions from NamedMappedAttrMap, and callers 85312 expecting MappedAttribute have to check isMappedAttribute before 85313 downcasting the return value to MappedAttribute. 85314 85315 * css/CSSStyleSelector.cpp: 85316 (WebCore::CSSStyleSelector::styleForElement): 85317 * dom/Attribute.h: 85318 (WebCore::Attribute::isMappedAttribute): 85319 * dom/MappedAttribute.h: 85320 (WebCore::MappedAttribute::isMappedAttribute): 85321 * dom/NamedMappedAttrMap.cpp: 85322 (WebCore::NamedMappedAttrMap::declCount): 85323 (WebCore::NamedMappedAttrMap::mapsEquivalent): 85324 * dom/NamedMappedAttrMap.h: 85325 * dom/StyledElement.cpp: 85326 (WebCore::StyledElement::attributeChanged): 85327 * html/HTMLInputElement.cpp: 85328 (WebCore::HTMLInputElement::setInputType): 85329 * svg/SVGForeignObjectElement.cpp: 85330 (WebCore::addCSSPropertyAndNotifyAttributeMap): 85331 * svg/SVGStyledElement.cpp: 85332 (WebCore::SVGStyledElement::getPresentationAttribute): 85333 85334 2008-09-25 David Hyatt <hyatt (a] apple.com> 85335 85336 https://bugs.webkit.org/show_bug.cgi?id=21120 85337 85338 Make visibleContentRect cross-platform. Note this does add new horizontal/verticalScrollbar accessors 85339 to a bunch of platforms. This is a temporary evil until the scrollbars get made cross-platform (and I 85340 didn't want to mix that change in with this patch). 85341 85342 Reviewed by Sam Weinig 85343 85344 * page/Frame.cpp: 85345 (WebCore::Frame::markAllMatchesForText): 85346 * page/FrameView.cpp: 85347 (WebCore::FrameView::repaintContentRectangle): 85348 (WebCore::FrameView::windowClipRect): 85349 (WebCore::FrameView::updateControlTints): 85350 * platform/ScrollView.cpp: 85351 (WebCore::ScrollView::visibleContentRect): 85352 (WebCore::ScrollView::platformVisibleContentRect): 85353 * platform/ScrollView.h: 85354 (WebCore::ScrollView::visibleWidth): 85355 (WebCore::ScrollView::visibleHeight): 85356 * platform/gtk/ScrollViewGtk.cpp: 85357 (WebCore::ScrollView::horizontalScrollbar): 85358 (WebCore::ScrollView::verticalScrollbar): 85359 * platform/mac/ScrollViewMac.mm: 85360 (WebCore::ScrollView::horizontalScrollbar): 85361 (WebCore::ScrollView::verticalScrollbar): 85362 (WebCore::ScrollView::platformVisibleContentRect): 85363 * platform/qt/ScrollViewQt.cpp: 85364 (WebCore::ScrollView::horizontalScrollbar): 85365 (WebCore::ScrollView::verticalScrollbar): 85366 * platform/win/ScrollViewWin.cpp: 85367 (WebCore::ScrollView::horizontalScrollbar): 85368 (WebCore::ScrollView::verticalScrollbar): 85369 * platform/wx/ScrollViewWx.cpp: 85370 (WebCore::ScrollView::platformVisibleContentRect): 85371 (WebCore::ScrollView::horizontalScrollbar): 85372 (WebCore::ScrollView::verticalScrollbar): 85373 * rendering/RenderLayer.cpp: 85374 (WebCore::RenderLayer::scrollRectToVisible): 85375 (WebCore::frameVisibleRect): 85376 * rendering/RenderView.cpp: 85377 (WebCore::RenderView::viewRect): 85378 85379 2008-09-25 David Smith <catfish.man (a] gmail.com> 85380 85381 Reviewed by Timothy Hatcher 85382 85383 https://bugs.webkit.org/show_bug.cgi?id=21052 85384 Generalize id selector special case for querySelectorAll 85385 85386 By checking the element we get with getElementById against the selector, we can use the special case in many more circumstances. 85387 Changes results on http://native.khan.mozilla.org 85388 from 85389 #title: 2ms 85390 h1#title: 55ms 85391 div #title: 55ms 85392 85393 to: 85394 #title: 1ms 85395 h1#title: 2ms 85396 div #title: 5ms 85397 85398 * dom/Node.cpp: 85399 (WebCore::Node::querySelector): 85400 * dom/SelectorNodeList.cpp: 85401 (WebCore::createSelectorNodeList): 85402 85403 2008-09-25 David Hyatt <hyatt (a] apple.com> 85404 85405 https://bugs.webkit.org/show_bug.cgi?id=21118 85406 85407 Make the concept of whether you can blit on scroll cross-platform on ScrollView. 85408 85409 Reviewed by Sam Weinig 85410 85411 * page/FrameView.cpp: 85412 (WebCore::FrameView::clear): 85413 (WebCore::FrameView::layout): 85414 (WebCore::FrameView::setUseSlowRepaints): 85415 (WebCore::FrameView::addSlowRepaintObject): 85416 (WebCore::FrameView::removeSlowRepaintObject): 85417 * platform/ScrollView.cpp: 85418 (WebCore::ScrollView::init): 85419 (WebCore::ScrollView::addChild): 85420 (WebCore::ScrollView::removeChild): 85421 (WebCore::ScrollView::setCanBlitOnScroll): 85422 * platform/ScrollView.h: 85423 (WebCore::ScrollView::canBlitOnScroll): 85424 * platform/gtk/ScrollViewGtk.cpp: 85425 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 85426 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 85427 (WebCore::ScrollView::ScrollView): 85428 * platform/mac/ScrollViewMac.mm: 85429 (WebCore::ScrollView::ScrollView): 85430 (WebCore::ScrollView::platformAddChild): 85431 (WebCore::ScrollView::platformRemoveChild): 85432 (WebCore::ScrollView::platformSetCanBlitOnScroll): 85433 * platform/qt/ScrollViewQt.cpp: 85434 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 85435 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 85436 (WebCore::ScrollView::ScrollView): 85437 * platform/win/ScrollViewWin.cpp: 85438 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 85439 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 85440 (WebCore::ScrollView::ScrollView): 85441 * platform/wx/ScrollViewWx.cpp: 85442 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 85443 (WebCore::ScrollView::ScrollView): 85444 (WebCore::ScrollView::scrollBy): 85445 85446 2008-09-25 Kevin McCullough <kmccullough (a] apple.com> 85447 85448 Reviewed by Tim Hatcher. 85449 85450 Bug 21109: Console should right-align urls 85451 85452 * page/inspector/Console.js: Re-order the message elements so that when 85453 it overflows it doesn't get mixed in with the next message. 85454 * page/inspector/inspector.css: 85455 85456 2008-09-25 David Hyatt <hyatt (a] apple.com> 85457 85458 https://bugs.webkit.org/show_bug.cgi?id=21113 85459 85460 Putting r36771 back in with a fix to the addPendingSheet check in CSSImportRule::insertedIntoParent. 85461 85462 Reviewed by Darin Adler 85463 85464 * css/CSSImportRule.cpp: 85465 (WebCore::CSSImportRule::insertedIntoParent): 85466 * css/CSSRule.cpp: 85467 (WebCore::CSSRule::parentStyleSheet): 85468 (WebCore::CSSRule::parentRule): 85469 * css/CSSStyleSheet.cpp: 85470 (WebCore::CSSStyleSheet::CSSStyleSheet): 85471 * css/CSSStyleSheet.h: 85472 85473 2008-09-25 Darin Adler <darin (a] apple.com> 85474 85475 Reviewed by Adele Peterson. 85476 85477 - fix https://bugs.webkit.org/show_bug.cgi?id=21115 85478 <rdar://problem/6245773> REGRESSION (r34702): Safari no longer zips 85479 bundled documents 85480 85481 * html/HTMLFormElement.cpp: 85482 (WebCore::HTMLFormElement::formData): Use files() instead of value() 85483 to get the path, since value() now returns just the basename. 85484 85485 2008-09-25 Brady Eidson <beidson (a] apple.com> 85486 85487 Rubberstamped by Mark Rowe 85488 85489 Roll out 36771 as it caused <rdar://problem/6246554> 85490 "nytimes.com doesn't display after returning to it with back/forward" 85491 85492 * css/CSSImportRule.cpp: 85493 (WebCore::CSSImportRule::insertedIntoParent): 85494 * css/CSSRule.cpp: 85495 (WebCore::CSSRule::parentStyleSheet): 85496 (WebCore::CSSRule::parentRule): 85497 * css/CSSStyleSheet.cpp: 85498 (WebCore::CSSStyleSheet::CSSStyleSheet): 85499 (WebCore::CSSStyleSheet::docLoader): 85500 * css/CSSStyleSheet.h: 85501 (WebCore::CSSStyleSheet::doc): 85502 85503 2008-09-25 Adam Roben <aroben (a] apple.com> 85504 85505 Windows build fix 85506 85507 * WebCore.vcproj/WebCore.vcproj: Add ScrollView.cpp to the project. 85508 85509 2008-09-25 Dan Bernstein <mitz (a] apple.com> 85510 85511 - Windows build fix 85512 85513 * platform/win/ScrollViewWin.cpp: 85514 (WebCore::ScrollView::addChildPlatformWidget): 85515 (WebCore::ScrollView::removeChildPlatformWidget): 85516 85517 2008-09-25 Timothy Hatcher <timothy (a] apple.com> 85518 85519 Fixes a leak of ConsoleMessage seen when repeated console 85520 messages occur. 85521 85522 Reviewed by Mark Rowe. 85523 85524 * page/InspectorController.cpp: 85525 (WebCore::InspectorController::addConsoleMessage): Delete the repeat 85526 since we don't add it to m_consoleMessages. 85527 85528 2008-09-25 Kevin McCullough <kmccullough (a] apple.com> 85529 85530 Reviewed by Dan Bernstein. 85531 85532 Bug 21105: XHRs logged in the console may show the wrong URL for the 85533 source 85534 - Get the url at the time of the send() and pass it on to the XHR. 85535 85536 * bindings/js/JSXMLHttpRequestCustom.cpp: 85537 (WebCore::JSXMLHttpRequest::send): 85538 * xml/XMLHttpRequest.cpp: 85539 (WebCore::XMLHttpRequest::didFinishLoading): 85540 * xml/XMLHttpRequest.h: 85541 (WebCore::XMLHttpRequest::setLastSendURL): 85542 85543 2008-09-25 Kevin McCullough <kmccullough (a] apple.com> 85544 85545 Reviewed by Geoff and Tim. 85546 85547 Bug 20322: XHRs logged in the console do not have line numbers 85548 - Get the line number at the time of the send and pass it on to the XHR. 85549 85550 * bindings/js/JSXMLHttpRequestCustom.cpp: 85551 (WebCore::JSXMLHttpRequest::send): 85552 * xml/XMLHttpRequest.cpp: 85553 (WebCore::XMLHttpRequest::XMLHttpRequest): 85554 (WebCore::XMLHttpRequest::didFinishLoading): 85555 * xml/XMLHttpRequest.h: 85556 (WebCore::XMLHttpRequest::setLastSendLineNumber): 85557 85558 2008-09-25 Eric Carlson <eric.carlson (a] apple.com> 85559 85560 Reviewed by Eric Seidel. 85561 85562 <rdar://problem/6171047> HTMLMediaElement "begin" event is now "loadstart" 85563 https://bugs.webkit.org/show_bug.cgi?id=21003 85564 85565 * dom/EventNames.h: remove "begin" event 85566 * html/HTMLMediaElement.cpp: 85567 (WebCore::HTMLMediaElement::load): Post "loadstart" event instead of "begin" 85568 85569 2008-09-25 Alexey Proskuryakov <ap (a] webkit.org> 85570 85571 Reviewed by Eric Seidel. 85572 85573 https://bugs.webkit.org/show_bug.cgi?id=21097 85574 Calling a MessageChannel constructor from a destroyed document results in a crash 85575 85576 Test: fast/events/message-port-constructor-for-deleted-document.html 85577 85578 * bindings/js/JSMessageChannelConstructor.cpp: 85579 (WebCore::JSMessageChannelConstructor::construct): 85580 * bindings/js/JSMessageChannelConstructor.h: 85581 Made m_document a RefPtr. 85582 85583 2008-09-24 Alexey Proskuryakov <ap (a] webkit.org> 85584 85585 Reviewed by Sam Weinig, Anders Carlsson, and (unofficially) Adam Barth. 85586 85587 https://bugs.webkit.org/show_bug.cgi?id=20879 85588 Implement HTML5 channel messaging 85589 85590 Tests: fast/events/message-channel-gc.html 85591 fast/events/message-port-deleted-document.html 85592 fast/events/message-port-deleted-frame.html 85593 fast/events/message-port-inactive-document.html 85594 fast/events/message-port.html 85595 http/tests/security/MessagePort/event-listener-context.html 85596 85597 * Configurations/WebCore.xcconfig: 85598 Removed unused ENABLE_CROSS_DOCUMENT_MESSAGING macro. 85599 85600 * DerivedSources.make: 85601 Added MessageChannel and MessagePort. 85602 85603 * WebCore.pro: Made MessageEvent compilation unconditional, as it could not possibly be 85604 turmed off anyway. Added new files. 85605 85606 * GNUmakefile.am: 85607 * WebCore.pro: 85608 * WebCore.vcproj/WebCore.vcproj: 85609 * WebCore.xcodeproj/project.pbxproj: 85610 * WebCoreSources.bkl: 85611 Added new files. 85612 85613 * bindings/js/JSDOMWindowBase.h: 85614 * bindings/js/JSDOMWindowBase.cpp: (WebCore::JSDOMWindowBase::getValueProperty): 85615 Added suport for window.MessageChannel constructor. 85616 85617 * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::postMessage): 85618 * page/DOMWindow.cpp: 85619 (WebCore::DOMWindow::postMessage): 85620 * page/DOMWindow.h: 85621 * page/DOMWindow.idl: 85622 Added support for three-argument postMessage (that posts a MessagePort). 85623 85624 * dom/EventTarget.cpp: 85625 (WebCore::EventTarget::toMessagePort): 85626 * dom/EventTarget.h: 85627 * bindings/js/JSEventTargetBase.cpp: (WebCore::toJS): Added MessagePort as yet another 85628 EventTarget variant. 85629 85630 * bindings/js/JSMessageChannelConstructor.h: 85631 * bindings/js/JSMessageChannelConstructor.cpp: Added a custom constructor, so that it could 85632 take a browsing context (document) parameter. 85633 85634 * bindings/js/JSMessageChannelCustom.cpp: Added. 85635 (WebCore::JSMessageChannel::mark): JSMessageChannel uses a custom mark function to mark 85636 port1 and port2 that it owns. 85637 85638 * bindings/js/JSMessagePortCustom.cpp: Added. 85639 (WebCore::JSMessagePort::startConversation): 85640 (WebCore::JSMessagePort::addEventListener): 85641 (WebCore::JSMessagePort::removeEventListener): 85642 (WebCore::JSMessagePort::dispatchEvent): 85643 (WebCore::JSMessagePort::setOnmessage): 85644 (WebCore::JSMessagePort::onmessage): 85645 (WebCore::JSMessagePort::setOnclose): 85646 (WebCore::JSMessagePort::onclose): 85647 (WebCore::JSMessagePort::mark): 85648 * dom/MessagePort.cpp: Added. 85649 * dom/MessagePort.h: Added. 85650 * dom/MessagePort.idl: Added. 85651 Added a MessagePort implementation. Currently, it is not thread-safe at all, and only works 85652 with Documents as contexts, but in the future, it will be used for communication with worker 85653 threads. 85654 85655 * bindings/objc/DOMInternal.h: Include "DOMMessagePortInternal.h". The new APIs do not 85656 really have Obj-C bindings, as they are far from being final, but a MessagePort stub is 85657 needed for MessageEvent. 85658 85659 * bindings/scripts/CodeGeneratorJS.pm: Include PlatformString.h for MessagePort happiness. 85660 85661 * dom/Document.cpp: 85662 (WebCore::MessagePortTimer::MessagePortTimer): 85663 (WebCore::MessagePortTimer::fired): 85664 (WebCore::Document::processMessagePortMessagesSoon): 85665 (WebCore::Document::~Document): 85666 (WebCore::Document::dispatchMessagePortEvents): 85667 (WebCore::Document::createdMessagePort): 85668 (WebCore::Document::destroyedMessagePort): 85669 * dom/Document.h: 85670 Document keeps track of all MessagePort objects that were created when it was fully active 85671 in its context. 85672 85673 * dom/EventNames.h: Added closeEvent. 85674 85675 * dom/MessageChannel.cpp: Added. 85676 (WebCore::MessageChannel::MessageChannel): 85677 (WebCore::MessageChannel::~MessageChannel): 85678 * dom/MessageChannel.h: Added. 85679 (WebCore::MessageChannel::create): 85680 (WebCore::MessageChannel::port1): 85681 (WebCore::MessageChannel::port2): 85682 * dom/MessageChannel.idl: Added. 85683 Addded JSMessageChannel implementation. 85684 85685 * dom/MessageEvent.cpp: 85686 (WebCore::MessageEvent::MessageEvent): 85687 (WebCore::MessageEvent::initMessageEvent): 85688 * dom/MessageEvent.h: 85689 (WebCore::MessageEvent::create): 85690 (WebCore::MessageEvent::messagePort): 85691 * dom/MessageEvent.idl: 85692 MessageEvent has a MessagePort member now, making it possible to pass ports across 85693 documents. 85694 85695 2008-09-25 David Smith <catfish.man (a] gmail.com> 85696 85697 Reviewed by Eric Seidel 85698 85699 fix https://bugs.webkit.org/show_bug.cgi?id=21091 85700 Regression: querySelector matches tag names case sensitively 85701 85702 Tests: fast/dom/SelectorAPI/caseTag.html 85703 fast/dom/SelectorAPI/caseTagX.xhtml 85704 85705 * css/CSSParser.cpp: 85706 (WebCore::CSSParser::parseSelector): Add a Document argument, since tag case sensitivity is different for HTML documents 85707 * css/CSSParser.h: 85708 * dom/Node.cpp: 85709 (WebCore::Node::querySelector): 85710 (WebCore::Node::querySelectorAll): 85711 85712 2008-09-24 David Hyatt <hyatt (a] apple.com> 85713 85714 https://bugs.webkit.org/show_bug.cgi?id=21084 85715 85716 Make the m_children member of ScrollView cross-platform. Consolidate children add/remove 85717 functionality. Add platform stubs for connecting/disconnecting the platform widgets. 85718 85719 Reviewed by Sam Weinig 85720 85721 * GNUmakefile.am: 85722 * WebCore.pro: 85723 * WebCore.vcproj/WebCore.vcproj: 85724 * WebCore.xcodeproj/project.pbxproj: 85725 * WebCoreSources.bkl: 85726 * platform/ScrollView.h: 85727 (WebCore::ScrollView::children): 85728 * platform/Widget.h: 85729 * platform/gtk/ScrollViewGtk.cpp: 85730 (WebCore::ScrollView::addChildPlatformWidget): 85731 (WebCore::ScrollView::removeChildPlatformWidget): 85732 (WebCore::ScrollView::geometryChanged): 85733 * platform/mac/ScrollViewMac.mm: 85734 (WebCore::ScrollView::addChildPlatformWidget): 85735 (WebCore::ScrollView::removeChildPlatformWidget): 85736 * platform/qt/ScrollViewQt.cpp: 85737 (WebCore::ScrollView::geometryChanged): 85738 (WebCore::ScrollView::addChildPlatformWidget): 85739 (WebCore::ScrollView::removeChildPlatformWidget): 85740 * platform/win/ScrollViewWin.cpp: 85741 (WebCore::ScrollView::geometryChanged): 85742 (WebCore::ScrollView::setParentVisible): 85743 (WebCore::ScrollView::show): 85744 (WebCore::ScrollView::hide): 85745 * platform/wx/ScrollViewWx.cpp: 85746 (WebCore::ScrollView::addChildPlatformWidget): 85747 (WebCore::ScrollView::removeChildPlatformWidget): 85748 85749 2008-09-25 Dan Bernstein <mitz (a] apple.com> 85750 85751 Reviewed by Dave Hyatt. 85752 85753 - fix https://bugs.webkit.org/show_bug.cgi?id=21024 85754 <rdar://problem/6240821> Scrollbar not painted until hovered 85755 85756 * rendering/RenderWidget.cpp: 85757 (WebCore::RenderWidget::setWidgetGeometry): Replaced resizeWidget with 85758 this method, which sets both the location and the size. 85759 (WebCore::RenderWidget::setWidget): Replaced the call to resizeWidget 85760 with a call to the new method setWidgetGeometry. Positioning the 85761 widget correctly ensures that the scroll bars invalidate correctly when 85762 they are created and resized. 85763 * rendering/RenderWidget.h: 85764 85765 2008-09-24 Dan Bernstein <mitz (a] apple.com> 85766 85767 Rubber-stamped by Sam Weinig. 85768 85769 - create a "style" subfolder under "rendering" and move style files to that folder 85770 85771 * WebCore.vcproj/WebCore.vcproj: 85772 85773 2008-09-24 Sam Weinig <sam (a] webkit.org> 85774 85775 Reviewed by Maciej Stachowiak. 85776 85777 Remove staticFunctionGetter. There is only one remaining user of 85778 staticFunctionGetter and it can be converted to use setUpStaticFunctionSlot. 85779 85780 * bindings/js/JSDOMWindowBase.cpp: 85781 (WebCore::JSDOMWindowBase::getOwnPropertySlot): 85782 85783 2008-09-24 Jeremy Moskovich <jeremy (a] chromium.org> 85784 85785 Reviewed by Dan Bernstein. 85786 85787 Test: editing/spelling/inline_spelling_markers.html 85788 85789 - https://bugs.webkit.org/show_bug.cgi?id=20092 85790 Spelling markers positioned incorrectly in RTL text 85791 85792 Measure spelling markers with selectionRectForText() to fix RTL. 85793 85794 This patch also fixes hit-testing for spelling marker tool tips, 85795 which used to work only on the first line. 85796 85797 * rendering/InlineTextBox.cpp: 85798 (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): 85799 85800 2008-09-24 David Hyatt <hyatt (a] apple.com> 85801 85802 https://bugs.webkit.org/show_bug.cgi?id=21074 85803 85804 Make sure the viewless scrollbar knows how to paint properly when transformed. 85805 85806 Reviewed by Sam Weinig 85807 85808 * platform/mac/ScrollbarThemeMac.mm: 85809 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): 85810 (WebCore::ScrollbarThemeMac::paint): 85811 85812 2008-09-24 Nikolas Zimmermann <zimmermann (a] kde.org> 85813 85814 Not reviewed. Try to fix win build. 85815 85816 * bindings/js/JSSVGElementInstanceCustom.cpp: 85817 (WebCore::toJS): 85818 * dom/ContainerNodeAlgorithms.h: 85819 (WebCore::removeAllChildrenInContainer): 85820 (WebCore::appendChildToContainer): 85821 (WebCore::Private::addChildNodesToDeletionQueue): 85822 85823 2008-09-24 Nikolas Zimmermann <zimmermann (a] kde.org> 85824 85825 Reviewed by Oliver. 85826 85827 Add ContainerNodeAlgorithms.h, as central place to share algorithms 85828 operating on TreeShared-derived classes with a Node-style interface. 85829 85830 This allows SVGElementInstance & ContainerNode to share code. 85831 85832 * dom/ContainerNode.cpp: 85833 (WebCore::ContainerNode::removeAllChildren): 85834 (WebCore::ContainerNode::addChild): 85835 * dom/ContainerNode.h: 85836 * dom/ContainerNodeAlgorithms.h: Added. 85837 (WebCore::removeAllChildrenInContainer): 85838 (WebCore::appendChildToContainer): 85839 (WebCore::Private::NodeRemovalDispatcher::dispatch): 85840 (WebCore::Private::addChildNodesToDeletionQueue): 85841 85842 2008-09-24 Simon Fraser <simon.fraser (a] apple.com> 85843 85844 Reviewed by Dave Hyatt 85845 85846 Wrap up dirtying the z-order list of the stacking context 85847 RenderLayer into a method. 85848 https://bugs.webkit.org/show_bug.cgi?id=21072 85849 85850 * rendering/RenderLayer.cpp: 85851 (WebCore::RenderLayer::setHasVisibleContent): 85852 (WebCore::RenderLayer::addChild): 85853 (WebCore::RenderLayer::removeChild): 85854 (WebCore::RenderLayer::dirtyStackingContextZOrderLists): 85855 (WebCore::RenderLayer::styleChanged): 85856 * rendering/RenderLayer.h: 85857 * rendering/RenderObject.cpp: 85858 (WebCore::RenderObject::setStyle): 85859 85860 2008-09-24 Kevin McCullough <kmccullough (a] apple.com> 85861 85862 Reviewed by Tim. 85863 85864 Bug 21070: REGRESSION Repeated messages with arguments are not repeated 85865 or displayed multiple times 85866 - The Insepctor Controller was comparing JSValue pointers so thought the 85867 message was not a repeat, but the JS of the inspector compared the 85868 strings and so knew it was the same message and so overwrote the old 85869 message. 85870 85871 * page/InspectorController.cpp: 85872 (WebCore::ConsoleMessage::isEqual): 85873 (WebCore::InspectorController::addMessageToConsole): 85874 (WebCore::InspectorController::addConsoleMessage): 85875 (WebCore::InspectorController::startGroup): 85876 (WebCore::InspectorController::endGroup): 85877 * page/InspectorController.h: 85878 85879 2008-09-24 David Hyatt <hyatt (a] apple.com> 85880 85881 Make sure the viewless Mac scrollbar responds properly to system preference changes (including the 85882 arrow placement preference and the thumb jump preference). 85883 85884 Reviewed by Adam Roben 85885 85886 * platform/Scrollbar.cpp: 85887 (WebCore::Scrollbar::Scrollbar): 85888 (WebCore::Scrollbar::~Scrollbar): 85889 * platform/ScrollbarTheme.h: 85890 (WebCore::ScrollbarTheme::registerScrollbar): 85891 (WebCore::ScrollbarTheme::unregisterScrollbar): 85892 * platform/mac/ScrollbarThemeMac.h: 85893 * platform/mac/ScrollbarThemeMac.mm: 85894 (+[ScrollbarPrefsObserver appearancePrefsChanged:]): 85895 (+[ScrollbarPrefsObserver behaviorPrefsChanged:]): 85896 (+[ScrollbarPrefsObserver registerAsObserver]): 85897 (WebCore::ScrollbarThemeMac::registerScrollbar): 85898 (WebCore::ScrollbarThemeMac::unregisterScrollbar): 85899 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): 85900 (WebCore::ScrollbarThemeMac::preferencesChanged): 85901 85902 2008-09-24 Rob Buis <buis (a] kde.org> 85903 85904 Reviewed by Darin. 85905 85906 https://bugs.webkit.org/show_bug.cgi?id=20557 85907 getScreenCTM() returns wrong values 85908 85909 Use the absolute position of the svg root when 85910 determining the screen ctm. 85911 85912 Test: svg/custom/getscreenctm-in-mixed-content2.xhtml 85913 85914 * svg/SVGSVGElement.cpp: 85915 (WebCore::SVGSVGElement::getScreenCTM): 85916 85917 2008-09-24 David Hyatt <hyatt (a] apple.com> 85918 85919 Turn off support for CSS variables. 85920 85921 * ChangeLog: 85922 * css/CSSParser.cpp: 85923 (WebCore::CSSParser::createVariablesRule): 85924 (WebCore::CSSParser::addVariable): 85925 (WebCore::CSSParser::addVariableDeclarationBlock): 85926 85927 2008-09-24 David Hyatt <hyatt (a] apple.com> 85928 85929 Back out the alternate forms of CSS variable call syntax (leaving only the -webkit-var version). 85930 85931 * css/CSSGrammar.y: 85932 * css/CSSParserValues.cpp: 85933 (WebCore::CSSParserValue::isVariable): 85934 * css/CSSPrimitiveValue.cpp: 85935 (WebCore::CSSPrimitiveValue::cleanup): 85936 (WebCore::CSSPrimitiveValue::getStringValue): 85937 (WebCore::CSSPrimitiveValue::cssText): 85938 (WebCore::CSSPrimitiveValue::parserValue): 85939 * css/CSSPrimitiveValue.h: 85940 (WebCore::CSSPrimitiveValue::): 85941 (WebCore::CSSPrimitiveValue::isVariable): 85942 85943 2008-09-24 Timothy Hatcher <timothy (a] apple.com> 85944 85945 Fixes a regression where the "incorrect MIME-type" warning would not 85946 show up correctly in the Console or the resources sidebar. 85947 85948 Reviewed by Kevin McCullough. 85949 85950 * page/inspector/Resource.js: 85951 (WebInspector.Resource.prototype._addTip): Add the repeat count argument 85952 to the WebInspector.ConsoleMessage constructor call. 85953 (WebInspector.Resource.prototype._checkWarning): Ditto. 85954 85955 2008-09-23 Tor Arne Vestb <tavestbo (a] trolltech.com> 85956 85957 Reviewed by Simon. 85958 85959 Remove deprecated JS Qt bindings object call/construct code and fix autotests 85960 85961 * bridge/qt/qt_instance.cpp: 85962 (JSC::Bindings::QtInstance::QtInstance): 85963 * bridge/qt/qt_instance.h: 85964 85965 2008-09-23 Julien Chaffraix <jchaffraix (a] pleyo.com> 85966 85967 Reviewed by Alp Toker. Landed by Jan Alonzo. 85968 85969 Bug 20883: [CURL] Add deferred loading 85970 https://bugs.webkit.org/show_bug.cgi?id=20883 85971 85972 Implement deferred loading for the libcURL backend using curl_easy_pause. 85973 As the method was introduced in version 7.18.0, all the code checks for libcURL 85974 version. 85975 85976 * platform/network/curl/ResourceHandleCurl.cpp: 85977 (WebCore::ResourceHandle::setDefersLoading): 85978 * platform/network/curl/ResourceHandleManager.cpp: 85979 (WebCore::writeCallback): Add an assertion that deferred loading is not 85980 activated. 85981 (WebCore::headerCallback): Ditto. 85982 (WebCore::readCallback): Ditto. 85983 (WebCore::ResourceHandleManager::dispatchSynchronousJob): Force 85984 defersLoading to be false in order to avoid triggering an assertion. 85985 (WebCore::ResourceHandleManager::initializeHandle): If deferred loading is 85986 activated, pause the easy handle. 85987 85988 2008-09-23 Matt Lilek <webkit (a] mattlilek.com> 85989 85990 Reviewed by Tim Hatcher. 85991 85992 Inspector search field style tweaks. 85993 85994 * page/inspector/inspector.css: 85995 85996 2008-09-23 Nikolas Zimmermann <zimmermann (a] kde.org> 85997 85998 Reviewed by Eric. 85999 86000 Fixes: https://bugs.webkit.org/show_bug.cgi?id=21046 (Several LayoutTests crash) 86001 86002 Fix missing negation in EventTargetNode::insertedIntoDocument. 86003 Made handleLocalEvents() virtual again, HTMLFormElement overrides it. 86004 Remove code, that wasn't supposed to go in in dispatchGenericEvent(). 86005 86006 * dom/EventTargetNode.cpp: 86007 (WebCore::EventTargetNode::insertedIntoDocument): 86008 (WebCore::EventTargetNode::dispatchGenericEvent): 86009 * dom/EventTargetNode.h: 86010 86011 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86012 86013 Adds search support to the Profiles panel. 86014 86015 The Profiles panel supports a few types of queries: 86016 * Standard string matching for function names and file URLs. 86017 * Greater than and less than search for numeric columns. 86018 So a query of ">24" will match all rows that have calls 86019 greater than 24. Or "<=42" will match all 42 or less. 86020 * Percent and time units. Adding a unit of "s", "ms" or "%" 86021 is supported and will match only the Self and Total columns. 86022 So a query of ">1.25s" will match all rows that took longer 86023 than 1.25 seconds. 86024 86025 Reviewed by Oliver Hunt. 86026 86027 * page/inspector/ProfileView.js: 86028 (WebInspector.ProfileView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time 86029 it will start at the first result. 86030 (WebInspector.ProfileView.prototype.refreshShowAsPercents): Moved from the bottom of the file. 86031 (WebInspector.ProfileView.prototype.searchCanceled): Clear the search properties and refresh highlighted 86032 data grid nodes. 86033 (WebInspector.ProfileView.prototype.performSearch): Search the profile nodes. 86034 (WebInspector.ProfileView.prototype.jumpToFirstSearchResult): Does what the function says. Calls _jumpToSearchResult. 86035 (WebInspector.ProfileView.prototype.jumpToLastSearchResult): Ditto. 86036 (WebInspector.ProfileView.prototype.jumpToNextSearchResult): Ditto. 86037 (WebInspector.ProfileView.prototype.jumpToPreviousSearchResult): Ditto. 86038 (WebInspector.ProfileView.prototype.showingFirstSearchResult): Does what the function says. 86039 (WebInspector.ProfileView.prototype.showingLastSearchResult): Ditto. 86040 (WebInspector.ProfileView.prototype._jumpToSearchResult): Select and reveal the profile node. 86041 Expand all the ancestors first so the profile node will have a DataGridNode. 86042 (WebInspector.ProfileView.prototype._changeView): Perform the search again on the new tree. 86043 (WebInspector.ProfileDataGridNode.prototype.createCell): Add the highlight class to cells that 86044 have search matches. 86045 * page/inspector/ProfilesPanel.js: 86046 (WebInspector.ProfilesPanel.prototype.reset): Call searchCanceled and delete the currentQuery. 86047 (WebInspector.ProfilesPanel.prototype.showProfile): Use profileViewForProfile. 86048 (WebInspector.ProfilesPanel.prototype.showView): Call showProfile. Used by Panel to show a view. 86049 (WebInspector.ProfilesPanel.prototype.profileViewForProfile): Create the ProfileView if needed. 86050 (WebInspector.ProfilesPanel.prototype.closeVisibleView): Renamed visibleProfileView to visibleView. 86051 (WebInspector.ProfilesPanel.prototype.get searchableViews): Return all the views. 86052 (WebInspector.ProfilesPanel.prototype.searchMatchFound): Update the sidebar search matches. 86053 (WebInspector.ProfilesPanel.prototype.searchCanceled): Clear all the sidebar search matches. 86054 (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches): Set the class and bubbleText. 86055 * page/inspector/inspector.css: New style rules for the cell highlight color. 86056 86057 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86058 86059 Adds search support to the Resources and Scripts panels. 86060 86061 https://bugs.webkit.org/show_bug.cgi?id=21005 86062 86063 Reviewed by Oliver Hunt. 86064 86065 * page/inspector/Images/searchSmallBlue.png: Added. 86066 * page/inspector/Images/searchSmallBrightBlue.png: Added. 86067 * page/inspector/Images/searchSmallGray.png: Added. 86068 * page/inspector/Images/searchSmallWhite.png: Added. 86069 * page/inspector/ResourceView.js: 86070 (WebInspector.ResourceView.prototype.attach): Attempt to attach to "resource-views" 86071 or "script-resource-views" since one might not be created yet. 86072 * page/inspector/ResourcesPanel.js: 86073 (WebInspector.ResourcesPanel.prototype.show): Hide any views that are visible that 86074 are not this panel's current visible view. This can happen when a ResourceView is 86075 visible in the Scripts panel then switched to the this panel. 86076 (WebInspector.ResourcesPanel.prototype.get searchableViews): Return all views, with the 86077 visibleView first. 86078 (WebInspector.ResourcesPanel.prototype.searchResultsSortFunction): Return a sort function 86079 that uses the current graph search function. So cycling through results will be in the order 86080 things appear in the sidebar. 86081 (WebInspector.ResourcesPanel.prototype.searchMatchFound): Update the search matches on the 86082 resource's sidebar tree element. 86083 (WebInspector.ResourcesPanel.prototype.searchCanceled): Restore the error and warning bubbles 86084 in the sidebar. Calls the Panel prototype's searchCanceled. 86085 (WebInspector.ResourcesPanel.prototype.performSearch): Hide all the error and warning bubbles 86086 in the sidebar. Calls the Panel prototype's performSearch. 86087 (WebInspector.ResourcesPanel.prototype.reset): Call searchCanceled and delete the currentQuery. 86088 (WebInspector.ResourcesPanel.prototype.addMessageToResource): Don't call updateErrorsAndWarnings 86089 if there is a current search query. 86090 (WebInspector.ResourcesPanel.prototype.clearMessages): Ditto. 86091 (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): Ditto. 86092 (WebInspector.ResourcesPanel.prototype.showView): Call showResource. Used by Panel to show a view. 86093 (WebInspector.ResourceSidebarTreeElement.prototype.resetBubble): Clear all the classes and content. 86094 (WebInspector.ResourceSidebarTreeElement.prototype.set searchMatches): Set the bubbleText and class. 86095 (WebInspector.ResourceSidebarTreeElement.prototype.updateErrorsAndWarnings): Call resetBubble. 86096 * page/inspector/ScriptView.js: 86097 (WebInspector.ScriptView): Set _sourceFrameSetup to flase. 86098 (WebInspector.ScriptView.prototype.hide): Reset _currentSearchResultIndex to -1. So the next time 86099 it will start at the first result. 86100 (WebInspector.ScriptView.prototype.setupSourceFrameIfNeeded): Add an event listener for "syntax 86101 highlighting complete". 86102 (WebInspector.ScriptView.prototype): Share many methods with SourceView. 86103 * page/inspector/ScriptsPanel.js: 86104 (WebInspector.ScriptsPanel.prototype.show): Hide any views that are visible that are not this 86105 This can happen when a ResourceView is visible in the Resources panel then switched to the this panel. 86106 (WebInspector.ScriptsPanel.prototype.get searchableViews): Return all views, with the visibleView first. 86107 (WebInspector.ScriptsPanel.prototype.reset): Call searchCanceled and delete the currentQuery. 86108 (WebInspector.ScriptsPanel.prototype.showView): Call _showScriptOrResource. Used by Panel to show a view. 86109 (WebInspector.ScriptsPanel.prototype._sourceViewForScriptOrResource): Added helper. 86110 * page/inspector/SourceFrame.js: 86111 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): Dispatch a "syntax highlighting complete" event. 86112 * page/inspector/SourceView.js: 86113 (WebInspector.SourceView.prototype.hide): 86114 (WebInspector.SourceView.prototype.detach): 86115 (WebInspector.SourceView.prototype._resourceLoadingFinished): Moved from the bottom of the file. 86116 (WebInspector.SourceView.prototype._addBreakpoint): Ditto. 86117 (WebInspector.SourceView.prototype.searchCanceled): Delete search properties. 86118 (WebInspector.SourceView.prototype.performSearch): Search the frame if it is loaded, otherwise 86119 store the worker function as _delayedFindSearchMatches and call it later in _sourceFrameSetupFinished. 86120 (WebInspector.SourceView.prototype.jumpToFirstSearchResult): 86121 (WebInspector.SourceView.prototype.jumpToLastSearchResult): 86122 (WebInspector.SourceView.prototype.jumpToNextSearchResult): 86123 (WebInspector.SourceView.prototype.jumpToPreviousSearchResult): 86124 (WebInspector.SourceView.prototype.showingFirstSearchResult): 86125 (WebInspector.SourceView.prototype.showingLastSearchResult): 86126 (WebInspector.SourceView.prototype._jumpToSearchResult): Selects the found Range. 86127 (WebInspector.SourceView.prototype._sourceFrameSetupFinished): Calls _delayedFindSearchMatches. 86128 (WebInspector.SourceView.prototype._syntaxHighlightingComplete): Call _sourceFrameSetupFinished. 86129 * page/inspector/inspector.css: 86130 86131 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86132 86133 Rename some properties of ResourcesPanel and ScriptsPanel to be the same, 86134 so future code can be shared. 86135 86136 https://bugs.webkit.org/show_bug.cgi?id=21005 86137 86138 Reviewed by Oliver Hunt. 86139 86140 * page/inspector/ResourcesPanel.js: Renamed resourceViews to viewsContainerElement. 86141 And visibleResourceView to visibleView. 86142 * page/inspector/ScriptsPanel.js: Renamed scriptResourceViews to viewsContainerElement. 86143 86144 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86145 86146 Highlight all matched search results in the Elements panel DOM tree. 86147 86148 https://bugs.webkit.org/show_bug.cgi?id=21005 86149 86150 Reviewed by Oliver Hunt. 86151 86152 * page/inspector/ElementsPanel.js: 86153 (WebInspector.ElementsPanel.prototype.searchCanceled): Clear the highlight 86154 on all previous search results. 86155 (WebInspector.ElementsPanel.prototype.performSearch): Set the hihglight 86156 on all new search results. 86157 * page/inspector/ElementsTreeOutline.js: 86158 (WebInspector.ElementsTreeElement): Delay setting the title until onattach. 86159 (WebInspector.ElementsTreeElement.prototype.get/set highlighted): Sets or removes 86160 the highlighted class on the listItemElement. 86161 (WebInspector.ElementsTreeElement.prototype.onattach): Set the highlighted class 86162 if needed. Calls _updateTitle. 86163 (WebInspector.ElementsTreeElement.prototype._updateTitle): Adds a span with the highlight 86164 class so it can be styled when the highlighted class is present. 86165 * page/inspector/inspector.css: New style rules for the hihglight. 86166 86167 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86168 86169 Add search support to the Elements panel. 86170 86171 https://bugs.webkit.org/show_bug.cgi?id=21005 86172 86173 Reviewed by Oliver Hunt. 86174 86175 * page/inspector/ElementsPanel.js: 86176 (WebInspector.ElementsPanel.prototype.searchCanceled): Call updateSearchMatchesCount 86177 with a 0 match count to rest. Reset the other search properties. 86178 (WebInspector.ElementsPanel.prototype.performSearch): Evaluates the search as an XPath 86179 query and a CSS selector on all the Documents in the page. Remembers the found nodes 86180 and avoids duplicates. Focuses the first result. 86181 (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult): Focuses the next result. 86182 (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult): Focuses the previous result. 86183 86184 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86185 86186 Add support to Panel that allows easy searching of sub-views. 86187 86188 https://bugs.webkit.org/show_bug.cgi?id=21005 86189 86190 Reviewed by Oliver Hunt. 86191 86192 * page/inspector/Panel.js: 86193 (WebInspector.Panel.prototype.searchCanceled): Call searchCanceled on all the 86194 views in the search results and delete the currentQuery property. Call 86195 WebInspector.updateSearchMatchesCount wit ha 0 match count to rest. Reset the 86196 other search properties. 86197 (WebInspector.Panel.prototype.performSearch): Call searchCanceled since it will 86198 reset everything we need before doing a new search. Get an array of searchableViews 86199 from the panel, implemented by sub-classes. Iterate over the views one-by-one 86200 with an interval to prevent blocking the UI for large lists of searchableViews. 86201 This keeps the interface really responsive. Pass a finishedCallback function to 86202 the performSearch on each view so it can notify the panel of results. 86203 (WebInspector.Panel.prototype.jumpToNextSearchResult): Finds the index in the 86204 searchResults of the visibleView, so we know where in the results we are. 86205 This is done every time incase the user manually navigates to a new view. 86206 If the view is showing the last result, jump to the next view and show it's 86207 first result. Otherwise jump to the next result in the current view. 86208 (WebInspector.Panel.prototype.jumpToPreviousSearchResult): Ditto, but in reverse. 86209 86210 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86211 86212 Add support for asking the current panel to perform a search, find next/previous and clear. 86213 A search is performed on the new new current panel when switching between panels. The search 86214 label/placeholder in the toolbar now includes the panel name to make it clear that panel will 86215 be searched. The search field contents are selected when Command/Control-F or Enter/Return 86216 is pressed, so the user can easily type an entirely new query. The search match count shows 86217 up in the toolbar next to the search field. 86218 86219 Also changed: 86220 * Rename lastQuery to currentQuery since it better matches the truth. 86221 * Set the search field "results" attribute to zero since results arn't saved for 86222 how we use the search field. 86223 * Make repeated presses of the Return key jump to the next search result instead 86224 of doing nothing. 86225 * Increased the search field width. 86226 86227 https://bugs.webkit.org/show_bug.cgi?id=21005 86228 86229 Reviewed by Oliver Hunt. 86230 86231 * English.lproj/localizedStrings.js: New strings. 86232 * page/inspector/inspector.css: New styles. 86233 * page/inspector/inspector.html: Add the search-results-matches element. Add the 86234 incremental attribute to the search field and set the results attribute to zero. 86235 * page/inspector/inspector.js: 86236 (WebInspector.set currentPanel): perform the search on the new panel. 86237 (WebInspector.loaded): Change the event listeners and remove code that changes 86238 the search label text. 86239 (WebInspector.documentKeyDown): Add support for Command/Control-G and 86240 Command/Control-Shift-G. To jump to the next and previous search results. 86241 (WebInspector.updateSearchLabel): Added. Update the search placeholder/label. 86242 This does different things depending on the attached state. 86243 (WebInspector.searchKeyDown): Call preventDefault since this was the Enter key. 86244 This prevents a "search" event from firing for key down. We handle the Enter key 86245 on key up in searchKeyUp. This stops performSearch from being called twice in a row. 86246 (WebInspector.searchKeyUp): Calls performSearch when it is the Enter key. 86247 (WebInspector.performSearch): Delete the currentQuery property and call searchCanceled 86248 on all the panels. Call jumpToNextSearchResult when this is the same query or a forced search. 86249 Call updateSearchMatchesCount to reset the matches count in the toolbar. 86250 (WebInspector.updateSearchMatchesCount): Added. Updates the matches count in the toolbar. 86251 86252 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86253 86254 Remove the previous Inspector search code to make room for the new stuff. 86255 86256 https://bugs.webkit.org/show_bug.cgi?id=21005 86257 86258 Reviewed by Oliver Hunt. 86259 86260 * page/inspector/inspector.css: 86261 * page/inspector/inspector.html: 86262 * page/inspector/inspector.js: 86263 (WebInspector.get/set showingSearchResults): Removed. 86264 (WebInspector.searchResultsKeyDown): Removed. 86265 (WebInspector.searchResultsResizerDragStart): Removed. 86266 (WebInspector.searchResultsResizerDragEnd): Removed. 86267 (WebInspector.searchResultsResizerDrag): Removed. 86268 (WebInspector.performSearch): Removed searching parts. 86269 86270 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86271 86272 Use the Array.remove helper function in more places. 86273 86274 https://bugs.webkit.org/show_bug.cgi?id=21037 86275 86276 Reviewed by Kevin McCullough. 86277 86278 * page/inspector/ResourceCategory.js: 86279 (WebInspector.ResourceCategory.prototype.removeResource): Use Array.remove. 86280 * page/inspector/ResourcesPanel.js: 86281 (WebInspector.ResourcesPanel.prototype.removeResource): Ditto. 86282 * page/inspector/inspector.js: 86283 (WebInspector.removeResource): Ditto. 86284 86285 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86286 86287 Fixes a bug where inspecting a node after reloading the page 86288 would not reveal the node in the DOM tree. The TreeOutline 86289 was not being told to forget decendants of a removed child. 86290 So old TreeElements would be found that are not in the tree. 86291 86292 https://bugs.webkit.org/show_bug.cgi?id=21036 86293 86294 Reviewed by Kevin McCullough. 86295 86296 * page/inspector/treeoutline.js: 86297 (TreeOutline._removeChildAtIndex): Call _forgetChildrenRecursive 86298 in addition to _forgetTreeElement. 86299 (TreeOutline._removeChildren): Call _forgetChildrenRecursive 86300 in addition to _forgetTreeElement. 86301 (TreeOutline._rememberTreeElement): Use Array.indexOf to quickly 86302 search for known elements. 86303 (TreeOutline._forgetTreeElement): Use Array.remove to remove elements. 86304 (TreeOutline._forgetChildrenRecursive): Recursively traverse the 86305 descendants and call _forgetTreeElement. 86306 * page/inspector/utilities.js: 86307 (Array.prototype.remove): Speed up this function by using Array.indexOf 86308 when onlyFirst is true. 86309 86310 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86311 86312 Fixes a bug where inspecting some short text nodes does 86313 not reveal them in the Elements panel DOM tree. 86314 86315 https://bugs.webkit.org/show_bug.cgi?id=21035 86316 86317 Reviewed by Oliver Hunt. 86318 86319 * page/inspector/ElementsTreeOutline.js: 86320 (WebInspector.ElementsTreeOutline.prototype.set focusedDOMNode): 86321 The revealAndSelectNode() method might find a different element 86322 if there is inlined text, and the select() call would change the 86323 focusedDOMNode and reenter this setter. So to avoid calling 86324 focusedNodeChanged() twice, first check if _focusedDOMNode is 86325 the same node as the one passed in. 86326 (WebInspector.ElementsTreeOutline.prototype.update): Remove use of 86327 this.treeOutline, since this is the TreeOutline. 86328 (WebInspector.ElementsTreeOutline.prototype.findTreeElement): Added. 86329 Provides default functions for isAncestor, getParet and equal. 86330 Calls the base protoype's findTreeElement. If that returns null 86331 and the node is a text node, try finding it's parent. 86332 (WebInspector.ElementsTreeOutline.prototype.revealNode): Removed. 86333 Renamed to revealAndSelectNode. 86334 (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode): 86335 Selects and reveals the node passed in. Use the simple findTreeElement. 86336 (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent): 86337 Remove use of this.treeOutline, since this is the TreeOutline. 86338 86339 2008-09-23 Timothy Hatcher <timothy (a] apple.com> 86340 86341 Fixes an exception that happened when removing a Resource 86342 from the ResourcesPanel. 86343 86344 https://bugs.webkit.org/show_bug.cgi?id=21034 86345 86346 Reviewed by Kevin McCullough. 86347 86348 * page/inspector/ResourcesPanel.js: 86349 (WebInspctor.ResourcesPanel.prototype.removeResource): 86350 Remove the graphElement. 86351 86352 2008-09-23 Kevin McCullough <kmccullough (a] apple.com> 86353 86354 Fixed "Time" to "Tim" 86355 86356 * ChangeLog: 86357 86358 2008-09-23 Nikolas Zimmermann <zimmermann (a] kde.org> 86359 86360 Reviewed by Oliver. 86361 86362 Move mapInstanceToElement/removeInstanceMapping/instancesForElement 86363 from SVGDocumentExtensions to SVGElement. It's more useful to store 86364 the list of SVGElementInstances per SVGElement, instead of using 86365 a document-wide hash for this purpose. 86366 86367 * svg/SVGAnimateMotionElement.cpp: 86368 (WebCore::SVGAnimateMotionElement::applyResultsToTarget): 86369 * svg/SVGAnimateTransformElement.cpp: 86370 (WebCore::SVGAnimateTransformElement::applyResultsToTarget): 86371 * svg/SVGAnimationElement.cpp: 86372 (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): 86373 * svg/SVGDocumentExtensions.cpp: 86374 (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions): 86375 * svg/SVGDocumentExtensions.h: 86376 * svg/SVGElement.cpp: 86377 (WebCore::SVGElement::mapInstanceToElement): 86378 (WebCore::SVGElement::removeInstanceMapping): 86379 (WebCore::SVGElement::instancesForElement): 86380 * svg/SVGElement.h: 86381 * svg/SVGElementInstance.cpp: 86382 (WebCore::SVGElementInstance::SVGElementInstance): 86383 (WebCore::SVGElementInstance::~SVGElementInstance): 86384 (WebCore::SVGElementInstance::updateAllInstancesOfElement): 86385 * svg/SVGElementInstance.h: 86386 * svg/SVGStyledElement.cpp: 86387 (WebCore::SVGStyledElement::svgAttributeChanged): 86388 (WebCore::SVGStyledElement::childrenChanged): 86389 * svg/SVGStyledElement.h: 86390 86391 2008-09-23 Kevin Ollivier <kevino (a] theolliviers.com> 86392 86393 wx build fix. 86394 86395 * WebCoreSources.bkl: 86396 86397 2008-09-23 Nikolas Zimmermann <zimmermann (a] kde.org> 86398 86399 Rubber stamped by Sam. 86400 86401 Move code from EventTarget to EventTargetNode. 86402 86403 I refactored most parts to live in EventTarget, a year ago, 86404 though the implementation of EventTargetSVGElementInstance is 86405 done in another way, that obsoletes this. 86406 86407 * dom/Document.cpp: 86408 (WebCore::Document::addListenerTypeIfNeeded): 86409 * dom/Document.h: 86410 * dom/EventTarget.cpp: 86411 * dom/EventTarget.h: 86412 (WebCore::allowEventDispatch): 86413 * dom/EventTargetNode.cpp: 86414 (WebCore::EventTargetNode::insertedIntoDocument): 86415 (WebCore::EventTargetNode::removedFromDocument): 86416 (WebCore::EventTargetNode::willMoveToNewOwnerDocument): 86417 (WebCore::EventTargetNode::didMoveToNewOwnerDocument): 86418 (WebCore::EventTargetNode::addEventListener): 86419 (WebCore::EventTargetNode::removeEventListener): 86420 (WebCore::EventTargetNode::removeAllEventListeners): 86421 (WebCore::EventTargetNode::handleLocalEvents): 86422 (WebCore::setCurrentEventTargetRespectingSVGTargetRules): 86423 (WebCore::EventTargetNode::dispatchEvent): 86424 (WebCore::EventTargetNode::dispatchGenericEvent): 86425 (WebCore::EventTargetNode::dispatchWindowEvent): 86426 (WebCore::EventTargetNode::removeEventListenerForType): 86427 * dom/EventTargetNode.h: 86428 * svg/EventTargetSVGElementInstance.cpp: 86429 (WebCore::EventTargetSVGElementInstance::dispatchEvent): 86430 * svg/SVGElement.cpp: 86431 (WebCore::SVGElement::sendSVGLoadEventIfPossible): 86432 * svg/SVGElement.h: 86433 (WebCore::SVGElement::supplementalTransform): 86434 86435 2008-09-23 Dave Hyatt <hyatt (a] apple.com> 86436 86437 Fix for bug 21012. The Aqua scrollbar was returning the wrong track rect on Windows Aqua theme. Make 86438 sure to not accidentally fall into the vertical scrollbar case for horizontal scrollbars. :) 86439 86440 Reviewed by Sam Weinig 86441 86442 * platform/mac/ScrollbarThemeMac.mm: 86443 (WebCore::ScrollbarThemeMac::trackRect): 86444 * platform/win/ScrollbarThemeSafari.cpp: 86445 (WebCore::ScrollbarTheme::nativeTheme): 86446 (WebCore::ScrollbarThemeSafari::trackRect): 86447 86448 2008-09-23 Beth Dakin <bdakin (a] apple.com> 86449 86450 Reviewed by Sam Weinig. 86451 86452 Fix for https://bugs.webkit.org/show_bug.cgi?id=21041 "Add Contact" 86453 link at gmail does not support AXPress action 86454 and corresponding: <rdar://problem/6216178> 86455 86456 I fixed this bug by making AccessibilityObject::anchorElement 86457 support ARIA links. 86458 86459 * page/AccessibilityImageMapLink.cpp: 86460 (WebCore::AccessibilityImageMapLink::anchorElement): 86461 * page/AccessibilityImageMapLink.h: 86462 * page/AccessibilityObject.cpp: 86463 (WebCore::AccessibilityObject::anchorElement): 86464 * page/AccessibilityObject.h: 86465 (WebCore::AccessibilityObject::isNativeAnchor): 86466 * page/AccessibilityRenderObject.cpp: 86467 (WebCore::AccessibilityRenderObject::isNativeAnchor): 86468 (WebCore::AccessibilityRenderObject::anchorElement): 86469 (WebCore::AccessibilityRenderObject::internalLinkElement): 86470 (WebCore::AccessibilityRenderObject::url): 86471 * page/AccessibilityRenderObject.h: 86472 * page/mac/AccessibilityObjectWrapper.mm: 86473 (AXLinkElementForNode): 86474 86475 2008-09-23 Kevin McCullough <kmccullough (a] apple.com> 86476 86477 Reviewed by Tim and Oliver. 86478 86479 Bug 20949: Catch repeated messages in Inspector Controller to limit 86480 memory usage 86481 - Store the repeat count in the Console Message object, in the 86482 Inspector Controller and JS ConsoleMessage object. 86483 86484 * page/InspectorController.cpp: 86485 (WebCore::ConsoleMessage::ConsoleMessage): 86486 (WebCore::ConsoleMessage::operator==): 86487 (WebCore::InspectorController::InspectorController): 86488 (WebCore::InspectorController::addConsoleMessage): 86489 (WebCore::InspectorController::addScriptConsoleMessage): 86490 * page/InspectorController.h: 86491 * page/inspector/Console.js: 86492 * page/inspector/Resource.js: 86493 * page/inspector/ResourcesPanel.js: 86494 * page/inspector/SourceFrame.js: 86495 86496 2008-09-23 Nikolas Zimmermann <zimmermann (a] kde.org> 86497 86498 Reviewed by Eric. 86499 86500 Working on proper EventTarget support for SVGElementInstance. 86501 86502 Add new EventTargetSVGElementInstance class, and it's corresponding JS wrapper. 86503 Finally JSEventTargetBase, is actually used for another class than JSEventTargetnode. 86504 86505 Remove EventTarget inheritance from SVGElementInstance, and the manual "TreeShared" 86506 implementation. Let it use TreeShared directly. 86507 86508 It's not activated so far (SVGUseElement still creating SVGElementInstance objects). 86509 The transition to EventTargetSVGElementInstance will be done in a few individual patches. 86510 86511 * GNUmakefile.am: 86512 * WebCore.pro: 86513 * WebCore.vcproj/WebCore.vcproj: 86514 * WebCore.xcodeproj/project.pbxproj: 86515 * bindings/js/JSEventTargetBase.cpp: 86516 (WebCore::retrieveEventTargetAndCorrespondingNode): 86517 (WebCore::toJS): 86518 * bindings/js/JSEventTargetBase.h: 86519 * bindings/js/JSEventTargetSVGElementInstance.cpp: Added. 86520 (WebCore::): 86521 (WebCore::JSEventTargetSVGElementInstance::JSEventTargetSVGElementInstance): 86522 (WebCore::JSEventTargetSVGElementInstance::createPrototype): 86523 (WebCore::JSEventTargetSVGElementInstance::setListener): 86524 (WebCore::JSEventTargetSVGElementInstance::getListener): 86525 (WebCore::toEventTargetSVGElementInstance): 86526 * bindings/js/JSEventTargetSVGElementInstance.h: Added. 86527 (WebCore::JSEventTargetSVGElementInstance::prototypeClassName): 86528 (WebCore::JSEventTargetSVGElementInstance::getOwnPropertySlot): 86529 (WebCore::JSEventTargetSVGElementInstance::getValueProperty): 86530 (WebCore::JSEventTargetSVGElementInstance::put): 86531 (WebCore::JSEventTargetSVGElementInstance::putValueProperty): 86532 * bindings/js/JSSVGElementInstanceCustom.cpp: Added. 86533 (WebCore::toJS): 86534 * bindings/objc/DOM.mm: 86535 (+[DOMNode _wrapEventTarget:WebCore::]): 86536 (-[DOMSVGElementInstance _initWithSVGElementInstance:WebCore::]): 86537 (+[DOMSVGElementInstance _wrapSVGElementInstance:WebCore::]): 86538 (+[DOMSVGElementInstance _wrapEventTarget:WebCore::]): 86539 (-[DOMSVGElementInstance WebCore::]): 86540 (-[DOMSVGElementInstance addEventListener:listener:useCapture:]): 86541 (-[DOMSVGElementInstance addEventListener:::]): 86542 (-[DOMSVGElementInstance removeEventListener:listener:useCapture:]): 86543 (-[DOMSVGElementInstance removeEventListener:::]): 86544 (-[DOMSVGElementInstance dispatchEvent:]): 86545 * bindings/objc/DOMEvents.h: 86546 * bindings/scripts/CodeGeneratorJS.pm: 86547 * bindings/scripts/CodeGeneratorObjC.pm: 86548 * svg/EventTargetSVGElementInstance.cpp: Added. 86549 (WebCore::EventTargetSVGElementInstance::EventTargetSVGElementInstance): 86550 (WebCore::EventTargetSVGElementInstance::~EventTargetSVGElementInstance): 86551 (WebCore::EventTargetSVGElementInstance::addEventListener): 86552 (WebCore::EventTargetSVGElementInstance::removeEventListener): 86553 (WebCore::EventTargetSVGElementInstance::dispatchEvent): 86554 * svg/EventTargetSVGElementInstance.h: Added. 86555 (WebCore::EventTargetSVGElementInstance::isEventTargetSVGElementInstance): 86556 (WebCore::EventTargetSVGElementInstance::toNode): 86557 (WebCore::EventTargetSVGElementInstance::toSVGElementInstance): 86558 (WebCore::EventTargetSVGElementInstance::refEventTarget): 86559 (WebCore::EventTargetSVGElementInstance::derefEventTarget): 86560 (WebCore::EventTargetSVGElementInstanceCast): 86561 * svg/SVGElement.cpp: 86562 (WebCore::SVGElement::dispatchEvent): 86563 * svg/SVGElementInstance.cpp: 86564 (WebCore::SVGElementInstance::SVGElementInstance): 86565 (WebCore::SVGElementInstance::~SVGElementInstance): 86566 * svg/SVGElementInstance.h: 86567 (WebCore::SVGElementInstance::isEventTargetSVGElementInstance): 86568 * svg/SVGElementInstance.idl: 86569 86570 2008-09-23 Dan Bernstein <mitz (a] apple.com> 86571 86572 Reviewed by Dave Hyatt. 86573 86574 - https://bugs.webkit.org/show_bug.cgi?id=21040 86575 Pass NULL instead of the identity matrix to CTFontCreateWithGraphicsFont() 86576 86577 * platform/graphics/mac/SimpleFontDataMac.mm: 86578 (WebCore::SimpleFontData::getCTFont): 86579 86580 2008-09-23 David Hyatt <hyatt (a] apple.com> 86581 86582 https://bugs.webkit.org/show_bug.cgi?id=21039 86583 86584 Teach the viewless Mac scrollbar how to avoid NSWindow's resizer. 86585 86586 Reviewed by Sam Weinig 86587 86588 * platform/ScrollView.h: 86589 * platform/Scrollbar.cpp: 86590 (WebCore::Scrollbar::setFrameGeometry): 86591 * platform/Scrollbar.h: 86592 * platform/Widget.cpp: 86593 (WebCore::Widget::convertFromContainingWindow): 86594 * platform/Widget.h: 86595 * platform/mac/ScrollViewMac.mm: 86596 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 86597 (WebCore::ScrollView::ScrollView): 86598 (WebCore::ScrollView::~ScrollView): 86599 (WebCore::ScrollView::windowResizerRect): 86600 (WebCore::ScrollView::resizerOverlapsContent): 86601 (WebCore::ScrollView::adjustOverlappingScrollbarCount): 86602 (WebCore::ScrollView::setParent): 86603 * platform/mac/WidgetMac.mm: 86604 (WebCore::Widget::convertFromContainingWindow): 86605 86606 2008-09-23 Dirk Schulze <vbs85 (a] gmx.de> 86607 86608 Reviewed by Darin Adler. Landed by Jan Alonzo. 86609 86610 Added support for getImageData() and putImageData() 86611 to Cairo. 86612 86613 [CAIRO] needs getImageData and putImageData support 86614 https://bugs.webkit.org/show_bug.cgi?id=20838 86615 86616 * platform/graphics/cairo/ImageBufferCairo.cpp: 86617 (WebCore::ImageBuffer::ImageBuffer): 86618 (WebCore::ImageBuffer::getImageData): 86619 (WebCore::ImageBuffer::putImageData): 86620 86621 2008-09-23 Marco Barisione <marco.barisione (a] collabora.co.uk> 86622 86623 Reviewed by Holger Freyther. 86624 86625 http://bugs.webkit.org/show_bug.cgi?id=18987 86626 [GTK] Implement SharedBuffer::createWithContentsOfFile and 86627 KURL::fileSystemPath 86628 86629 * GNUmakefile.am: Add KURLGtk.cpp and SharedBufferGtk.cpp. 86630 * platform/gtk/KURLGtk.cpp: Added. 86631 (WebCore::KURL::fileSystemPath): Implemented. 86632 * platform/gtk/SharedBufferGtk.cpp: Added. 86633 (WebCore::SharedBuffer::createWithContentsOfFile): Implemented. 86634 * platform/gtk/TemporaryLinkStubs.cpp: Remove the old stubs. 86635 86636 2008-09-23 Alexey Proskuryakov <ap (a] webkit.org> 86637 86638 Reviewed by Oliver Hunt, okayed by Darin Adler. 86639 86640 <rdar://problem/5575547> REGRESSION: ATOK has no phrase boundary on Safari/Mail.app 86641 86642 * rendering/InlineTextBox.cpp: 86643 (WebCore::InlineTextBox::paintCompositionUnderline): Add 2 pixel spacing between clauses. 86644 86645 2008-09-23 Alexey Proskuryakov <ap (a] webkit.org> 86646 86647 Reviewed by Darin Adler. 86648 86649 https://bugs.webkit.org/show_bug.cgi?id=21023 86650 Don't use TEC for encodings supported by ICU 86651 86652 * platform/text/mac/mac-encodings.txt: Removed x-mac-centraleurroman, x-mac-cyrillic, 86653 x-mac-greek, and x-mac-turkish. 86654 86655 * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerExtendedEncodingNames): 86656 Register aliases for these encodings that are not registered automatically; updated comments. 86657 86658 2008-09-23 Maciej Stachowiak <mjs (a] apple.com> 86659 86660 Reviewed by Darin. 86661 86662 - speed up instanceof some more 86663 https://bugs.webkit.org/show_bug.cgi?id=20818 86664 86665 ~2% speedup on EarleyBoyer 86666 86667 (WebCore updates.) 86668 86669 * bindings/js/JSQuarantinedObjectWrapper.h: 86670 (WebCore::JSQuarantinedObjectWrapper::createStructureID): 86671 86672 2008-09-22 Darin Adler <darin (a] apple.com> 86673 86674 Reviewed by Oliver Hunt. 86675 86676 - fix https://bugs.webkit.org/show_bug.cgi?id=21008 86677 getting pixels by index from CanvasPixelArray is unnecessarily slow 86678 86679 * GNUmakefile.am: Added JSCanvasPixelArrayCustom.h. 86680 * WebCore.vcproj/WebCore.vcproj: Ditto. 86681 * WebCore.xcodeproj/project.pbxproj: Ditto. 86682 86683 * bindings/js/JSCanvasPixelArrayCustom.cpp: Removed indexGetter and 86684 indexSetter. These are now both inlined, so in the header. 86685 * bindings/js/JSCanvasPixelArrayCustom.h: Added. The getByIndex 86686 function is what's used for HasCustomIndexGetter. Also moved the 86687 indexSetter function here. 86688 86689 * bindings/scripts/CodeGeneratorJS.pm: Changed HasCustomIndexGetter 86690 to use a getByIndex member function rather than an indexGetter static 86691 member function in a property slot. This lets us avoid the property 86692 slot mechanism's rule where it turns numeric property names into 86693 strings in the identifier table, which is good because that's slow. 86694 Also added a new property CustomHeader that allows IDL files to 86695 introduce headers to be included -- useful when we have functions 86696 that we want to inline into the binding. 86697 86698 * html/CanvasPixelArray.idl: Added CustomHeader attribute. 86699 86700 2008-09-23 Eric Seidel <eric (a] webkit.org> 86701 86702 No review, build fix only. 86703 86704 Another blind stab in the dark. 86705 86706 * svg/graphics/cg/SVGResourceClipperCg.cpp: Add missing header. 86707 86708 2008-09-23 Eric Seidel <eric (a] webkit.org> 86709 86710 No review, build fix only. 86711 86712 Third time's the charm, eh? My local build is sadly still not done... 86713 86714 * platform/graphics/AffineTransform.cpp: remove extra & 86715 * platform/graphics/AffineTransform.h: remove extra & 86716 86717 2008-09-22 Eric Seidel <eric (a] webkit.org> 86718 86719 No review, build fix only. 86720 86721 * platform/graphics/AffineTransform.cpp: remove extra ; 86722 86723 2008-09-22 Eric Seidel <eric (a] webkit.org> 86724 86725 No review, build fix only. 86726 86727 Speculative fix for the build while I wait for my compile to finish. 86728 86729 * platform/graphics/AffineTransform.cpp: 86730 86731 2008-09-22 Dirk Schulze <vbs85 (a] gmx.de> 86732 86733 Reviewed by eseidel. Landed by eseidel. 86734 86735 Moved makeMapBetweenRects from SVG/CG to AffineTransform 86736 Make SVGResourceClipper::applyClip more cross-platform 86737 86738 * platform/graphics/AffineTransform.cpp: 86739 * platform/graphics/AffineTransform.h: 86740 * svg/graphics/cg/CgSupport.cpp: 86741 * svg/graphics/cg/CgSupport.h: 86742 * svg/graphics/cg/SVGPaintServerGradientCg.cpp: 86743 (WebCore::SVGPaintServerGradient::handleBoundingBoxModeAndGradientTransformation): 86744 * svg/graphics/cg/SVGResourceClipperCg.cpp: 86745 (WebCore::SVGResourceClipper::applyClip): 86746 86747 2008-09-22 Alp Toker <alp (a] nuanti.com> 86748 86749 Reviewed by David Hyatt. 86750 86751 https://bugs.webkit.org/show_bug.cgi?id=16331 86752 [Gtk] no focus when button/checkbox/radiobutton clicked, only when tabbed 86753 86754 Obey GTK+ focusing conventions for controls and anchor elements. 86755 86756 It could be interesting to push these decisions up to Settings or 86757 ChromeClient some day but this gets things working. 86758 86759 Right and middle click events still need some work to match GTK+ 86760 conventions. 86761 86762 * html/HTMLAnchorElement.cpp: 86763 (WebCore::HTMLAnchorElement::isMouseFocusable): 86764 * html/HTMLFormControlElement.cpp: 86765 (WebCore::HTMLFormControlElement::isMouseFocusable): 86766 * page/EventHandler.cpp: 86767 (WebCore::EventHandler::sendContextMenuEvent): 86768 86769 2008-09-22 Darin Adler <darin (a] apple.com> 86770 86771 * page/mac/FrameMac.mm: 86772 (WebCore::Frame::baseWritingDirectionForSelectionStart): Fix indentation. 86773 86774 2008-09-22 Sam Weinig <sam (a] webkit.org> 86775 86776 Reviewed by Dan Bernstein. 86777 86778 Patch for https://bugs.webkit.org/show_bug.cgi?id=21013 86779 Match Firefox in how we hide HTMLInputElement.selectionStart, selectionEnd 86780 and setSelectionRange. This also allows us to remove the legacy JSHTMLInputElementBase 86781 class! 86782 86783 - selectionStart, selectionEnd and setSelectionRange now are visible in iteration of 86784 non-selectable input types, but return undefined when accessed. 86785 86786 * DerivedSources.make: 86787 * GNUmakefile.am: 86788 * WebCore.pro: 86789 * WebCore.vcproj/WebCore.vcproj: 86790 * WebCore.xcodeproj/project.pbxproj: 86791 * WebCoreSources.bkl: 86792 * bindings/js/JSHTMLInputElementBase.cpp: Removed. 86793 * bindings/js/JSHTMLInputElementBase.h: Removed. 86794 * bindings/js/JSHTMLInputElementCustom.cpp: Added. 86795 (WebCore::JSHTMLInputElement::customGetOwnPropertySlot): 86796 (WebCore::JSHTMLInputElement::selectionStart): 86797 (WebCore::JSHTMLInputElement::selectionEnd): 86798 * bindings/js/JSHTMLInputElementCustom.h: Added. 86799 * html/HTMLInputElement.idl: 86800 86801 2008-09-22 Dan Bernstein <mitz (a] apple.com> 86802 86803 Reviewed by Sam Weinig. 86804 86805 - fix <rdar://problem/5699571> Mail: Unable to change writing direction to LTR in an empty message 86806 86807 Not testable in DumpRenderTree or in Safari 86808 86809 * page/mac/FrameMac.mm: 86810 (WebCore::Frame::baseWritingDirectionForSelectionStart): Account for the 86811 case that the selection start node is a block. 86812 86813 2008-09-22 David Hyatt <hyatt (a] apple.com> 86814 86815 https://bugs.webkit.org/show_bug.cgi?id=21007 86816 86817 Make sure that the scrollbar gets sent a release event on platforms that call handleMouseDoubleClickEvent. 86818 86819 Reviewed by Sam Weinig 86820 86821 * page/EventHandler.cpp: 86822 (WebCore::EventHandler::handleMouseDoubleClickEvent): 86823 86824 2008-09-22 Eric Seidel <eric (a] webkit.org> 86825 86826 No review, rollback only. 86827 86828 Roll out Peter's change (per his request) 86829 http://trac.webkit.org/changeset/36069 86830 https://bugs.webkit.org/show_bug.cgi?id=19663 86831 This change has been the source of numerous regressions 86832 (several of which were latent bugs revealed by this change, 86833 others were bugs in this change) 86834 86835 * platform/graphics/BitmapImage.cpp: 86836 (WebCore::BitmapImage::BitmapImage): 86837 (WebCore::BitmapImage::startAnimation): 86838 (WebCore::BitmapImage::advanceAnimation): 86839 * platform/graphics/BitmapImage.h: 86840 * platform/graphics/cairo/ImageCairo.cpp: 86841 (WebCore::BitmapImage::draw): 86842 * platform/graphics/cg/ImageCG.cpp: 86843 (WebCore::BitmapImage::draw): 86844 * platform/graphics/qt/ImageQt.cpp: 86845 (WebCore::BitmapImage::draw): 86846 * platform/graphics/wx/ImageWx.cpp: 86847 (WebCore::BitmapImage::draw): 86848 86849 2008-09-22 Dan Bernstein <mitz (a] apple.com> 86850 86851 Reviewed by Sam Weinig. 86852 86853 - fix <rdar://problem/5158514> Switch the complex text code path to Core Text 86854 86855 Tests: platform/mac-snowleopard/fast/text/myanmar-shaping.html 86856 platform/mac-snowleopard/fast/text/thai-combining-mark-positioning.html 86857 86858 * config.h: Use Core Text if not building for Leopard or Tiger. 86859 86860 2008-09-22 David Hyatt <hyatt (a] apple.com> 86861 86862 https://bugs.webkit.org/show_bug.cgi?id=21006 86863 86864 Add code that paints an NSView-less scroller using HIThemeDrawTrack. This scrollbar is still not 86865 switched on. There are still a few more refinements to make to the rendering and behavior. 86866 86867 Reviewed by Darin Adler 86868 86869 * platform/ScrollbarThemeComposite.cpp: 86870 (WebCore::ScrollbarThemeComposite::paint): 86871 * platform/ScrollbarThemeComposite.h: 86872 (WebCore::ScrollbarThemeComposite::paintTrack): 86873 (WebCore::ScrollbarThemeComposite::paintButton): 86874 (WebCore::ScrollbarThemeComposite::paintThumb): 86875 * platform/mac/ScrollbarThemeMac.h: 86876 * platform/mac/ScrollbarThemeMac.mm: 86877 (WebCore::ScrollbarThemeMac::backButtonRect): 86878 (WebCore::ScrollbarThemeMac::forwardButtonRect): 86879 (WebCore::scrollbarPartToHIPressedState): 86880 (WebCore::ScrollbarThemeMac::paint): 86881 * platform/mac/WidgetMac.mm: 86882 (WebCore::Widget::invalidateRect): 86883 86884 2008-09-22 Chris Marrin <cmarrin (a] apple.com> 86885 86886 Reviewed by Sam Weinig 86887 86888 transition end event when -webkit-transition-property: all puts wrong 86889 propertyName in event 86890 https://bugs.webkit.org/show_bug.cgi?id=20903 86891 86892 * page/animation/ImplicitAnimation.cpp: 86893 (WebCore::ImplicitAnimation::sendTransitionEvent): 86894 86895 2008-09-22 Chris Fleizach <cfleizach (a] apple.com> 86896 86897 Reviewed by Darin Adler. 86898 86899 <rdar://problem/6230234> AXTable should probably not be exposed in there's only one cell 86900 86901 Test: accessibility/table-one-cell.html 86902 86903 * page/AccessibilityTable.cpp: 86904 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 86905 86906 2008-09-22 Chris Fleizach <cfleizach (a] apple.com> 86907 86908 Reviewed by Darin Adler. 86909 86910 <rdar://problem/6167779> Setting AXSelectedTextRange for TextAreas in a WebView behaves incorrectly 86911 86912 Test: accessibility/textarea-selected-text-range.html 86913 86914 * page/AccessibilityRenderObject.cpp: 86915 (WebCore::AccessibilityRenderObject::setSelectedTextRange): 86916 86917 2008-09-22 David Hyatt <hyatt (a] apple.com> 86918 86919 Clean up some parent relationships in the back end stylesheet code. Make sure parentStyleSheet 86920 properly walks up nested rule blocks to reach the parent sheet instead of giving up at the immediate 86921 parent. Also fix the doc() method so that it is properly set when the parent of the sheet is an import 86922 rule. 86923 86924 Reviewed by Sam Weinig 86925 86926 Added fast/css/nested-rule-parent-sheet.html 86927 86928 * css/CSSImportRule.cpp: 86929 (WebCore::CSSImportRule::insertedIntoParent): 86930 * css/CSSRule.cpp: 86931 (WebCore::CSSRule::parentStyleSheet): 86932 (WebCore::CSSRule::parentRule): 86933 * css/CSSStyleSheet.cpp: 86934 (WebCore::CSSStyleSheet::CSSStyleSheet): 86935 * css/CSSStyleSheet.h: 86936 86937 2008-09-22 Dan Bernstein <mitz (a] apple.com> 86938 86939 Reviewed by Sam Weinig. 86940 86941 - fix https://bugs.webkit.org/show_bug.cgi?id=21002 86942 Make the ATSUI code path respect spacingDisabled() 86943 86944 Fixes svg/text/text-spacing-01-b.svg in run-webkit-tests --complex-text 86945 86946 * platform/graphics/mac/FontMacATSUI.mm: 86947 (WebCore::overrideLayoutOperation): 86948 86949 2008-09-22 Maciej Stachowiak <mjs (a] apple.com> 86950 86951 Reviewed by Cameron Zwarich. 86952 86953 - speed up instanceof operator by replacing implementsHasInstance method with a TypeInfo flag 86954 86955 Partial work towards <https://bugs.webkit.org/show_bug.cgi?id=20818> 86956 86957 2.2% speedup on EarleyBoyer benchmark. 86958 86959 * bindings/js/JSQuarantinedObjectWrapper.cpp: 86960 * bindings/js/JSQuarantinedObjectWrapper.h: 86961 (WebCore::JSQuarantinedObjectWrapper::createStructureID): 86962 * bindings/scripts/CodeGeneratorJS.pm: 86963 86964 2008-09-22 Adam Roben <aroben (a] apple.com> 86965 86966 Windows build fix 86967 86968 * WebCore.vcproj/WebCore.vcproj: Add a missing </File> tag. 86969 86970 2008-09-22 Maciej Stachowiak <mjs (a] apple.com> 86971 86972 Reviewed by Dave Hyatt. 86973 86974 Based on initial work by Darin Adler. 86975 86976 - replace masqueradesAsUndefined virtual method with a flag in TypeInfo 86977 - use this to JIT inline code for eq_null and neq_null 86978 https://bugs.webkit.org/show_bug.cgi?id=20823 86979 86980 * WebCore.xcodeproj/project.pbxproj: 86981 * WebCore.vcproj/WebCore.vcproj: 86982 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 86983 (WebCore::JSCSSStyleDeclaration::nameGetter): 86984 * bindings/js/JSHTMLAllCollection.cpp: Added. 86985 (WebCore::): 86986 * bindings/js/JSHTMLAllCollection.h: 86987 (WebCore::JSHTMLAllCollection::createStructureID): 86988 (WebCore::JSHTMLAllCollection::toBoolean): 86989 86990 2008-09-22 Tor Arne Vestb <tavestbo (a] trolltech.com> 86991 86992 Reviewed by Simon. 86993 86994 Fix the QtWebKit build 86995 86996 * bridge/qt/qt_instance.cpp: 86997 (JSC::Bindings::QtRuntimeObjectImp::construct): 86998 * bridge/qt/qt_runtime.cpp: 86999 87000 2008-09-22 Alp Toker <alp (a] nuanti.com> 87001 87002 Suggested by David Hyatt. 87003 87004 Build fix: ScrollView::update() is still used by Document.cpp on !MAC 87005 so make it public. 87006 87007 * platform/ScrollView.h: 87008 87009 2008-09-22 David Hyatt <hyatt (a] apple.com> 87010 87011 Fix a regression in Windows scrollbar painting. (Also fix the same 87012 bug in my new viewless Mac scrollbar painting code). The track rect 87013 was being improperly inflated when painting resulting in the scrollbar 87014 being too tall and painting in the border of overflow sections. 87015 87016 Reviewed by Oliver Hunt 87017 87018 * platform/mac/ScrollbarThemeMac.mm: 87019 (WebCore::ScrollbarThemeMac::trackRect): 87020 * platform/win/ScrollbarThemeSafari.cpp: 87021 (WebCore::ScrollbarThemeSafari::trackRect): 87022 87023 2008-09-22 David Hyatt <hyatt (a] apple.com> 87024 87025 Fix a hit testing bug where events are mistakenly passed to subframes 87026 if the mouse is over the border or padding area of the frame. Add 87027 a boolean flag, isOverWidget(), to hit test results so that EventHandler 87028 can check it to tell if the mouse is really over the content box of a 87029 RenderWidget and not just in the border/padding area. 87030 87031 This is not testable, since the old code properly recovered when it detected 87032 that the mouse was outside the bounds of the view, but this prevents 87033 the extra passdown from even occurring (and is basically a nice cleanup). 87034 87035 Reviewed by Oliver Hunt 87036 87037 * page/EventHandler.cpp: 87038 (WebCore::EventHandler::handleMousePressEvent): 87039 (WebCore::EventHandler::hitTestResultAtPoint): 87040 (WebCore::subframeForHitTestResult): 87041 (WebCore::EventHandler::handleMouseDoubleClickEvent): 87042 (WebCore::EventHandler::handleMouseMoveEvent): 87043 (WebCore::EventHandler::handleMouseReleaseEvent): 87044 (WebCore::EventHandler::handleWheelEvent): 87045 * page/MouseEventWithHitTestResults.h: 87046 (WebCore::MouseEventWithHitTestResults::isOverWidget): 87047 * rendering/HitTestResult.cpp: 87048 (WebCore::HitTestResult::HitTestResult): 87049 (WebCore::HitTestResult::operator=): 87050 * rendering/HitTestResult.h: 87051 (WebCore::HitTestResult::isOverWidget): 87052 (WebCore::HitTestResult::setIsOverWidget): 87053 * rendering/RenderWidget.cpp: 87054 (WebCore::RenderWidget::nodeAtPoint): 87055 * rendering/RenderWidget.h: 87056 87057 2008-09-21 David Hyatt <hyatt (a] apple.com> 87058 87059 Rename FrameView's repaintRectangle method to repaintContentRectangle. Make 87060 both it and ScrollView's updateContents method be off-limits to everyone in 87061 WebCore except for RenderView. 87062 87063 Make repaintViewRectangle the only possible method for WebCore code to do 87064 an invalidation. This ensures that all invalidates triggered by WebCore 87065 cross-platform code that cross ownerElement() boundaries are transform-aware. 87066 87067 Make sure that iframes/frames contained inside objects that have transforms 87068 or reflections are not allowed to blit (this was already true for transparency). 87069 87070 It is not possible to make a test for any of this, since iframe scrolling 87071 still doesn't work on Mac (since the invalidates are not being done 87072 through WebCore's cross-platform invalidation code but are instead going 87073 through NSScrollView's setNeedsDisplay still). 87074 87075 Reviewed by Oliver Hunt 87076 87077 * editing/SelectionController.cpp: 87078 (WebCore::SelectionController::recomputeCaretRect): 87079 (WebCore::SelectionController::invalidateCaretRect): 87080 (WebCore::SelectionController::focusedOrActiveStateChanged): 87081 * page/FrameView.cpp: 87082 (WebCore::FrameView::repaintContentRectangle): 87083 (WebCore::FrameView::endDeferredRepaints): 87084 * page/FrameView.h: 87085 * platform/ScrollView.h: 87086 * rendering/RenderBox.cpp: 87087 (WebCore::RenderBox::paintFillLayerExtended): 87088 * rendering/RenderLayer.cpp: 87089 (WebCore::RenderLayer::enclosingPositionedAncestor): 87090 (WebCore::RenderLayer::requiresSlowRepaints): 87091 * rendering/RenderLayer.h: 87092 (WebCore::RenderLayer::hasTransform): 87093 * rendering/RenderView.cpp: 87094 (WebCore::RenderView::paintBoxDecorations): 87095 (WebCore::RenderView::repaintViewRectangle): 87096 (WebCore::RenderView::setSelection): 87097 87098 2008-09-21 Maciej Stachowiak <mjs (a] apple.com> 87099 87100 Reviewed by Darin. 87101 87102 - introduce a TypeInfo class, for holding per-type (in the C++ class sense) date in StructureID 87103 https://bugs.webkit.org/show_bug.cgi?id=20981 87104 87105 * bindings/js/JSAudioConstructor.cpp: 87106 (WebCore::JSAudioConstructor::JSAudioConstructor): 87107 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 87108 (WebCore::JSCSSStyleDeclaration::nameGetter): 87109 * bindings/js/JSDOMBinding.cpp: 87110 (WebCore::createDOMStructure): 87111 * bindings/js/JSDOMBinding.h: 87112 (WebCore::getDOMStructure): 87113 * bindings/js/JSDOMWindowShell.cpp: 87114 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 87115 (WebCore::JSDOMWindowShell::setWindow): 87116 * bindings/js/JSEventTargetNode.cpp: 87117 (WebCore::JSEventTargetNode::createPrototype): 87118 * bindings/js/JSHTMLOptionElementConstructor.cpp: 87119 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 87120 * bindings/js/JSImageConstructor.cpp: 87121 (WebCore::JSImageConstructor::JSImageConstructor): 87122 * bindings/js/JSXMLHttpRequestConstructor.cpp: 87123 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 87124 * bindings/js/JSXSLTProcessorConstructor.cpp: 87125 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 87126 * bindings/scripts/CodeGeneratorJS.pm: 87127 87128 2008-09-21 Darin Adler <darin (a] apple.com> 87129 87130 Reviewed by Maciej Stachowiak. 87131 87132 - fix problem Maciej noticed where every JSNamedNodesCollection 87133 gets its own StructureID 87134 87135 * bindings/js/JSNamedNodesCollection.cpp: 87136 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Use 87137 getDOMStructure to get the structure. 87138 * bindings/js/JSNamedNodesCollection.h: 87139 (WebCore::JSNamedNodesCollection::createPrototype): Return the 87140 object prototype. 87141 87142 2008-09-20 David Hyatt <hyatt (a] apple.com> 87143 87144 Make sure transformed scrollbars in overflow sections position 87145 properly. This patch mimics the same behavior that works for 87146 iframes, namely making sure that the same code that dynamically 87147 adjusts iframe widget positions at paint time for fixed positioning 87148 and transforms also applies to scrollbars. (This is as simple as passing 87149 in the current translation factor at paint time rather than crawling 87150 up the layer tree to compute a "false" absolute position.) 87151 87152 An existing transform test covers this (although only a pixel result 87153 reveals the correct rendering). 87154 87155 Reviewed by Darin Adler 87156 87157 * rendering/RenderLayer.cpp: 87158 (WebCore::RenderLayer::updateLayerPositions): 87159 (WebCore::RenderLayer::positionOverflowControls): 87160 (WebCore::RenderLayer::paintOverflowControls): 87161 (WebCore::RenderLayer::paintLayer): 87162 * rendering/RenderLayer.h: 87163 87164 2008-09-21 Steve Falkenburg <sfalken (a] apple.com> 87165 87166 Removed unnecessary nested timer check. 87167 87168 Rubber-stamped by Dan Bernstein. 87169 87170 * platform/win/SharedTimerWin.cpp: 87171 (WebCore::TimerWindowWndProc): 87172 87173 2008-09-21 Steve Falkenburg <sfalken (a] apple.com> 87174 87175 Improve timer resolution on WinXP. 87176 https://bugs.webkit.org/show_bug.cgi?id=20979 87177 87178 Removed last-chance timer. It should not be necessary. 87179 Change timeEndPeriod timer to fire in 300ms instead of 20ms. Calling timeBeginPeriod/timeEndPeriod too often throws off accuracy. 87180 Remove Vista checks. We now run the same code on both XP and Vista. 87181 87182 Call through to JSC::getCurrentUTCTimeWithMicroseconds from WebCore::currentTime. 87183 The code previously called GetSystemTimeAsFileTime, which is always low-resolution on XP, even within timeBeginPeriod(1). 87184 87185 Reviewed by Maciej Stachowiak. 87186 87187 * platform/win/SharedTimerWin.cpp: 87188 (WebCore::): 87189 (WebCore::TimerWindowWndProc): 87190 (WebCore::setSharedTimerFireTime): 87191 * platform/win/SystemTimeWin.cpp: 87192 (WebCore::currentTime): 87193 87194 2008-09-21 Dirk Schulze <vbs85 (a] gmx.de> 87195 87196 Reviewed by eseidel. Landed by eseidel. 87197 87198 All platforms use the DashArray in the GraphicsContext. 87199 87200 * svg/graphics/SVGPaintServer.h: 87201 * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp: 87202 (WebCore::SVGPaintServerGradient::setup): 87203 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: 87204 (WebCore::SVGPaintServerPattern::setup): 87205 * svg/graphics/cairo/SVGPaintServerSolidCairo.cpp: 87206 (WebCore::SVGPaintServerSolid::setup): 87207 * svg/graphics/qt/SVGPaintServerGradientQt.cpp: 87208 (WebCore::SVGPaintServerGradient::setup): 87209 * svg/graphics/qt/SVGPaintServerQt.cpp: 87210 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: 87211 (WebCore::SVGPaintServerSolid::setup): 87212 87213 2008-09-21 Dirk Schulze <vbs85 (a] gmx.de> 87214 87215 Reviewed by eseidel. Landed by eseidel. 87216 87217 Moved DashArray to GraphicsContext. 87218 87219 * GNUmakefile.am: 87220 * WebCore.vcproj/WebCore.vcproj: 87221 * WebCore.xcodeproj/project.pbxproj: 87222 * platform/graphics/DashArray.h: Added. 87223 * platform/graphics/GraphicsContext.h: 87224 * platform/graphics/cairo/GraphicsContextCairo.cpp: 87225 (WebCore::GraphicsContext::setLineDash): 87226 * platform/graphics/cg/GraphicsContextCG.cpp: 87227 (WebCore::GraphicsContext::setLineDash): 87228 * platform/graphics/qt/GraphicsContextQt.cpp: 87229 (WebCore::GraphicsContext::setLineDash): 87230 * svg/graphics/SVGPaintServer.cpp: 87231 (WebCore::applyStrokeStyleToContext): 87232 * svg/graphics/SVGPaintServer.h: 87233 * svg/graphics/cg/CgSupport.cpp: 87234 * svg/graphics/cg/CgSupport.h: 87235 87236 2008-09-21 Dan Bernstein <mitz (a] apple.com> 87237 87238 Reviewed by Mark Rowe. 87239 87240 - fix linker warnings 87241 87242 * WebCore.base.exp: 87243 87244 2008-09-20 Darin Adler <darin (a] apple.com> 87245 87246 - another try at fixing Qt 87247 87248 * bridge/qt/qt_runtime.cpp: "using namespce WebCore" 87249 87250 2008-09-20 Darin Adler <darin (a] apple.com> 87251 87252 - blind attempt to fix Qt build 87253 87254 * bridge/qt/qt_runtime.cpp: 87255 (JSC::Bindings::convertQVariantToValue): Use regExpStructure instead 87256 of regExpPrototype to make a RegExpObject. There should really be 87257 some sort of public helper function for this. Same thing for 87258 DateInstance and dateStructure. For JSObject, use constructEmptyObject. 87259 (JSC::Bindings::): 87260 (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod): Use getDOMStructure. 87261 It is not correct to do this inside the constructor because it could 87262 cause a garbage collect while the QtRuntimeMethod object is half- 87263 allocated, which could lead to a crash; note that RuntimeMethod, 87264 QtRuntimeObjectImp, and RuntimeObjectImp have the same bug. 87265 * bridge/qt/qt_runtime.h: Add s_info and createPrototype. 87266 87267 2008-09-20 Collin Jackson <collinj (a] webkit.org> 87268 87269 Prefetch DNS for hyperlinks that the user mouses over. 87270 87271 https://bugs.webkit.org/show_bug.cgi?id=20931 87272 87273 Reviewed by Sam Weinig. 87274 87275 * page/Chrome.cpp: 87276 (WebCore::Chrome::mouseDidMoveOverElement): 87277 87278 2008-09-20 Darin Adler <darin (a] apple.com> 87279 87280 Reviewed by Maciej Stachowiak. 87281 87282 - finish https://bugs.webkit.org/show_bug.cgi?id=20858 87283 make each distinct C++ class get a distinct JSC::Structure 87284 87285 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 87286 (WebCore::JSCSSStyleDeclaration::nameGetter): Pass in a structure 87287 ID. Note that this makes a new structure every time -- we could 87288 optimize this slightly be caching and reusing a single one. 87289 87290 * bridge/runtime_method.cpp: 87291 (JSC::RuntimeMethod::RuntimeMethod): Create a unique structure using 87292 getDOMStructure. 87293 * bridge/runtime_method.h: 87294 (JSC::RuntimeMethod::createPrototype): Added createPrototype so 87295 getDOMStructure will work. 87296 87297 * bindings/js/JSDOMWindowShell.cpp: 87298 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Initialize m_window to 87299 0; needed in case garbage collection happens while creating the 87300 JSDOMWindow. 87301 87302 2008-09-20 Dan Bernstein <mitz (a] apple.com> 87303 87304 Reviewed by Eric Seidel. 87305 87306 - fix https://bugs.webkit.org/show_bug.cgi?id=20950 87307 <rdar://problem/6234059> Reproducible assertion failure running svg/custom/acid3-test-77.html multiple times under guard malloc 87308 87309 * svg/SVGTextContentElement.cpp: 87310 (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback): Changed to 87311 not include the first character in the extraCharsAvailable count. 87312 87313 2008-09-20 Kevin Ollivier <kevino (a] theolliviers.com> 87314 87315 Reviewed by Dan Bernstein. 87316 87317 Fix memory leak. 87318 87319 https://bugs.webkit.org/show_bug.cgi?id=20505 87320 87321 * platform/wx/wxcode/mac/carbon/fontprops.cpp: 87322 (GetTextExtent): 87323 87324 2008-09-20 Kevin Ollivier <kevino (a] theolliviers.com> 87325 87326 wx build fixes. Added/removed build sources, and nativeWindow->platformWidget updates. 87327 87328 * WebCoreSources.bkl: 87329 * platform/ScrollView.h: 87330 * platform/wx/PopupMenuWx.cpp: 87331 (WebCore::PopupMenu::show): 87332 * platform/wx/RenderThemeWx.cpp: 87333 (WebCore::RenderThemeWx::paintButton): 87334 (WebCore::RenderThemeWx::paintTextField): 87335 (WebCore::RenderThemeWx::paintMenuList): 87336 (WebCore::RenderThemeWx::paintMenuListButton): 87337 * platform/wx/ScrollViewWx.cpp: 87338 (WebCore::ScrollView::setPlatformWidget): 87339 (WebCore::ScrollView::updateContents): 87340 (WebCore::ScrollView::update): 87341 (WebCore::ScrollView::visibleWidth): 87342 (WebCore::ScrollView::visibleHeight): 87343 (WebCore::ScrollView::scrollBy): 87344 (WebCore::ScrollView::resizeContents): 87345 (WebCore::ScrollView::contentsWidth): 87346 (WebCore::ScrollView::contentsHeight): 87347 (WebCore::ScrollView::isScrollViewScrollbar): 87348 (WebCore::ScrollView::adjustScrollbars): 87349 (WebCore::ScrollView::inWindow): 87350 (WebCore::ScrollView::removeChild): 87351 * platform/wx/WidgetWx.cpp: 87352 * plugins/wx/PluginViewWx.cpp: 87353 (WebCore::PluginView::setParentVisible): 87354 (WebCore::PluginView::updatePluginWidget): 87355 87356 2008-09-20 Timothy Hatcher <timothy (a] apple.com> 87357 87358 Fix the new Node Search button image to not be blurry. 87359 87360 * page/inspector/Images/nodeSearchButtons.png: 87361 87362 2008-09-20 Matt Lilek <webkit (a] mattlilek.com> 87363 87364 Reviewed by Tim Hatcher. 87365 87366 Cut down some of the inspector javascript -> InspectorController glue code 87367 with two new macros. Also rearrange the exposed function list to be grouped 87368 by implementation and to all explicitly use the WebCore namespace. 87369 87370 * page/InspectorController.cpp: 87371 (WebCore::InspectorController::windowScriptObjectAvailable): 87372 87373 2008-09-20 Matt Lilek <webkit (a] mattlilek.com> 87374 87375 Reviewed by Tim Hatcher. 87376 87377 Fix regression from my previous patch where the breadcrumbs bar was not displayed. 87378 87379 * page/inspector/inspector.css: 87380 87381 2008-09-20 Nikolas Zimmermann <zimmermann (a] kde.org> 87382 87383 Reviewed by Eric. 87384 87385 Refactor HTMLImageLoader/SVGImageLoader code. 87386 Move html/HTMLImageLoader.* to loader/ImageLoader.* 87387 87388 Let HTMLImageLoader & SVGImageLoader inherit from the new base class. 87389 SVGImageLoader used to inherit from HTMLImageLoader which is awkward. 87390 87391 * GNUmakefile.am: 87392 * WebCore.pro: 87393 * WebCore.vcproj/WebCore.vcproj: 87394 * WebCore.xcodeproj/project.pbxproj: 87395 * WebCoreSources.bkl: 87396 * dom/Document.cpp: 87397 (WebCore::Document::dispatchImageLoadEventSoon): 87398 (WebCore::Document::removeImage): 87399 (WebCore::Document::dispatchImageLoadEventsNow): 87400 * dom/Document.h: 87401 * html/HTMLImageLoader.cpp: 87402 (WebCore::HTMLImageLoader::HTMLImageLoader): 87403 (WebCore::HTMLImageLoader::~HTMLImageLoader): 87404 (WebCore::HTMLImageLoader::sourceURI): 87405 (WebCore::HTMLImageLoader::notifyFinished): 87406 * html/HTMLImageLoader.h: 87407 * loader/DocLoader.h: 87408 * loader/ImageLoader.cpp: Copied from html/HTMLImageLoader.cpp. 87409 (WebCore::ImageLoader::ImageLoader): 87410 (WebCore::ImageLoader::~ImageLoader): 87411 (WebCore::ImageLoader::setImage): 87412 (WebCore::ImageLoader::setLoadingImage): 87413 (WebCore::ImageLoader::updateFromElement): 87414 (WebCore::ImageLoader::notifyFinished): 87415 * loader/ImageLoader.h: Copied from html/HTMLImageLoader.h. 87416 * svg/SVGImageElement.cpp: 87417 (WebCore::SVGImageElement::attach): 87418 (WebCore::SVGImageElement::insertedIntoDocument): 87419 (WebCore::SVGImageElement::imageSourceAttributeName): 87420 * svg/SVGImageElement.h: 87421 * svg/SVGImageLoader.cpp: 87422 (WebCore::SVGImageLoader::SVGImageLoader): 87423 (WebCore::SVGImageLoader::dispatchLoadEvent): 87424 (WebCore::SVGImageLoader::sourceURI): 87425 * svg/SVGImageLoader.h: 87426 87427 2008-09-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 87428 87429 Build fix. 87430 87431 [qtwebkit] ScrollBar build fix after r36684. 87432 BackButtonPart was split into Start and End Part 87433 ForwardButtonPart was split into Start and End Part 87434 87435 * platform/qt/ScrollbarThemeQt.cpp: 87436 (WebCore::scPart): 87437 (WebCore::scrollbarPart): 87438 (WebCore::styleOptionSlider): 87439 87440 2008-09-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 87441 87442 Build fix. 87443 87444 [qtwebkit] Make qt_instance.cpp compile. 87445 Revision of 36675 introduced getDOMStructure to give unique 87446 structure id's to C++ classes. Catch up. RuntimeObjectImp assigns 87447 the the StructureID inside the c'tor, do the same in QtRuntimeObjectImp 87448 87449 * bridge/qt/qt_instance.cpp: 87450 (JSC::Bindings::QtInstance::getRuntimeObject): 87451 87452 2008-09-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 87453 87454 Reviewed by Nikolas Zimmermann. 87455 87456 [svg] Change SVGLocatable to deal with a plain SVGElement 87457 There is no requirement in the code that we have to have a 87458 SVGStyledElement. Remove that artificial limitation and compile 87459 with SVGElement. 87460 87461 * svg/SVGLocatable.cpp: 87462 * svg/SVGLocatable.h: 87463 87464 2008-09-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 87465 87466 Reviewed by Nikolas Zimmermann. 87467 87468 [svg] Use OwnPtr for the SVGExtensions to avoid custom lifetime 87469 management. 87470 87471 * dom/Document.cpp: 87472 (WebCore::Document::~Document): 87473 (WebCore::Document::svgExtensions): 87474 (WebCore::Document::accessSVGExtensions): 87475 * dom/Document.h: 87476 87477 2008-09-19 David Hyatt <hyatt (a] apple.com> 87478 87479 Fix for crash in updateTransitions. Make sure to test for a style 87480 being null when comparing two RenderStyles. 87481 87482 Reviewed by Oliver Hunt 87483 87484 * page/animation/AnimationBase.cpp: 87485 (WebCore::PropertyWrapperGetter::equals): 87486 87487 2008-09-19 David Hyatt <hyatt (a] apple.com> 87488 87489 https://bugs.webkit.org/show_bug.cgi?id=20954 87490 87491 Roll out r36628 since it has caused horrible regressions with 87492 animated GIF CPU usage. 87493 87494 * platform/graphics/BitmapImage.cpp: 87495 (WebCore::BitmapImage::cacheFrame): 87496 (WebCore::BitmapImage::startAnimation): 87497 * platform/graphics/BitmapImage.h: 87498 (WebCore::FrameData::FrameData): 87499 * platform/graphics/cairo/ImageCairo.cpp: 87500 (WebCore::FrameData::clear): 87501 * platform/graphics/cg/ImageCG.cpp: 87502 (WebCore::FrameData::clear): 87503 * platform/graphics/qt/ImageQt.cpp: 87504 (WebCore::FrameData::clear): 87505 * platform/graphics/wx/ImageWx.cpp: 87506 (WebCore::FrameData::clear): 87507 87508 2008-09-20 Alp Toker <alp (a] nuanti.com> 87509 87510 Reviewed by Timothy Hatcher. 87511 87512 https://bugs.webkit.org/show_bug.cgi?id=20913 87513 Avoid redudant includes 87514 87515 Document.h is included excessively such that a modification to Document.h (or 87516 any of the header it includes itself) triggers a rebuild of many files 87517 including the whole of SVG and a lot of the JS bindings. 87518 87519 Some of these includes can be avoided by only including Document.h where 87520 necessary. 87521 87522 * bindings/js/JSAttrCustom.cpp: 87523 * bindings/js/JSElementCustom.cpp: 87524 * bindings/js/JSEventTargetBase.cpp: 87525 * bindings/js/JSEventTargetBase.h: 87526 * bindings/js/JSEventTargetNode.cpp: 87527 * bindings/js/JSHTMLFrameElementCustom.cpp: 87528 * bindings/js/JSHTMLIFrameElementCustom.cpp: 87529 * bindings/scripts/CodeGeneratorJS.pm: 87530 * css/CSSCursorImageValue.cpp: 87531 * css/SVGCSSStyleSelector.cpp: 87532 * dom/make_names.pl: 87533 * svg/SVGAnimateElement.h: 87534 * svg/SVGAnimatedProperty.h: 87535 (WebCore::::baseValue): 87536 (WebCore::::setBaseValue): 87537 (WebCore::::startAnimation): 87538 (WebCore::::stopAnimation): 87539 * svg/SVGElement.cpp: 87540 (WebCore::SVGElement::accessDocumentSVGExtensions): 87541 * svg/SVGElement.h: 87542 * svg/SVGElementInstance.cpp: 87543 * svg/SVGFitToViewBox.cpp: 87544 * svg/SVGFontElement.cpp: 87545 * svg/SVGFontFaceElement.cpp: 87546 * svg/SVGLinearGradientElement.cpp: 87547 * svg/SVGMPathElement.cpp: 87548 * svg/SVGViewSpec.cpp: 87549 87550 2008-09-19 Nikolas Zimmermann <zimmermann (a] kde.org> 87551 87552 Reviewed by Antti & Eric. 87553 87554 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372 87555 87556 Finish HTMLScriptElement / SVGScriptElement unification. 87557 SVG <script> support is complete now, full SVGLoad event 87558 respecting the influence of the externalResourcesRequired attribute 87559 as well as SVGError event support. All other features shared with HTML. 87560 87561 Tests: fast/dom/HTMLScriptElement/script-reexecution.html 87562 svg/dom/SVGScriptElement/script-change-externalResourcesRequired-while-loading.svg 87563 svg/dom/SVGScriptElement/script-load-and-error-events.svg 87564 svg/dom/SVGScriptElement/script-reexecution.svg 87565 svg/dom/SVGScriptElement/script-set-href.svg 87566 87567 * dom/ScriptElement.cpp: 87568 (WebCore::ScriptElementData::ScriptElementData): 87569 (WebCore::ScriptElementData::requestScript): 87570 * dom/ScriptElement.h: 87571 (WebCore::ScriptElementData::haveFiredLoadEvent): 87572 (WebCore::ScriptElementData::setHaveFiredLoadEvent): 87573 * dom/XMLTokenizer.cpp: 87574 (WebCore::XMLTokenizer::notifyFinished): 87575 * html/HTMLScriptElement.cpp: 87576 (WebCore::HTMLScriptElement::dispatchLoadEvent): 87577 * svg/SVGScriptElement.cpp: 87578 (WebCore::SVGScriptElement::setCreatedByParser): 87579 (WebCore::SVGScriptElement::parseMappedAttribute): 87580 (WebCore::SVGScriptElement::svgAttributeChanged): 87581 (WebCore::SVGScriptElement::insertedIntoDocument): 87582 (WebCore::SVGScriptElement::removedFromDocument): 87583 (WebCore::SVGScriptElement::childrenChanged): 87584 (WebCore::SVGScriptElement::isURLAttribute): 87585 (WebCore::SVGScriptElement::finishParsingChildren): 87586 (WebCore::SVGScriptElement::type): 87587 (WebCore::SVGScriptElement::setType): 87588 (WebCore::SVGScriptElement::haveLoadedRequiredResources): 87589 (WebCore::SVGScriptElement::dispatchLoadEvent): 87590 (WebCore::SVGScriptElement::dispatchErrorEvent): 87591 * svg/SVGScriptElement.h: 87592 87593 2008-09-19 Dan Bernstein <mitz (a] apple.com> 87594 87595 Reviewed by John Sullivan. 87596 87597 - fix https://bugs.webkit.org/show_bug.cgi?id=20951 87598 Typo in Position::getInlineBoxAndOffset() 87599 and add an assertion 87600 87601 Without the fix, the newly-added assertion fails in platform/mac/editing/input/caret-primary-bidi.html 87602 87603 * dom/Position.cpp: 87604 (WebCore::Position::getInlineBoxAndOffset): 87605 * rendering/InlineTextBox.cpp: 87606 (WebCore::InlineTextBox::positionForOffset): 87607 87608 2008-09-19 David Hyatt <hyatt (a] apple.com> 87609 87610 Add support for hit testing of all five possible scrollbar button placements. 87611 87612 Reviewed by Sam Weinig 87613 87614 * platform/ScrollbarThemeComposite.cpp: 87615 (WebCore::ScrollbarThemeComposite::paint): 87616 * platform/mac/ScrollbarThemeMac.mm: 87617 (WebCore::): 87618 (WebCore::ScrollbarThemeMac::backButtonRect): 87619 (WebCore::ScrollbarThemeMac::forwardButtonRect): 87620 (WebCore::ScrollbarThemeMac::trackRect): 87621 (WebCore::ScrollbarThemeMac::paintButton): 87622 87623 2008-09-19 Darin Adler <darin (a] apple.com> 87624 87625 - try to fix Qt build 87626 87627 * bridge/qt/qt_instance.cpp: 87628 (JSC::Bindings::QtRuntimeObjectImp::QtRuntimeObjectImp): Add structure argument. 87629 (JSC::Bindings::QtInstance::getRuntimeObject): Ditto. 87630 * bridge/runtime_object.cpp: 87631 (JSC::RuntimeObjectImp::RuntimeObjectImp): Add an overload just for Qt. 87632 * bridge/runtime_object.h: Ditto. 87633 87634 2008-09-19 Chris Marrin <cmarrin (a] apple.com> 87635 87636 Reviewed by Dave Hyatt. 87637 87638 Transition starts running when it shouldn't 87639 https://bugs.webkit.org/show_bug.cgi?id=20892 87640 87641 When there is a transition and an animation on the 87642 same element, make sure the animation wins. 87643 87644 The fix is to save the unanimated style when an animation is started. 87645 Then, when starting a transition, check to see if there is a current 87646 animation on the same prop. If so, use the unanimated style as the 87647 fromStyle rather than the current style. 87648 87649 Test: animations/transition-and-animation-1.html 87650 87651 * page/animation/CompositeAnimation.cpp: 87652 (WebCore::CompositeAnimation::updateTransitions): 87653 (WebCore::CompositeAnimation::updateKeyframeAnimations): 87654 (WebCore::CompositeAnimation::animate): 87655 (WebCore::CompositeAnimation::getAnimationForProperty): 87656 * page/animation/CompositeAnimation.h: 87657 * page/animation/ImplicitAnimation.cpp: 87658 (WebCore::ImplicitAnimation::reset): 87659 * page/animation/ImplicitAnimation.h: 87660 * page/animation/KeyframeAnimation.cpp: 87661 (WebCore::KeyframeAnimation::hasAnimationForProperty): 87662 * page/animation/KeyframeAnimation.h: 87663 (WebCore::KeyframeAnimation::KeyframeAnimation): 87664 (WebCore::KeyframeAnimation::unanimatedStyle): 87665 87666 2008-09-19 David Hyatt <hyatt (a] apple.com> 87667 87668 Add support for painting/hit testing of four possible scrollbar buttons. 87669 The Windows themes simply ignore the two parts that they will never 87670 show. The Mac theme also ignores the other two buttons for now. 87671 87672 The cross-platform base for all three themes, ScrollbarThemeComposite, 87673 has all the proper support though. 87674 87675 Reviewed by Sam Weinig 87676 87677 * platform/ScrollbarThemeComposite.cpp: 87678 (WebCore::ScrollbarThemeComposite::hitTest): 87679 (WebCore::ScrollbarThemeComposite::invalidatePart): 87680 * platform/ScrollbarThemeComposite.h: 87681 * platform/mac/ScrollbarThemeMac.h: 87682 * platform/mac/ScrollbarThemeMac.mm: 87683 (WebCore::ScrollbarThemeMac::backButtonRect): 87684 (WebCore::ScrollbarThemeMac::forwardButtonRect): 87685 (WebCore::ScrollbarThemeMac::paintButton): 87686 * platform/win/ScrollbarThemeSafari.cpp: 87687 (WebCore::ScrollbarThemeSafari::backButtonRect): 87688 (WebCore::ScrollbarThemeSafari::forwardButtonRect): 87689 (WebCore::ScrollbarThemeSafari::paintButton): 87690 * platform/win/ScrollbarThemeSafari.h: 87691 * platform/win/ScrollbarThemeWin.cpp: 87692 (WebCore::ScrollbarThemeWin::backButtonRect): 87693 (WebCore::ScrollbarThemeWin::forwardButtonRect): 87694 (WebCore::ScrollbarThemeWin::paintButton): 87695 * platform/win/ScrollbarThemeWin.h: 87696 87697 2008-09-19 Matt Lilek <webkit (a] mattlilek.com> 87698 87699 Reviewed by Tim Hatcher. 87700 87701 Bug 17772: Inspector should support point-and-click to select a node to inspect 87702 https://bugs.webkit.org/show_bug.cgi?id=17772 87703 <rdar://problem/5792395> 87704 87705 * English.lproj/localizedStrings.js: 87706 * page/Chrome.cpp: 87707 (WebCore::Chrome::mouseDidMoveOverElement): 87708 * page/EventHandler.cpp: 87709 (WebCore::EventHandler::handleMousePressEvent): 87710 * page/InspectorController.cpp: 87711 (WebCore::toggleNodeSearch): 87712 (WebCore::searchingForNode): 87713 (WebCore::InspectorController::InspectorController): 87714 (WebCore::InspectorController::toggleSearchForNodeInPage): 87715 (WebCore::InspectorController::mouseDidMoveOverElement): 87716 (WebCore::InspectorController::handleMousePressOnNode): 87717 (WebCore::InspectorController::windowScriptObjectAvailable): 87718 * page/InspectorController.h: 87719 (WebCore::InspectorController::searchingForNodeInPage): 87720 * page/inspector/ElementsPanel.js: 87721 * page/inspector/Images/nodeSearchButtons.png: Added. 87722 * page/inspector/inspector.css: 87723 87724 2008-09-19 David Hyatt <hyatt (a] apple.com> 87725 87726 Add new scrollbar parts to be able to represent back and forward buttons 87727 at either end of the scrollbar. The current scrollbar still just draws 87728 a single button at either end, but the parts now exist. 87729 87730 Reviewed by Sam Weinig 87731 87732 * platform/ScrollTypes.h: 87733 (WebCore::): 87734 * platform/Scrollbar.cpp: 87735 (WebCore::Scrollbar::autoscrollTimerFired): 87736 (WebCore::Scrollbar::pressedPartScrollDirection): 87737 (WebCore::Scrollbar::pressedPartScrollGranularity): 87738 (WebCore::Scrollbar::handleMouseMoveEvent): 87739 * platform/ScrollbarTheme.h: 87740 (WebCore::ScrollbarTheme::buttonsPlacement): 87741 (WebCore::ScrollbarTheme::invalidateParts): 87742 * platform/ScrollbarThemeComposite.cpp: 87743 (WebCore::ScrollbarThemeComposite::paint): 87744 (WebCore::ScrollbarThemeComposite::hitTest): 87745 (WebCore::ScrollbarThemeComposite::invalidatePart): 87746 * platform/ScrollbarThemeComposite.h: 87747 87748 2008-09-19 Beth Dakin <bdakin (a] apple.com> 87749 87750 Reviewed by Dave Hyatt. 87751 87752 Fix for <rdar://problem/6231308> crash in AutoTableLayout 87753 87754 The code assumes later on that a TableSection's grid's row vector 87755 will never be empty. So make 1 the minimum number of columns. 87756 87757 * rendering/RenderTableSection.cpp: 87758 (WebCore::RenderTableSection::ensureRows): 87759 87760 2008-09-19 David Hyatt <hyatt (a] apple.com> 87761 87762 Add a new ScrollbarButtonsPlacement type for specifying where 87763 the button arrows are in a scrollbar. 87764 87765 Read in the placement settings for Mac. Nothing is done with the 87766 setting yet. 87767 87768 Add a new buttonsPlacement() method to ScrollbarTheme composite 87769 so that the arrow settings can be obtained. 87770 87771 Reviewed by Sam Weinig 87772 87773 * platform/ScrollTypes.h: 87774 (WebCore::): 87775 * platform/ScrollbarThemeComposite.h: 87776 (WebCore::ScrollbarThemeComposite::buttonsPlacement): 87777 * platform/mac/ScrollbarThemeMac.mm: 87778 (WebCore::updateArrowPlacement): 87779 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): 87780 87781 2008-09-19 Steve Falkenburg <sfalken (a] apple.com> 87782 87783 Roll out r36626. It is causing variance in SunSpider numbers on XP. 87784 87785 Rubber stamped by Mark Rowe. 87786 87787 * platform/win/SharedTimerWin.cpp: 87788 (WebCore::isRunningOnVistaOrLater): 87789 (WebCore::setSharedTimerFireTime): 87790 87791 2008-09-19 Kevin McCullough <kmccullough (a] apple.com> 87792 87793 Reviewed by Tim. 87794 87795 https://bugs.webkit.org/show_bug.cgi?id=20942 87796 Bug 20942: Repeated messages in resources don't collapse 87797 - Now repeated messages in a resource's view are collapsed and a message 87798 says how many were repeated. 87799 87800 * English.lproj/localizedStrings.js: 87801 * manual-tests/inspector/multiple-console-messages.html: 87802 * page/inspector/Console.js: Send all the messages to the resource's 87803 view before possibly returning early if the message is a repeat. 87804 * page/inspector/SourceFrame.js: Add the text about the message being 87805 repeated, if it is, and increment it when necessary. 87806 87807 2008-09-19 Chris Fleizach <cfleizach (a] apple.com> 87808 87809 Removed unnecessary #if 87810 87811 * page/mac/AccessibilityObjectWrapper.mm: 87812 87813 2008-09-19 David Hyatt <hyatt (a] apple.com> 87814 87815 Read in prefs for the scroll delay repeat values for buttons. Also 87816 honor the option-click pref for jumping to the thumb when clicking in 87817 the track. 87818 87819 Reviewed by Sam Weinig 87820 87821 * platform/mac/ScrollbarThemeMac.h: 87822 * platform/mac/ScrollbarThemeMac.mm: 87823 (WebCore::ScrollbarThemeMac::ScrollbarThemeMac): 87824 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay): 87825 (WebCore::ScrollbarThemeMac::autoscrollTimerDelay): 87826 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb): 87827 87828 2008-09-19 David Hyatt <hyatt (a] apple.com> 87829 87830 Move ScrollbarThemeMac.cpp to ScrollbarThemeMac.mm so it can use Obj-C. 87831 Set the initial button repeat delay to 0.5 for Mac. 87832 87833 Reviewed by Sam Weinig 87834 87835 * WebCore.xcodeproj/project.pbxproj: 87836 * platform/mac/ScrollbarThemeMac.cpp: Removed. 87837 * platform/mac/ScrollbarThemeMac.h: 87838 (WebCore::ScrollbarThemeMac::initialAutoscrollTimerDelay): 87839 * platform/mac/ScrollbarThemeMac.mm: Copied from platform/mac/ScrollbarThemeMac.cpp. 87840 87841 2008-09-19 Darin Adler <darin (a] apple.com> 87842 87843 Reviewed by Sam Weinig. 87844 87845 - part 2 of https://bugs.webkit.org/show_bug.cgi?id=20858 87846 make each distinct C++ class get a distinct JSC::Structure 87847 87848 + Fixed all cases where we were using a shared structure for multiple 87849 C++ classes in WebCore. This still has to be done in JavaScriptCore. 87850 87851 + Got rid of cacheGlobalObject. 87852 87853 + Improved use of PassRefPtr in bindings code. 87854 87855 + Removed a couple cases where we were potentially allocating prototypes 87856 inside a JSObject's construction process -- this can lead to trouble if 87857 we do a garbage collection while an object is only partly constructed. 87858 87859 * bindings/js/JSAudioConstructor.cpp: 87860 (WebCore::JSAudioConstructor::JSAudioConstructor): Create a structure explicitly 87861 so we don't implicitly share the structure with other objects that use the object 87862 prototype. 87863 87864 * bindings/js/JSDOMBinding.cpp: 87865 (WebCore::getCachedDOMConstructor): Added. To be used for constructors so we 87866 don't need cacheGlobalObject any more. 87867 (WebCore::cacheDOMConstructor): Ditto. 87868 87869 * bindings/js/JSDOMBinding.h: Removed DOMObject constructor that takes a prototype. 87870 Added functions and a function template for getting cached DOM constructors. 87871 Removed cacheGlobalObject function template. 87872 87873 * bindings/js/JSDOMWindowBase.cpp: 87874 (WebCore::JSDOMWindowBase::JSDOMWindowBase): Take a PassRefPtr<DOMWindow> since 87875 we're taking ownership. 87876 * bindings/js/JSDOMWindowBase.h: Changed constructor to take PassRefPtr, since 87877 we're taking ownership. Added constructor map. 87878 * bindings/js/JSDOMWindowCustom.cpp: 87879 (WebCore::JSDOMWindow::mark): Mark the constructors in the map. 87880 87881 * bindings/js/JSDOMWindowShell.cpp: 87882 (WebCore::JSDOMWindowShell::JSDOMWindowShell): Take a PassRefPtr<DOMWindow> since 87883 we're taking ownership. Use the new setWindow function to create the JSDOMWindow; 87884 this is now done in only that one place. 87885 (WebCore::JSDOMWindowShell::setWindow): Added. Creates the JSDOMWindow based on 87886 the passed-in DOMWindow. Code was moved here and changed to allocate unique 87887 structures for both the window prototype and the window. 87888 * bindings/js/JSDOMWindowShell.h: Ditto. 87889 87890 * bindings/js/JSEventTargetBase.h: Changed class template argument so it doesn't 87891 have the same name (JSEventTarget) as an actual class. Removed unhelpful use of 87892 private/friend in JSEventTargetBase. Removed comments referring to defunct 87893 macros. Changed JSEventTargetBasePrototype to get the prototype with the new 87894 rather than its own copy of cacheGlobalObject (I missed this during pass 1). 87895 Changed JSEventTargetBasePrototype so it doesn't have so many template arguments. 87896 87897 * bindings/js/JSEventTargetNode.cpp: Added s_info; needed for the new scheme 87898 for caching structures and prototypes. 87899 (WebCore::JSEventTargetNode::JSEventTargetNode): Use PassRefPtr. 87900 (WebCore::JSEventTargetNode::createPrototype): Added. 87901 * bindings/js/JSEventTargetNode.h: Updated for above changes. 87902 87903 * bindings/js/JSHTMLAllCollection.h: 87904 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Use PassRefPtr. 87905 * bindings/js/JSHTMLCollectionCustom.cpp: 87906 (WebCore::getNamedItems): Pass ExecState instead of prototype. 87907 * bindings/js/JSHTMLFormElementCustom.cpp: 87908 (WebCore::JSHTMLFormElement::nameGetter): Ditto. 87909 * bindings/js/JSHTMLInputElementBase.cpp: 87910 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Use PassRefPtr. 87911 * bindings/js/JSHTMLInputElementBase.h: Ditto. 87912 * bindings/js/JSHTMLOptionElementConstructor.cpp: 87913 (WebCore::JSHTMLOptionElementConstructor::JSHTMLOptionElementConstructor): 87914 Create a unique structure instead of sharing. 87915 * bindings/js/JSImageConstructor.cpp: 87916 (WebCore::JSImageConstructor::JSImageConstructor): Ditto. 87917 87918 * bindings/js/JSInspectedObjectWrapper.cpp: 87919 (WebCore::JSInspectedObjectWrapper::wrap): Removed overload that takes 87920 a prototype rather than a structure. Made the use of inheritorID() here 87921 explicit. 87922 * bindings/js/JSInspectedObjectWrapper.h: Ditto. 87923 * bindings/js/JSInspectorCallbackWrapper.cpp: 87924 (WebCore::JSInspectorCallbackWrapper::wrap): Ditto. 87925 * bindings/js/JSInspectorCallbackWrapper.h: Ditto. 87926 87927 * bindings/js/JSNamedNodesCollection.cpp: 87928 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): Changed to 87929 take an ExecState argument instead of a prototype. Create a unique 87930 StructureID instead of sharing. 87931 * bindings/js/JSNamedNodesCollection.h: Ditto. 87932 87933 * bindings/js/JSQuarantinedObjectWrapper.cpp: Removed overloaded 87934 constructor that takes a prototype instead of a structure. 87935 * bindings/js/JSQuarantinedObjectWrapper.h: Ditto. 87936 87937 * bindings/js/JSRGBColor.cpp: 87938 (WebCore::JSRGBColor::JSRGBColor): Take ExecState instead of a 87939 prototype; create a unique structure. 87940 (WebCore::getJSRGBColor): Ditto. 87941 * bindings/js/JSRGBColor.h: Ditto. 87942 87943 * bindings/js/JSSQLResultSetRowListCustom.cpp: 87944 (WebCore::JSSQLResultSetRowList::item): Use constructEmptyObject instead 87945 of explicit coding the idiom for making a new object. 87946 87947 * bindings/js/JSXMLHttpRequestConstructor.cpp: 87948 (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): 87949 Create a unique structure instead of the shared one. 87950 * bindings/js/JSXSLTProcessorConstructor.cpp: 87951 (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): 87952 Ditto. 87953 87954 * bindings/js/ScriptController.cpp: 87955 (WebCore::ScriptController::clearWindowShell): Let the window shell's 87956 setWindow function create the JSDOMWindow instead of doing it here. 87957 87958 * bindings/scripts/CodeGeneratorJS.pm: Changed to use PassRefPtr for 87959 the structure and the wrapped object when creating wrappers. 87960 Simplified some of the special cases for DOMWindow so they are 87961 different only in ways the need to be. Eliminated the 87962 JSDOMWindow::createPrototype and JSDOMWindowPrototype::self 87963 functions. Moved responsibility for creating the structure and 87964 parent prototype out of the prototype constructor into the 87965 createPrototype function. Removed the unused "DoNotCache" flag for 87966 objects other than DOMWindow. Use getDOMConstructor instead of 87967 cacheGlobalObject for constructors. Make each constructor have 87968 a unique structure ID. 87969 87970 * bridge/objc/objc_runtime.h: Added createPrototype and changed the 87971 name of the info member to s_info so we can use the standard DOM 87972 binding macros to handl the prototype. 87973 * bridge/objc/objc_runtime.mm: Fixed namespacing a bit. 87974 (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp): 87975 Create a unique structure using getDOMStructure. 87976 87977 * bridge/runtime_array.cpp: Fixed namespacing a bit. 87978 (JSC::RuntimeArray::RuntimeArray): Create a unique structure using 87979 getDOMStructure. 87980 * bridge/runtime_array.h: Added createPrototype so getDOMStructure 87981 will work. 87982 87983 * bridge/runtime_object.cpp: 87984 (JSC::RuntimeObjectImp::RuntimeObjectImp): Create a unique structure using 87985 getDOMStructure. 87986 * bridge/runtime_object.h: Added createPrototype so getDOMStructure 87987 will work. 87988 87989 * history/CachedPage.cpp: 87990 (WebCore::CachedPage::restore): Let the window shell's 87991 setWindow function create the JSDOMWindow instead of doing it here. 87992 87993 * page/DOMWindow.idl: Removed DoNotCache, which is no longer used. 87994 87995 2008-09-19 Dan Bernstein <mitz (a] apple.com> 87996 87997 Reviewed by Dave Hyatt. 87998 87999 This optimization was suggested by Daniel Fenwick 88000 88001 - speed up measuring text on the Core Text code path by not specifying a paragraph writing direction 88002 88003 Specifying LTR paragraph directionality when measuring runs of RTL text 88004 resulted in typically two CTRuns being generated for every run instead 88005 of one, due to the leading space being reordered to the left. 88006 88007 * platform/graphics/SimpleFontData.h: Removed the ltr parameter to 88008 getCFStringAttributes() and changed m_CFStringAttributes from an array 88009 to a single value. 88010 * platform/graphics/mac/CoreTextController.cpp: 88011 (WebCore::CoreTextController::CoreTextController): Added a 88012 mayUseNaturalWritingDirection parameter. 88013 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Changed 88014 to force the bidi embedding level whenever 88015 m_mayUseNaturalWritingDirectrion is false. Since this is now a common 88016 case, made the typesetter options dictionaries static. 88017 * platform/graphics/mac/CoreTextController.h: 88018 * platform/graphics/mac/FontMacCoreText.cpp: 88019 (WebCore::Font::selectionRectForComplexText): Renamed a local variable. 88020 (WebCore::Font::floatWidthForComplexText): Changed to allow the 88021 CoreTextController to not set the writing direction. 88022 * platform/graphics/mac/SimpleFontDataMac.mm: 88023 (WebCore::SimpleFontData::getCFStringAttributes): Removed the ltr 88024 parameter and the paragraph style attribute. 88025 88026 2008-09-19 David Hyatt <hyatt (a] apple.com> 88027 88028 Reviewed by Sam Weinig 88029 88030 https://bugs.webkit.org/show_bug.cgi?id=20941 88031 88032 Incorrect height calculation for replaced element inside nested 88033 positioned elements (where the inner has a percentage height and 88034 the outer implicitly has a fixed height because of explicit top/bottom 88035 values). 88036 88037 Added fast/block/positioning/replaced-inside-top-bottom.html 88038 88039 * rendering/RenderBox.cpp: 88040 (WebCore::RenderBox::availableHeightUsing): 88041 88042 2008-09-19 Chris Fleizach <cfleizach (a] apple.com> 88043 88044 Fix Tiger bustage 88045 88046 * page/mac/AccessibilityObjectWrapper.mm: 88047 88048 2008-09-18 Chris Fleizach <cfleizach (a] apple.com> 88049 88050 Reviewed by Darin Adler. 88051 88052 <rdar://problem/6211041> Expose legend tag in accessibility 88053 88054 Exposes the legend tag as the titleUIElement of a fieldset 88055 88056 Test: accessibility/legend.html 88057 88058 * page/AccessibilityObject.h: 88059 (WebCore::AccessibilityObject::isFieldset): 88060 * page/AccessibilityRenderObject.cpp: 88061 (WebCore::AccessibilityRenderObject::isFieldset): 88062 (WebCore::AccessibilityRenderObject::titleUIElement): 88063 * page/AccessibilityRenderObject.h: 88064 * rendering/RenderFieldset.h: 88065 88066 2008-09-19 Chris Fleizach <cfleizach (a] apple.com> 88067 88068 Reviewed by Darin Adler. 88069 88070 <rdar://problem/6213171> WebKit should use new array-centric methods for AX performance 88071 88072 Implement a few AX API methods that will be called by AppKit, which will 88073 speed up access to accessibility objects 88074 88075 * page/mac/AccessibilityObjectWrapper.mm: 88076 (-[AccessibilityObjectWrapper accessibilityIndexOfChild:]): 88077 (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]): 88078 (-[AccessibilityObjectWrapper accessibilityArrayAttributeValues:index:maxCount:]): 88079 88080 2008-09-19 Holger Hans Peter Freyther <zecke (a] selfish.org> 88081 88082 Reviewed by Simon Hausmann. 88083 88084 [qtwebkit] Set the m_should* flags to their proper value on entry 88085 With plugins it was possible that we finished a job twice. This was 88086 some kind of reentrancy in QNetworkReplyHandler::sendQueuedItems. By 88087 setting the flag to (m_loadMode == LoadDeferred) they will always have 88088 the right value and we will not send responses twice. 88089 88090 * platform/network/qt/QNetworkReplyHandler.cpp: 88091 88092 2008-09-19 Holger Hans Peter Freyther <zecke (a] selfish.org> 88093 88094 Reviewed by Simon Hausmann. 88095 88096 [qtwebkit] Pass test 70 of acid3. Handle text decoding errors 88097 Handle text decoding errors before instructing the parser to parse. We 88098 have converted the text to QString and all encoding errors are gone and 88099 the parser will not be able to detect them. So handle them before parsing. 88100 88101 * dom/XMLTokenizerQt.cpp: 88102 (WebCore::XMLTokenizer::doWrite): 88103 88104 2008-09-18 Darin Adler <darin (a] apple.com> 88105 88106 Reviewed by Maciej Stachowiak. 88107 88108 - part 1 of https://bugs.webkit.org/show_bug.cgi?id=20858 88109 make each distinct C++ class get a distinct JSC::Structure 88110 88111 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 88112 (WebCore::JSCSSStyleDeclaration::customPut): Use setDOMException 88113 instead of DOMExceptionTranslator. 88114 88115 * bindings/js/JSDOMBinding.cpp: 88116 (WebCore::getCachedDOMObjectWrapper): Updated function name. 88117 (WebCore::cacheDOMObjectWrapper): Ditto. 88118 (WebCore::forgetDOMObject): Ditto. 88119 (WebCore::getCachedDOMNodeWrapper): Ditto. 88120 (WebCore::forgetDOMNode): Ditto. 88121 (WebCore::cacheDOMNodeWrapper): Ditto. 88122 (WebCore::forgetAllDOMNodesForDocument): Ditto. 88123 (WebCore::markDOMNodesForDocument): Ditto. 88124 (WebCore::updateDOMNodeDocument): Ditto. 88125 (WebCore::getCachedDOMStructure): Added. 88126 (WebCore::createDOMStructure): Ditto. 88127 88128 * bindings/js/JSDOMBinding.h: Get rid of the ScriptInterpreter 88129 class and replace the static member functions with non-member 88130 functions. Added many other functions for getting at structures, 88131 prototypes, wrappers, and creating them. Also moved the 88132 cacheGlobalObject function here from JavaScriptCore; eventually 88133 I'll remove that once I get rid of the remaining callers. Also 88134 removed the DOMExceptionTranslator class. 88135 88136 * bindings/js/JSDOMWindowBase.h: Added JSDOMStructureMap type, 88137 and put one of those maps in each window. 88138 88139 * bindings/js/JSDOMWindowCustom.cpp: 88140 (WebCore::markDOMObjectWrapper): Updated for function name change. 88141 (WebCore::JSDOMWindow::mark): Added code to mark all the structures 88142 in the structure map. 88143 88144 * bindings/js/JSEventTargetNode.cpp: 88145 (WebCore::JSEventTargetNode::JSEventTargetNode): Changed to take 88146 a structure instead of a prototype. 88147 * bindings/js/JSEventTargetNode.h: Ditto. 88148 * bindings/js/JSHTMLAllCollection.h: 88149 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): Ditto. 88150 88151 * bindings/js/JSHTMLInputElementBase.cpp: 88152 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): Removed 88153 use of the JSC_IMPLEMENT_PROTOTYPE macro, and changed to take a 88154 structure instead of a prototype. 88155 * bindings/js/JSHTMLInputElementBase.h: Removed use of the 88156 JSC_DEFINE_PROTOTYPE_WITH_PROTOTYPE macro, and changed constructor 88157 to take a structure instead of a prototype. Created a dummy prototype 88158 class that causes the HTMLInputElement prototype to have the 88159 HTMLElement prototype. 88160 88161 * bindings/scripts/CodeGeneratorJS.pm: Change constructors to take 88162 structures instead of prototypes. Changed the prototype self function 88163 to use the getDOMPrototype function -- later we can eliminate it and 88164 have callers invoke getDOMPrototype directly instead. Updated other 88165 functions that have name changes. Added code to generate the 88166 createPrototype member function. Changed use of cacheGlobalObject to 88167 get it from the WebCore namespace instead of the JSC namespace. 88168 Changed cacheDOMObject calls to use getDOMObjectWrapper instead. 88169 88170 * dom/Document.cpp: 88171 (WebCore::Document::~Document): Updated for name change and also 88172 removed unnecessary JSLock use -- there's no need to lock around this. 88173 * dom/Node.cpp: 88174 (WebCore::Node::setDocument): Ditto. 88175 88176 * dom/make_names.pl: Changed to use CREATE_DOM_NODE_WRAPPER macro 88177 instead of calling new directly. 88178 88179 * bindings/js/JSCSSRuleCustom.cpp: 88180 (WebCore::toJS): Updated for function name changes and used the 88181 CREATE_DOM_OBJECT_WRAPPER macro. 88182 * bindings/js/JSCSSValueCustom.cpp: 88183 (WebCore::toJS): Ditto. 88184 * bindings/js/JSCanvasPixelArrayCustom.cpp: 88185 (WebCore::toJS): Ditto. 88186 * bindings/js/JSDocumentCustom.cpp: 88187 (WebCore::JSDocument::mark): Ditto. 88188 (WebCore::toJS): Ditto. 88189 * bindings/js/JSElementCustom.cpp: 88190 (WebCore::toJSNewlyCreated): Ditto. 88191 * bindings/js/JSEventCustom.cpp: 88192 (WebCore::toJS): Ditto. 88193 * bindings/js/JSEventTargetBase.cpp: 88194 (WebCore::jsEventTargetDispatchEvent): Use setDOMException instead 88195 of DOMExceptionTranslator. 88196 (WebCore::toJS): Updated for function name changes and used the 88197 CREATE_DOM_OBJECT_WRAPPER macro. 88198 * bindings/js/JSHTMLCollectionCustom.cpp: 88199 (WebCore::toJS): Ditto. 88200 * bindings/js/JSNodeCustom.cpp: 88201 (WebCore::JSNode::mark): Ditto. 88202 (WebCore::createWrapper): Ditto. 88203 (WebCore::toJS): Ditto. 88204 * bindings/js/JSSVGPathSegCustom.cpp: 88205 (WebCore::toJS): Ditto. 88206 * bindings/js/JSStyleSheetCustom.cpp: 88207 (WebCore::toJS): Ditto. 88208 (WebCore::JSStyleSheet::mark): Ditto. 88209 * bindings/js/JSTextCustom.cpp: 88210 (WebCore::toJSNewlyCreated): Ditto. 88211 * bindings/js/JSXMLHttpRequestConstructor.cpp: 88212 (WebCore::constructXMLHttpRequest): Ditto. 88213 * bindings/js/JSXMLHttpRequestCustom.cpp: 88214 (WebCore::JSXMLHttpRequest::mark): Ditto. 88215 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 88216 (WebCore::JSXMLHttpRequestUpload::mark): Ditto. 88217 * bindings/js/JSXSLTProcessorConstructor.cpp: 88218 (WebCore::constructXSLTProcessor): Ditto. 88219 * bindings/js/ScriptController.cpp: 88220 (WebCore::ScriptController::finishedWithEvent): Ditto. 88221 * xml/XMLHttpRequest.cpp: 88222 (WebCore::XMLHttpRequest::loadRequestAsynchronously): Ditto. 88223 (WebCore::XMLHttpRequest::dropProtection): Ditto. 88224 88225 2008-09-18 David Hyatt <hyatt (a] apple.com> 88226 88227 This patch gets a viewless scrollbar working on Mac. It is turned off 88228 by default. Hit testing works. For now the scrollbar just paints ugly 88229 debug rects in the place of the buttons, track and thumb. It does match 88230 Aqua metrics though. 88231 88232 Reviewed by Sam Weinig 88233 88234 * WebCore.xcodeproj/project.pbxproj: 88235 * page/mac/EventHandlerMac.mm: 88236 (WebCore::EventHandler::passMousePressEventToScrollbar): 88237 * platform/ScrollbarThemeComposite.cpp: 88238 (WebCore::ScrollbarThemeComposite::paint): 88239 (WebCore::ScrollbarThemeComposite::trackPosition): 88240 * platform/ScrollbarThemeComposite.h: 88241 * platform/mac/ScrollViewMac.mm: 88242 (WebCore::ScrollView::addChild): 88243 * platform/mac/ScrollbarThemeMac.cpp: 88244 (WebCore::): 88245 (WebCore::ScrollbarThemeMac::hasButtons): 88246 (WebCore::ScrollbarThemeMac::hasThumb): 88247 (WebCore::buttonRepaintRect): 88248 (WebCore::ScrollbarThemeMac::backButtonRect): 88249 (WebCore::ScrollbarThemeMac::forwardButtonRect): 88250 (WebCore::trackRepaintRect): 88251 (WebCore::ScrollbarThemeMac::trackRect): 88252 (WebCore::ScrollbarThemeMac::minimumThumbLength): 88253 (WebCore::ScrollbarThemeMac::shouldCenterOnThumb): 88254 (WebCore::ScrollbarThemeMac::paintTrack): 88255 (WebCore::ScrollbarThemeMac::paintButton): 88256 (WebCore::ScrollbarThemeMac::paintThumb): 88257 * platform/mac/ScrollbarThemeMac.h: 88258 (WebCore::ScrollbarThemeMac::supportsControlTints): 88259 * platform/qt/ScrollbarThemeQt.cpp: 88260 (WebCore::ScrollbarThemeQt::trackPosition): 88261 88262 2008-09-18 Collin Jackson <collinj (a] webkit.org> 88263 88264 Build fix; added missing header file to GNUmakefile.am 88265 88266 * GNUmakefile.am: 88267 88268 2008-09-18 Sam Weinig <sam (a] webkit.org> 88269 88270 Reviewed by David "the Hair" Hyatt. 88271 88272 Move DataRef, SVGRenderStyle and SVGRenderStyleDefs in render/style. 88273 88274 * GNUmakefile.am: 88275 * WebCore.pro: 88276 * WebCore.vcproj/WebCore.vcproj: 88277 * WebCore.xcodeproj/project.pbxproj: 88278 * rendering/DataRef.h: Removed. 88279 * rendering/SVGRenderStyle.cpp: Removed. 88280 * rendering/SVGRenderStyle.h: Removed. 88281 * rendering/SVGRenderStyleDefs.cpp: Removed. 88282 * rendering/SVGRenderStyleDefs.h: Removed. 88283 * rendering/style/DataRef.h: Copied from rendering/DataRef.h. 88284 * rendering/style/SVGRenderStyle.cpp: Copied from rendering/SVGRenderStyle.cpp. 88285 * rendering/style/SVGRenderStyle.h: Copied from rendering/SVGRenderStyle.h. 88286 * rendering/style/SVGRenderStyleDefs.cpp: Copied from rendering/SVGRenderStyleDefs.cpp. 88287 * rendering/style/SVGRenderStyleDefs.h: Copied from rendering/SVGRenderStyleDefs.h. 88288 88289 2008-09-18 Mark Rowe <mrowe (a] apple.com> 88290 88291 Reviewed by Dan Bernstein. 88292 88293 Add a means of clearing a FrameTree's name. 88294 88295 * WebCore.base.exp: 88296 * page/FrameTree.cpp: 88297 (WebCore::FrameTree::clearName): 88298 * page/FrameTree.h: 88299 88300 2008-09-18 David Hyatt <hyatt (a] apple.com> 88301 88302 Eliminate addToSuperview from Widget, since it was only called 88303 by ScrollViewMac's addChild method. Just shift the original body 88304 of addToSuperView into addChild. 88305 88306 Reviewed by Sam Weinig 88307 88308 * platform/Widget.h: 88309 * platform/mac/ScrollViewMac.mm: 88310 (WebCore::ScrollView::addChild): 88311 * platform/mac/WidgetMac.mm: 88312 88313 2008-09-18 Collin Jackson <collinj (a] webkit.org> 88314 88315 Reviewed by Antti Koivisto and Mark Rowe. 88316 88317 Test: http/tests/misc/dns-prefetch-control.html 88318 88319 https://bugs.webkit.org/show_bug.cgi?id=20690 88320 88321 Invoke WebCore::prefetchDNS() on host names that appear in 88322 in the href of hyperlinks and <link rel="dns-prefetch">. This 88323 can be used to implement DNS prefetching. 88324 88325 * WebCore.vcproj/WebCore.vcproj: 88326 * WebCore.xcodeproj/project.pbxproj: 88327 * dom/Document.cpp: 88328 (WebCore::Document::Document): 88329 (WebCore::Document::processHttpEquiv): 88330 (WebCore::Document::setSecurityOrigin): 88331 (WebCore::Document::initDNSPrefetch): 88332 (WebCore::Document::parseDNSPrefetchControlHeader): 88333 * dom/Document.h: 88334 (WebCore::Document::isDNSPrefetchEnabled): 88335 * html/HTMLAnchorElement.cpp: 88336 (WebCore::HTMLAnchorElement::parseMappedAttribute): 88337 * html/HTMLLinkElement.cpp: 88338 (WebCore::HTMLLinkElement::HTMLLinkElement): 88339 (WebCore::HTMLLinkElement::parseMappedAttribute): 88340 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 88341 (WebCore::HTMLLinkElement::process): 88342 * html/HTMLLinkElement.h: 88343 * html/PreloadScanner.cpp: 88344 (WebCore::PreloadScanner::processAttribute): 88345 * loader/FrameLoader.cpp: 88346 (WebCore::FrameLoader::begin): 88347 * platform/gtk/TemporaryLinkStubs.cpp: 88348 (WebCore::prefetchDNS): 88349 * platform/network/DNS.h: Added. 88350 * platform/network/cf/DNSCFNet.cpp: Added. 88351 (WebCore::prefetchDNS): 88352 * platform/qt/TemporaryLinkStubs.cpp: 88353 (WebCore::prefetchDNS): 88354 * platform/wx/TemporaryLinkStubs.cpp: 88355 (WebCore::prefetchDNS): 88356 88357 2008-09-18 David Hyatt <hyatt (a] apple.com> 88358 88359 Eliminate the convertToScreenCoordinate method on Widget, since 88360 ScrollView has redundant methods that already do the same thing. 88361 88362 Reviewed by Sam Weinig 88363 88364 * editing/mac/SelectionControllerMac.mm: 88365 (WebCore::SelectionController::notifyAccessibilityForSelectionChange): 88366 * platform/Widget.h: 88367 * platform/mac/WidgetMac.mm: 88368 (WebCore::Widget::containingWindow): 88369 88370 2008-09-18 David Hyatt <hyatt (a] apple.com> 88371 88372 Move to only one constructor for Widgets. Rename data to m_data and make 88373 it have an #ifdef only for platforms that have platform-specific data (Mac 88374 and Gtk). 88375 88376 Reviewed by Sam Weinig 88377 88378 * WebCore.base.exp: 88379 * platform/Widget.cpp: 88380 (WebCore::Widget::init): 88381 * platform/Widget.h: 88382 * platform/gtk/WidgetGtk.cpp: 88383 (WebCore::Widget::Widget): 88384 (WebCore::Widget::~Widget): 88385 (WebCore::Widget::cursor): 88386 (WebCore::Widget::setCursor): 88387 * platform/mac/WidgetMac.mm: 88388 (WebCore::Widget::Widget): 88389 (WebCore::Widget::~Widget): 88390 (WebCore::Widget::addToSuperview): 88391 (WebCore::Widget::removeFromSuperview): 88392 (WebCore::Widget::beforeMouseDown): 88393 (WebCore::Widget::afterMouseDown): 88394 * platform/qt/WidgetQt.cpp: 88395 (WebCore::Widget::Widget): 88396 * platform/win/WidgetWin.cpp: 88397 (WebCore::Widget::Widget): 88398 * platform/wx/WidgetWx.cpp: 88399 (WebCore::Widget::Widget): 88400 88401 2008-09-18 David Hyatt <hyatt (a] apple.com> 88402 88403 Move Qt's isNPAPIPlugin boolean from Widget down to PluginView, since there 88404 was no reason for it to be on Widget. This change eliminates Qt ifdefs 88405 from Widget. 88406 88407 Reviewed by Sam Weinig 88408 88409 * bindings/js/ScriptControllerQt.cpp: 88410 (WebCore::ScriptController::createScriptInstanceForWidget): 88411 * platform/qt/WidgetQt.cpp: 88412 (WebCore::WidgetPrivate::WidgetPrivate): 88413 (WebCore::WidgetPrivate::~WidgetPrivate): 88414 (WebCore::Widget::Widget): 88415 (WebCore::Widget::~Widget): 88416 * plugins/PluginView.cpp: 88417 (WebCore::PluginView::PluginView): 88418 * plugins/PluginView.h: 88419 (WebCore::PluginView::isNPAPIPlugin): 88420 (WebCore::PluginView::setIsNPAPIPlugin): 88421 88422 2008-09-18 David Hyatt <hyatt (a] apple.com> 88423 88424 Make geometryChanged() cross-platform on Widget. GTK and WIN platform 88425 ifdefs are now gone from Widget! 88426 88427 Reviewed by Sam Weinig 88428 88429 * platform/Widget.h: 88430 (WebCore::Widget::geometryChanged): 88431 * platform/gtk/WidgetGtk.cpp: 88432 * platform/qt/WidgetQt.cpp: 88433 88434 2008-09-18 David Hyatt <hyatt (a] apple.com> 88435 88436 Consolidate convertTo/FromContainingWindow methods so that all platforms 88437 but Mac share the same code. 88438 88439 Move convertSelfToChild and convertChildToSelf to ScrollView, since 88440 Widget should know nothing about children. Make the methods cross-platform 88441 on ScrollView. 88442 88443 Reviewed by Sam Weinig 88444 88445 * platform/ScrollView.h: 88446 (WebCore::ScrollView::convertChildToSelf): 88447 (WebCore::ScrollView::convertSelfToChild): 88448 * platform/Widget.cpp: 88449 (WebCore::Widget::convertToContainingWindow): 88450 (WebCore::Widget::convertFromContainingWindow): 88451 * platform/Widget.h: 88452 (WebCore::Widget::geometryChanged): 88453 * platform/gtk/ScrollViewGtk.cpp: 88454 (WebCore::ScrollView::isScrollViewScrollbar): 88455 * platform/gtk/WidgetGtk.cpp: 88456 * platform/mac/ScrollViewMac.mm: 88457 (WebCore::ScrollView::isScrollViewScrollbar): 88458 * platform/mac/WidgetMac.mm: 88459 * platform/qt/ScrollViewQt.cpp: 88460 (WebCore::ScrollView::isScrollViewScrollbar): 88461 * platform/qt/WidgetQt.cpp: 88462 * platform/win/ScrollViewWin.cpp: 88463 (WebCore::ScrollView::isScrollViewScrollbar): 88464 * platform/win/WidgetWin.cpp: 88465 88466 2008-09-18 David Hyatt <hyatt (a] apple.com> 88467 88468 Make the conversion methods that go to and from some containingWindow 88469 cross-platform. Implement them on Mac. 88470 88471 Reviewed by Sam Weinig 88472 88473 * platform/Widget.h: 88474 (WebCore::Widget::setContainingWindow): 88475 * platform/mac/WidgetMac.mm: 88476 (WebCore::Widget::convertFromContainingWindow): 88477 (WebCore::Widget::convertToContainingWindow): 88478 88479 2008-09-18 Sam Weinig <sam (a] webkit.org> 88480 88481 Rubber-stamped by David "Yeah-yeah" Hyatt. 88482 88483 Cleanup RenderStyle. 88484 88485 * WebCore.xcodeproj/project.pbxproj: 88486 * rendering/style/CounterContent.h: 88487 * rendering/style/RenderStyle.cpp: 88488 * rendering/style/RenderStyle.h: 88489 88490 2008-09-18 Chris Marrin <cmarrin (a] apple.com> 88491 88492 Reviewed by Sam Weinig 88493 88494 Fixed https://bugs.webkit.org/show_bug.cgi?id=20908 88495 Now TransformOperations and AnimationList no longer 88496 inherit from Vector<> but rather have API to access. 88497 88498 * css/CSSComputedStyleDeclaration.cpp: 88499 (WebCore::computedTransform): 88500 (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): 88501 * css/CSSStyleSelector.cpp: 88502 (WebCore::CSSStyleSelector::createTransformOperations): 88503 * page/animation/AnimationBase.cpp: 88504 (WebCore::blendFunc): 88505 * page/animation/CompositeAnimation.cpp: 88506 (WebCore::CompositeAnimation::updateTransitions): 88507 (WebCore::CompositeAnimation::updateKeyframeAnimations): 88508 (WebCore::CompositeAnimation::animate): 88509 * page/animation/ImplicitAnimation.cpp: 88510 (WebCore::ImplicitAnimation::validateTransformFunctionList): 88511 * page/animation/KeyframeAnimation.cpp: 88512 (WebCore::KeyframeAnimation::validateTransformFunctionList): 88513 * rendering/RenderLayer.cpp: 88514 (WebCore::RenderLayer::updateReflectionStyle): 88515 * rendering/style/AnimationList.cpp: 88516 (WebCore::AnimationList::operator==): 88517 * rendering/style/AnimationList.h: 88518 (WebCore::AnimationList::operator!=): 88519 (WebCore::AnimationList::size): 88520 (WebCore::AnimationList::isEmpty): 88521 (WebCore::AnimationList::resize): 88522 (WebCore::AnimationList::remove): 88523 (WebCore::AnimationList::append): 88524 (WebCore::AnimationList::animation): 88525 * rendering/style/RenderStyle.cpp: 88526 (WebCore::StyleRareNonInheritedData::updateKeyframes): 88527 (WebCore::RenderStyle::applyTransform): 88528 (WebCore::RenderStyle::adjustAnimations): 88529 (WebCore::RenderStyle::adjustTransitions): 88530 (WebCore::RenderStyle::transitionForProperty): 88531 * rendering/style/RenderStyle.h: 88532 (WebCore::RenderStyle::hasTransform): 88533 * rendering/style/TransformOperations.cpp: 88534 (WebCore::TransformOperations::TransformOperations): 88535 (WebCore::TransformOperations::operator==): 88536 * rendering/style/TransformOperations.h: 88537 (WebCore::TransformOperations::apply): 88538 (WebCore::TransformOperations::operations): 88539 88540 2008-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 88541 88542 Build fix. 88543 88544 [qt] Build fixes after the Widget/ScrollView cleanup 88545 topLevel() is now root() 88546 88547 88548 * platform/qt/ScrollViewQt.cpp: 88549 (WebCore::ScrollView::ScrollViewPrivate::scrollBackingStore): 88550 (WebCore::ScrollView::addChild): 88551 (WebCore::ScrollView::removeChild): 88552 88553 2008-09-18 Holger Hans Peter Freyther <zecke (a] selfish.org> 88554 88555 Reviewed by Mark Rowe. 88556 88557 https://bugs.webkit.org/show_bug.cgi?id=20437 88558 88559 XMLTokenizer.cpp used to contain two different implementations. One was using 88560 libxml2 and the other was using the Qt XML StreamReader. Clean up the code by 88561 separating the two implementations from each other. 88562 Common code and some small bits are kept inside the XMLTokenizer.cpp, the Qt code 88563 was moved to XMLTokenizerQt.cpp and the Libxml2 based code was moved to 88564 XMLTokenizerLibxml2.cpp. There should be no functional changes. 88565 88566 Attempt to add XMLTokenizerLibxml2.cpp to every buildsystem so the build continues 88567 to work. 88568 88569 * GNUmakefile.am: 88570 * WebCore.pro: 88571 * WebCore.vcproj/WebCore.vcproj: 88572 * WebCore.xcodeproj/project.pbxproj: 88573 * WebCoreSources.bkl: 88574 * dom/XMLTokenizer.cpp: 88575 (WebCore::isScriptElement): 88576 (WebCore::castToScriptElement): 88577 (WebCore::XMLTokenizer::setCurrentNode): 88578 (WebCore::XMLTokenizer::write): 88579 (WebCore::XMLTokenizer::eventuallyMarkAsParserCreated): 88580 (WebCore::XMLTokenizer::enterText): 88581 (WebCore::toString): 88582 (WebCore::XMLTokenizer::exitText): 88583 (WebCore::XMLTokenizer::end): 88584 (WebCore::XMLTokenizer::insertErrorMessageBlock): 88585 * dom/XMLTokenizer.h: 88586 (WebCore::XMLTokenizer::wellFormed): 88587 * dom/XMLTokenizerLibxml2.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. 88588 (WebCore::createMemoryParser): 88589 (WebCore::XMLTokenizer::XMLTokenizer): 88590 (WebCore::XMLTokenizer::~XMLTokenizer): 88591 (WebCore::XMLTokenizer::doWrite): 88592 (WebCore::ignorableWhitespaceHandler): 88593 (WebCore::XMLTokenizer::initializeParserContext): 88594 (WebCore::XMLTokenizer::doEnd): 88595 (WebCore::XMLTokenizer::lineNumber): 88596 (WebCore::XMLTokenizer::columnNumber): 88597 (WebCore::XMLTokenizer::stopParsing): 88598 (WebCore::XMLTokenizer::resumeParsing): 88599 (WebCore::parseXMLDocumentFragment): 88600 (WebCore::attributesStartElementNsHandler): 88601 (WebCore::parseAttributes): 88602 * dom/XMLTokenizerQt.cpp: Copied from WebCore/dom/XMLTokenizer.cpp. 88603 (WebCore::EntityResolver::resolveUndeclaredEntity): 88604 (WebCore::XMLTokenizer::XMLTokenizer): 88605 (WebCore::XMLTokenizer::~XMLTokenizer): 88606 (WebCore::XMLTokenizer::doWrite): 88607 (WebCore::XMLTokenizer::initializeParserContext): 88608 (WebCore::XMLTokenizer::doEnd): 88609 (WebCore::XMLTokenizer::lineNumber): 88610 (WebCore::XMLTokenizer::columnNumber): 88611 (WebCore::XMLTokenizer::stopParsing): 88612 (WebCore::XMLTokenizer::resumeParsing): 88613 (WebCore::parseXMLDocumentFragment): 88614 (WebCore::attributesStartElementNsHandler): 88615 (WebCore::parseAttributes): 88616 (WebCore::): 88617 88618 2008-09-18 Beth Dakin <bdakin (a] apple.com> 88619 88620 Reviewed by Geoff Garen. 88621 88622 Build fix for non-Mac builds. 88623 88624 * css/CSSPrimitiveValue.cpp: 88625 (WebCore::CSSPrimitiveValue::cssText): 88626 88627 2008-09-18 Peter Kasting <pkasting (a] google.com> 88628 88629 Reviewed by hyatt. Landed by eseidel. 88630 88631 https://bugs.webkit.org/show_bug.cgi?id=20745 88632 Animated GIFs do not animate properly with (at least) CG. 88633 88634 * WebCore\platform\graphics\BitmapImage.cpp: 88635 * WebCore\platform\graphics\BitmapImage.h: 88636 * WebCore\platform\graphics\cairo\ImageCairo.cpp: 88637 * WebCore\platform\graphics\cg\ImageCG.cpp: 88638 * WebCore\platform\graphics\qt\ImageQt.cpp: 88639 * WebCore\platform\graphics\wx\ImageWx.cpp: 88640 88641 2008-09-18 Chris Fleizach <cfleizach (a] apple.com> 88642 88643 Reviewed by Beth Dakin 88644 88645 <rdar://problem/6224222> AX: should not expose a <table> as an AXTable if ARIA 88646 role specifies otherwise 88647 88648 If a <table> isn't an AXTable, the rows and cells should default to AccessibilityRenderObject 88649 88650 Test: accessibility/table-with-aria-role.html 88651 88652 * page/AccessibilityTable.cpp: 88653 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 88654 (WebCore::AccessibilityTable::addChildren): 88655 (WebCore::AccessibilityTable::roleValue): 88656 (WebCore::AccessibilityTable::accessibilityIsIgnored): 88657 (WebCore::AccessibilityTable::title): 88658 * page/AccessibilityTableCell.cpp: 88659 (WebCore::AccessibilityTableCell::accessibilityIsIgnored): 88660 (WebCore::AccessibilityTableCell::isTableCell): 88661 (WebCore::AccessibilityTableCell::roleValue): 88662 * page/AccessibilityTableCell.h: 88663 * page/AccessibilityTableRow.cpp: 88664 (WebCore::AccessibilityTableRow::roleValue): 88665 (WebCore::AccessibilityTableRow::isTableRow): 88666 (WebCore::AccessibilityTableRow::accessibilityIsIgnored): 88667 * page/AccessibilityTableRow.h: 88668 88669 2008-09-18 Steve Falkenburg <sfalken (a] apple.com> 88670 88671 Use higher-resolution timers on all variants of Windows. 88672 88673 Reviewed by Darin Adler. 88674 88675 * platform/win/SharedTimerWin.cpp: 88676 (WebCore::setSharedTimerFireTime): 88677 88678 88679 2008-09-18 David Hyatt <hyatt (a] apple.com> 88680 88681 Make containingWindow() and setContainingWindow() cross-platform. 88682 Add a root() function cross-platform so Qt doesn't have to 88683 define its own. 88684 88685 Reviewed by Darin Adler 88686 88687 * platform/Widget.cpp: 88688 (WebCore::Widget::root): 88689 * platform/Widget.h: 88690 (WebCore::Widget::setContainingWindow): 88691 * platform/gtk/WidgetGtk.cpp: 88692 (WebCore::Widget::Widget): 88693 (WebCore::Widget::containingWindow): 88694 * platform/mac/ScrollViewMac.mm: 88695 (WebCore::ScrollView::addChild): 88696 (WebCore::ScrollView::removeChild): 88697 * platform/mac/WidgetMac.mm: 88698 (WebCore::Widget::containingWindow): 88699 * platform/qt/WidgetQt.cpp: 88700 (WebCore::Widget::invalidateRect): 88701 (WebCore::Widget::containingWindow): 88702 * platform/win/WidgetWin.cpp: 88703 (WebCore::Widget::Widget): 88704 (WebCore::Widget::~Widget): 88705 (WebCore::Widget::containingWindow): 88706 88707 2008-09-18 Beth Dakin <bdakin (a] apple.com> 88708 88709 Reviewed by Dave Hyatt. 88710 88711 Fix for https://bugs.webkit.org/show_bug.cgi?id=20515 Crash upon 88712 parsing CSS: unicode-range: searchfield-cancel-buttonpt=-webkit- 88713 dashboard-region= 88714 and corresponding: <rdar://problem/6174100> 88715 88716 This patch makes CSSParserValue::createCSSValue handle unknown 88717 identifiers. 88718 88719 * css/CSSParserValues.cpp: 88720 (WebCore::CSSParserValue::createCSSValue): If we have an identifier 88721 with no id (an unknown identifier) create a CSSPrimitiveValue of 88722 type CSS_PARSER_IDENTIFIER 88723 * css/CSSPrimitiveValue.cpp: 88724 (WebCore::CSSPrimitiveValue::cssText): 88725 (WebCore::CSSPrimitiveValue::parserValue): 88726 * css/CSSPrimitiveValue.h: 88727 (WebCore::CSSPrimitiveValue::): 88728 88729 2008-09-18 Sam Weinig <sam (a] webkit.org> 88730 88731 Rubber-stamped by David "I'd prefer not" Hyatt. 88732 88733 More the remaining class out of RenderStyle.h/cpp 88734 88735 * GNUmakefile.am: 88736 * WebCore.pro: 88737 * WebCore.vcproj/WebCore.vcproj: 88738 * WebCore.xcodeproj/project.pbxproj: 88739 * WebCoreSources.bkl: 88740 * rendering/style/CursorData.h: Copied from rendering/style/RenderStyle.h. 88741 (WebCore::CursorData::CursorData): 88742 (WebCore::CursorData::operator==): 88743 (WebCore::CursorData::operator!=): 88744 * rendering/style/CursorList.h: Copied from rendering/style/RenderStyle.h. 88745 (WebCore::CursorList::operator[]): 88746 (WebCore::CursorList::CursorList): 88747 * rendering/style/RenderStyle.cpp: 88748 * rendering/style/RenderStyle.h: 88749 (WebCore::RenderStyle::deref): 88750 (WebCore::RenderStyle::hasOneRef): 88751 (WebCore::RenderStyle::InheritedFlags::operator!=): 88752 (WebCore::RenderStyle::NonInheritedFlags::operator!=): 88753 (WebCore::RenderStyle::hasBackground): 88754 (WebCore::RenderStyle::outlineWidth): 88755 (WebCore::RenderStyle::autoWrap): 88756 (WebCore::RenderStyle::preserveNewline): 88757 (WebCore::RenderStyle::collapseWhiteSpace): 88758 (WebCore::RenderStyle::isCollapsibleWhiteSpace): 88759 (WebCore::RenderStyle::breakOnlyAfterWhiteSpace): 88760 (WebCore::RenderStyle::breakWords): 88761 (WebCore::RenderStyle::outlineOffset): 88762 (WebCore::RenderStyle::setLeft): 88763 (WebCore::RenderStyle::setRight): 88764 (WebCore::RenderStyle::setTop): 88765 (WebCore::RenderStyle::setBottom): 88766 (WebCore::RenderStyle::setDashboardRegion): 88767 (WebCore::RenderStyle::setBackgroundColor): 88768 (WebCore::RenderStyle::setBorderImage): 88769 (WebCore::RenderStyle::setBorderRadius): 88770 (WebCore::RenderStyle::setFontDescription): 88771 (WebCore::RenderStyle::adjustBackgroundLayers): 88772 (WebCore::RenderStyle::adjustMaskLayers): 88773 (WebCore::RenderStyle::deleteBindingURIs): 88774 (WebCore::RenderStyle::inheritBindingURIs): 88775 (WebCore::RenderStyle::isDisplayReplacedType): 88776 (WebCore::RenderStyle::isDisplayInlineType): 88777 (WebCore::RenderStyle::isOriginalDisplayInlineType): 88778 * rendering/style/StyleInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp. 88779 * rendering/style/StyleInheritedData.h: Copied from rendering/style/RenderStyle.h. 88780 (WebCore::StyleInheritedData::operator!=): 88781 * rendering/style/StyleRareInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp. 88782 * rendering/style/StyleRareInheritedData.h: Copied from rendering/style/RenderStyle.h. 88783 (WebCore::StyleRareInheritedData::operator!=): 88784 * rendering/style/StyleRareNonInheritedData.cpp: Copied from rendering/style/RenderStyle.cpp. 88785 * rendering/style/StyleRareNonInheritedData.h: Copied from rendering/style/RenderStyle.h. 88786 * rendering/style/StyleReflection.h: Copied from rendering/style/RenderStyle.h. 88787 88788 2008-09-18 David Hyatt <hyatt (a] apple.com> 88789 88790 Move the concept of suppression invalidation on Widgets to Scrollbar 88791 instead. Since this is only used by Scrollbars, there is no need for 88792 it to be on Widget. 88793 88794 Reviewed by Sam Weinig 88795 88796 * platform/Scrollbar.cpp: 88797 (WebCore::Scrollbar::Scrollbar): 88798 (WebCore::Scrollbar::invalidateRect): 88799 * platform/Scrollbar.h: 88800 (WebCore::Scrollbar::suppressInvalidation): 88801 (WebCore::Scrollbar::setSuppressInvalidation): 88802 * platform/Widget.h: 88803 * platform/gtk/WidgetGtk.cpp: 88804 (WebCore::Widget::Widget): 88805 (WebCore::Widget::invalidateRect): 88806 * platform/qt/WidgetQt.cpp: 88807 (WebCore::WidgetPrivate::WidgetPrivate): 88808 (WebCore::Widget::invalidateRect): 88809 * platform/win/WidgetWin.cpp: 88810 (WebCore::Widget::Widget): 88811 (WebCore::Widget::invalidateRect): 88812 88813 2008-09-18 David Hyatt <hyatt (a] apple.com> 88814 88815 Make invalidate() on Widget non-virtual and make it just call 88816 invalidateRect() on the boundsGeometry() of the Widget. 88817 88818 Reviewed by Dan Bernstein 88819 88820 * platform/Widget.h: 88821 (WebCore::Widget::boundsGeometry): 88822 (WebCore::Widget::invalidate): 88823 * platform/gtk/WidgetGtk.cpp: 88824 * platform/mac/WidgetMac.mm: 88825 * platform/qt/WidgetQt.cpp: 88826 * platform/win/WidgetWin.cpp: 88827 * platform/wx/WidgetWx.cpp: 88828 88829 2008-09-18 Sam Weinig <sam (a] webkit.org> 88830 88831 Rubber-stamped in exile by David Hyatt. 88832 88833 Split Animation, AnimationList, BindingURI, ContentData, CounterContent, 88834 KeyframeList, ShadowData, StyleFlexibleBoxData and TimingFunction out of 88835 RenderStyle.h/cpp 88836 88837 * GNUmakefile.am: 88838 * WebCore.pro: 88839 * WebCore.vcproj/WebCore.vcproj: 88840 * WebCore.xcodeproj/project.pbxproj: 88841 * WebCoreSources.bkl: 88842 * css/CSSStyleSelector.cpp: 88843 * css/CSSStyleSelector.h: 88844 * page/animation/CompositeAnimation.cpp: 88845 * page/animation/KeyframeAnimation.cpp: 88846 * page/animation/KeyframeAnimation.h: 88847 * rendering/RenderCounter.h: 88848 * rendering/style/Animation.cpp: Copied from rendering/style/RenderStyle.cpp. 88849 (WebCore::Animation::~Animation): 88850 (WebCore::Animation::animationsMatch): 88851 (WebCore::Animation::keyframeList): 88852 (WebCore::Animation::setAnimationKeyframe): 88853 * rendering/style/Animation.h: Copied from rendering/style/RenderStyle.h. 88854 * rendering/style/AnimationList.cpp: Copied from rendering/style/RenderStyle.cpp. 88855 * rendering/style/AnimationList.h: Copied from rendering/style/RenderStyle.h. 88856 * rendering/style/BindingURI.cpp: Copied from rendering/style/RenderStyle.cpp. 88857 * rendering/style/BindingURI.h: Copied from rendering/style/RenderStyle.h. 88858 (WebCore::BindingURI::operator!=): 88859 * rendering/style/ContentData.cpp: Copied from rendering/style/RenderStyle.cpp. 88860 * rendering/style/ContentData.h: Copied from rendering/style/RenderStyle.h. 88861 (WebCore::ContentData::ContentData): 88862 (WebCore::ContentData::~ContentData): 88863 * rendering/style/CounterContent.h: Copied from rendering/style/RenderStyle.h. 88864 (WebCore::CounterContent::CounterContent): 88865 * rendering/style/CounterDirectives.cpp: Copied from rendering/style/RenderStyle.cpp. 88866 * rendering/style/CounterDirectives.h: Copied from rendering/style/RenderStyle.h. 88867 (WebCore::CounterDirectives::CounterDirectives): 88868 * rendering/style/KeyframeList.cpp: Copied from rendering/style/RenderStyle.cpp. 88869 (WebCore::KeyframeList::insert): 88870 * rendering/style/KeyframeList.h: Copied from rendering/style/RenderStyle.h. 88871 (WebCore::KeyframeValue::KeyframeValue): 88872 (WebCore::KeyframeList::create): 88873 (WebCore::KeyframeList::KeyframeList): 88874 * rendering/style/RenderStyle.cpp: 88875 * rendering/style/RenderStyle.h: 88876 * rendering/style/ShadowData.cpp: Copied from rendering/style/RenderStyle.cpp. 88877 * rendering/style/ShadowData.h: Copied from rendering/style/RenderStyle.h. 88878 (WebCore::ShadowData::ShadowData): 88879 (WebCore::ShadowData::~ShadowData): 88880 (WebCore::ShadowData::operator!=): 88881 * rendering/style/StyleFlexibleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp. 88882 * rendering/style/StyleFlexibleBoxData.h: Copied from rendering/style/RenderStyle.h. 88883 (WebCore::StyleFlexibleBoxData::operator!=): 88884 * rendering/style/TimingFunction.h: Copied from rendering/style/RenderStyle.h. 88885 (WebCore::TimingFunction::TimingFunction): 88886 (WebCore::TimingFunction::operator==): 88887 88888 2008-09-18 Adele Peterson <adele (a] apple.com> 88889 88890 Reviewed by Dan Bernstein. 88891 88892 Fix RenderStyle leaks. 88893 88894 * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::createSubtreeIfNeeded): 88895 88896 2008-09-18 Kevin McCullough <kmccullough (a] apple.com> 88897 88898 Accidentally checked in code. 88899 88900 * html/HTMLElementFactory.cpp: 88901 (WebCore::frameConstructor): 88902 (WebCore::iframeConstructor): 88903 88904 2008-09-18 Kevin McCullough <kmccullough (a] apple.com> 88905 88906 Reviewed by Tim. 88907 88908 <rdar://problem/5722310> gracefully handle too many console messages 88909 (20904) 88910 - Keep track of the most previous message and then compare it to the 88911 subsequent messages as they come in. If there are multiple of the same 88912 message create a count that indicates the current number. 88913 88914 * manual-tests/inspector/multiple-console-messages.html: Added. 88915 * page/inspector/Console.js: 88916 * page/inspector/inspector.css: 88917 88918 2008-09-18 Jonathon Jongsma <jonathon (a] quotidian.org> 88919 88920 Reviewed by Alp Toker 88921 88922 https://bugs.webkit.org/show_bug.cgi?id=20830 88923 [GTK] Don't use deprecated pango API 88924 88925 Replace deprecated pango functions with non-deprecated ones for newer 88926 versions of pango 88927 88928 * platform/graphics/gtk/FontGtk.cpp: 88929 (WebCore::getDefaultPangoLayout): 88930 * platform/graphics/gtk/FontPlatformDataPango.cpp: 88931 (WebCore::FontPlatformData::FontPlatformData): 88932 88933 2008-09-18 Alp Toker <alp (a] nuanti.com> 88934 88935 Build fix for r36587. Add new sources (and sort the lists). 88936 88937 * GNUmakefile.am: 88938 88939 2008-09-17 Sam Weinig <sam (a] webkit.org> 88940 88941 Fix Windows build. 88942 88943 * WebCore.vcproj/WebCore.vcproj: 88944 88945 2008-09-17 David Hyatt <hyatt (a] apple.com> 88946 88947 Switch back to having frameGeometry be virtual in order to keep Mac 88948 the way it used to be. 88949 88950 Reviewed by Sam Weinig 88951 88952 * WebCore.base.exp: 88953 * platform/Widget.cpp: 88954 (WebCore::Widget::setParent): 88955 * platform/Widget.h: 88956 * platform/gtk/WidgetGtk.cpp: 88957 (WebCore::Widget::frameGeometry): 88958 (WebCore::Widget::setFrameGeometry): 88959 * platform/mac/WidgetMac.mm: 88960 (WebCore::Widget::frameGeometry): 88961 (WebCore::Widget::setFrameGeometry): 88962 * platform/qt/WidgetQt.cpp: 88963 (WebCore::Widget::frameGeometry): 88964 (WebCore::Widget::setFrameGeometry): 88965 * platform/win/WidgetWin.cpp: 88966 (WebCore::Widget::frameGeometry): 88967 (WebCore::Widget::setFrameGeometry): 88968 * platform/wx/WidgetWx.cpp: 88969 (WebCore::Widget::frameGeometry): 88970 (WebCore::Widget::setFrameGeometry): 88971 * plugins/PluginView.cpp: 88972 (WebCore::PluginView::setFrameGeometry): 88973 (WebCore::PluginView::geometryChanged): 88974 * plugins/PluginView.h: 88975 * plugins/gtk/PluginViewGtk.cpp: 88976 (WebCore::PluginView::updatePluginWidget): 88977 * plugins/qt/PluginViewQt.cpp: 88978 (WebCore::PluginView::updatePluginWidget): 88979 * plugins/win/PluginViewWin.cpp: 88980 (WebCore::PluginView::updatePluginWidget): 88981 88982 2008-09-17 Sam Weinig <sam (a] webkit.org> 88983 88984 Reviewed by Mark Rowe. 88985 88986 Fix assertion in DOMWindow::adjustWindowRect where we were passing 88987 in garbage values and were getting lucky that they were a not Nan. 88988 88989 * bindings/js/JSDOMWindowBase.cpp: 88990 (WebCore::windowProtoFuncOpen): 88991 88992 2008-09-17 Sam Weinig <sam (a] webkit.org> 88993 88994 Fix gtk build. 88995 88996 * rendering/style/MatrixTransformOperation.cpp: 88997 88998 2008-09-17 Sam Weinig <sam (a] webkit.org> 88999 89000 Rubber-stamped with love by David Hyatt. 89001 89002 Split IdentityTransformOperation, MatrixTransformOperation, RotateTransformOperation, 89003 ScaleTransformOperation, SkewTransformOperation, StyleTransformData, TransformOperation, 89004 TransformOperations and TranslateTransformOperation out of RenderStyle.h/cpp 89005 89006 * GNUmakefile.am: 89007 * WebCore.pro: 89008 * WebCore.vcproj/WebCore.vcproj: 89009 * WebCore.xcodeproj/project.pbxproj: 89010 * WebCoreSources.bkl: 89011 * css/CSSStyleSelector.cpp: 89012 * page/animation/AnimationBase.cpp: 89013 (WebCore::solveEpsilon): 89014 * rendering/RenderLayer.cpp: 89015 * rendering/style/IdentityTransformOperation.h: Copied from rendering/style/RenderStyle.h. 89016 * rendering/style/MatrixTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. 89017 * rendering/style/MatrixTransformOperation.h: Copied from rendering/style/RenderStyle.h. 89018 (WebCore::MatrixTransformOperation::MatrixTransformOperation): 89019 * rendering/style/RenderStyle.cpp: 89020 * rendering/style/RenderStyle.h: 89021 * rendering/style/RotateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. 89022 * rendering/style/RotateTransformOperation.h: Copied from rendering/style/RenderStyle.h. 89023 (WebCore::RotateTransformOperation::RotateTransformOperation): 89024 * rendering/style/ScaleTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. 89025 * rendering/style/ScaleTransformOperation.h: Copied from rendering/style/RenderStyle.h. 89026 (WebCore::ScaleTransformOperation::ScaleTransformOperation): 89027 * rendering/style/SkewTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. 89028 * rendering/style/SkewTransformOperation.h: Copied from rendering/style/RenderStyle.h. 89029 (WebCore::SkewTransformOperation::SkewTransformOperation): 89030 * rendering/style/StyleTransformData.cpp: Copied from rendering/style/RenderStyle.cpp. 89031 * rendering/style/StyleTransformData.h: Copied from rendering/style/RenderStyle.h. 89032 (WebCore::StyleTransformData::operator!=): 89033 * rendering/style/TransformOperation.h: Copied from rendering/style/RenderStyle.h. 89034 (WebCore::TransformOperation::): 89035 * rendering/style/TransformOperations.cpp: Copied from rendering/style/RenderStyle.cpp. 89036 (WebCore::TransformOperations::TransformOperations): 89037 * rendering/style/TransformOperations.h: Copied from rendering/style/RenderStyle.h. 89038 (WebCore::TransformOperations::operator!=): 89039 * rendering/style/TranslateTransformOperation.cpp: Copied from rendering/style/RenderStyle.cpp. 89040 * rendering/style/TranslateTransformOperation.h: Copied from rendering/style/RenderStyle.h. 89041 (WebCore::TranslateTransformOperation::TranslateTransformOperation): 89042 89043 2008-09-17 Mark Rowe <mrowe (a] apple.com> 89044 89045 Build fix. 89046 89047 * rendering/style/StyleDashboardRegion.h: PlatformString.h rather than String.h. 89048 89049 2008-09-17 David Hyatt <hyatt (a] apple.com> 89050 89051 (1) Inline a bunch of methods for accessing frame geometry. 89052 (2) Make sure frameGeometry() works even when you have no underlying 89053 native widget. 89054 (3) Cache a frame geometry rect cross-platform (even for widgets that 89055 have underlying native widgets. 89056 (4) PluginView's updateWindow call is now a virtual function on Widget. 89057 89058 Reviewed by Sam Weinig 89059 89060 * ChangeLog: 89061 * WebCore.base.exp: 89062 * platform/Widget.cpp: 89063 (WebCore::Widget::setFrameGeometry): 89064 * platform/Widget.h: 89065 (WebCore::Widget::x): 89066 (WebCore::Widget::y): 89067 (WebCore::Widget::width): 89068 (WebCore::Widget::height): 89069 (WebCore::Widget::size): 89070 (WebCore::Widget::pos): 89071 (WebCore::Widget::frameGeometry): 89072 (WebCore::Widget::resize): 89073 (WebCore::Widget::move): 89074 (WebCore::Widget::isFrameView): 89075 (WebCore::Widget::windowClipRect): 89076 * platform/mac/WidgetMac.mm: 89077 (WebCore::Widget::~Widget): 89078 (WebCore::Widget::updatePlatformWidgetFrameGeometry): 89079 * platform/win/WidgetWin.cpp: 89080 (WebCore::Widget::updatePlatformWidgetFrameGeometry): 89081 * plugins/PluginView.cpp: 89082 (WebCore::PluginView::setFrameGeometry): 89083 (WebCore::PluginView::geometryChanged): 89084 * plugins/PluginView.h: 89085 * plugins/gtk/PluginViewGtk.cpp: 89086 (WebCore::PluginView::updatePlatformWidgetFrameGeometry): 89087 * plugins/qt/PluginViewQt.cpp: 89088 (WebCore::PluginView::updatePlatformWidgetFrameGeometry): 89089 * plugins/win/PluginViewWin.cpp: 89090 (WebCore::PluginView::updatePlatformWidgetFrameGeometry): 89091 * plugins/wx/PluginViewWx.cpp: 89092 89093 2008-09-17 Sam Weinig <sam (a] webkit.org> 89094 89095 Reviewed by David "Waterman" Hyatt. 89096 89097 Fix a leak of NSViews in WidgetMac.mm. 89098 89099 * platform/mac/WidgetMac.mm: 89100 (WebCore::Widget::~Widget): 89101 89102 2008-09-17 Sam Weinig <sam (a] webkit.org> 89103 89104 Rubber-stamped by David Waterman Hyatt. 89105 89106 Split FillLayer, StyleBackgroundData, StyleBoxData, StyleDashboardRegion, StyleMarqueeData 89107 StyleMultiColData and StyleVisualData out of RenderStyle.h/cpp 89108 89109 * GNUmakefile.am: 89110 * WebCore.pro: 89111 * WebCore.vcproj/WebCore.vcproj: 89112 * WebCore.xcodeproj/project.pbxproj: 89113 * WebCoreSources.bkl: 89114 * rendering/style/FillLayer.cpp: Copied from rendering/style/RenderStyle.cpp. 89115 * rendering/style/FillLayer.h: Copied from rendering/style/RenderStyle.h. 89116 (WebCore::FillLayer::operator!=): 89117 (WebCore::FillLayer::hasImage): 89118 (WebCore::FillLayer::hasFixedImage): 89119 * rendering/style/RenderStyle.cpp: 89120 * rendering/style/RenderStyle.h: 89121 * rendering/style/StyleBackgroundData.cpp: Copied from rendering/style/RenderStyle.cpp. 89122 (WebCore::StyleBackgroundData::StyleBackgroundData): 89123 * rendering/style/StyleBackgroundData.h: Copied from rendering/style/RenderStyle.h. 89124 (WebCore::StyleBackgroundData::~StyleBackgroundData): 89125 (WebCore::StyleBackgroundData::operator!=): 89126 * rendering/style/StyleBoxData.cpp: Copied from rendering/style/RenderStyle.cpp. 89127 * rendering/style/StyleBoxData.h: Copied from rendering/style/RenderStyle.h. 89128 (WebCore::StyleBoxData::operator!=): 89129 * rendering/style/StyleDashboardRegion.h: Copied from rendering/style/RenderStyle.h. 89130 (WebCore::StyleDashboardRegion::operator!=): 89131 * rendering/style/StyleMarqueeData.cpp: Copied from rendering/style/RenderStyle.cpp. 89132 * rendering/style/StyleMarqueeData.h: Copied from rendering/style/RenderStyle.h. 89133 (WebCore::StyleMarqueeData::operator!=): 89134 * rendering/style/StyleMultiColData.cpp: Copied from rendering/style/RenderStyle.cpp. 89135 * rendering/style/StyleMultiColData.h: Copied from rendering/style/RenderStyle.h. 89136 (WebCore::StyleMultiColData::operator!=): 89137 (WebCore::StyleMultiColData::ruleWidth): 89138 * rendering/style/StyleVisualData.cpp: Copied from rendering/style/RenderStyle.cpp. 89139 * rendering/style/StyleVisualData.h: Copied from rendering/style/RenderStyle.h. 89140 (WebCore::StyleVisualData::operator==): 89141 89142 2008-09-17 David Hyatt <hyatt (a] apple.com> 89143 89144 Remove WidgetClient from Widget. 89145 89146 Reviewed by Sam Weinig 89147 89148 * WebCore.xcodeproj/project.pbxproj: 89149 * platform/Widget.h: 89150 (WebCore::Widget::setClient): 89151 (WebCore::Widget::client): 89152 * platform/WidgetClient.h: Removed. 89153 * platform/gtk/WidgetGtk.cpp: 89154 * platform/mac/WidgetMac.mm: 89155 (WebCore::Widget::Widget): 89156 (WebCore::Widget::show): 89157 (WebCore::Widget::hide): 89158 * platform/qt/WidgetQt.cpp: 89159 (WebCore::WidgetPrivate::WidgetPrivate): 89160 * platform/win/WidgetWin.cpp: 89161 (WebCore::Widget::Widget): 89162 * platform/wx/WidgetWx.cpp: 89163 (WebCore::Widget::Widget): 89164 89165 2008-09-17 David Hyatt <hyatt (a] apple.com> 89166 89167 Remove isEnabled/setEnabled from Widget. The concept of being enabled now 89168 only applies to Scrollbars so the method has been moved there and made 89169 cross-platform. Scrollbar subclasses that have a corresponding native 89170 widget can subclass setEnabled to change the enabled state of the native 89171 widget. 89172 89173 Reviewed by Sam Weinig & Darin Adler 89174 89175 * WebCore.base.exp: 89176 * platform/Scrollbar.cpp: 89177 (WebCore::Scrollbar::Scrollbar): 89178 * platform/Scrollbar.h: 89179 (WebCore::Scrollbar::enabled): 89180 (WebCore::Scrollbar::setEnabled): 89181 * platform/Widget.h: 89182 * platform/gtk/ScrollbarGtk.cpp: 89183 (ScrollbarGtk::setEnabled): 89184 * platform/gtk/ScrollbarGtk.h: 89185 * platform/gtk/WidgetGtk.cpp: 89186 * platform/mac/ScrollbarMac.h: 89187 * platform/mac/ScrollbarMac.mm: 89188 (WebCore::ScrollbarMac::scrollbarHit): 89189 (WebCore::ScrollbarMac::setEnabled): 89190 * platform/mac/WidgetMac.mm: 89191 * platform/qt/WidgetQt.cpp: 89192 (WebCore::WidgetPrivate::WidgetPrivate): 89193 * platform/win/WidgetWin.cpp: 89194 (WebCore::Widget::Widget): 89195 * platform/wx/WidgetWx.cpp: 89196 89197 2008-09-17 Sam Weinig <sam (a] webkit.org> 89198 89199 Rubber-stamped by David Hyatt. 89200 89201 Split all RenderStyle enums into their own file. 89202 89203 * GNUmakefile.am: 89204 * WebCore.vcproj/WebCore.vcproj: 89205 * WebCore.xcodeproj/project.pbxproj: 89206 * rendering/style/BorderValue.h: 89207 * rendering/style/CollapsedBorderValue.h: 89208 * rendering/style/RenderStyle.h: 89209 * rendering/style/RenderStyleConstants.h: Copied from rendering/style/RenderStyle.h. 89210 (WebCore::): 89211 * rendering/style/StyleCachedImage.h: 89212 * rendering/style/StyleGeneratedImage.h: 89213 * rendering/style/StyleImage.h: 89214 89215 2008-09-17 Steve Falkenburg <sfalken (a] apple.com> 89216 89217 Add back isFrameView check to fix failed assertion during scroll bar teardown. 89218 89219 Reviewed by Dave Hyatt. 89220 89221 * platform/Scrollbar.cpp: 89222 (WebCore::Scrollbar::setParent): 89223 89224 2008-09-17 Brady Eidson <beidson (a] apple.com> 89225 89226 Reviewed by Mac build fix 89227 89228 * WebCore.xcodeproj/project.pbxproj: Send appropriate headers to WebKit 89229 89230 2008-09-17 Steve Falkenburg <sfalken (a] apple.com> 89231 89232 Fix build. 89233 89234 * platform/win/ScrollViewWin.cpp: 89235 (WebCore::ScrollView::setParentVisible): 89236 * plugins/win/PluginViewWin.cpp: 89237 (WebCore::PluginView::init): 89238 89239 2008-09-17 Holger Hans Peter Freyther <zecke (a] selfish.org> 89240 89241 Reviewed by Simon. 89242 89243 [QtWebKit] Implement error handling in TextCodecQt::decode 89244 Use the QTextCodec parsing state to set the sawError out variable. This 89245 is needed to pass Test 70 of acid3. The test case for this bug is 89246 fast/encoding/invalid-xml.html that is now partially passed. To pass 89247 it completely the Qt text codecs need to be adjusted to have proper 89248 error handling. 89249 89250 * platform/text/qt/TextCodecQt.cpp: 89251 (WebCore::TextCodecQt::decode): 89252 89253 2008-09-17 Sam Weinig <sam (a] webkit.org> 89254 89255 Rubber-stamped by Dave Hyatt. 89256 89257 Split BorderData, BorderValue, CollapsedBorderValue, OutlineValue and StyleSurroundData 89258 out of RenderStyle.h/cpp 89259 89260 * GNUmakefile.am: 89261 * WebCore.pro: 89262 * WebCore.vcproj/WebCore.vcproj: 89263 * WebCore.xcodeproj/project.pbxproj: 89264 * WebCoreSources.bkl: 89265 * rendering/style/BorderData.h: Copied from rendering/style/RenderStyle.h. 89266 (WebCore::BorderData::hasBorderRadius): 89267 (WebCore::BorderData::borderLeftWidth): 89268 (WebCore::BorderData::borderRightWidth): 89269 (WebCore::BorderData::borderTopWidth): 89270 (WebCore::BorderData::borderBottomWidth): 89271 (WebCore::BorderData::operator!=): 89272 * rendering/style/BorderValue.h: Copied from rendering/style/RenderStyle.h. 89273 (WebCore::): 89274 (WebCore::BorderValue::BorderValue): 89275 (WebCore::BorderValue::nonZero): 89276 (WebCore::BorderValue::isTransparent): 89277 (WebCore::BorderValue::isVisible): 89278 * rendering/style/CollapsedBorderValue.h: Copied from rendering/style/RenderStyle.h. 89279 (WebCore::): 89280 (WebCore::CollapsedBorderValue::CollapsedBorderValue): 89281 (WebCore::CollapsedBorderValue::operator==): 89282 * rendering/style/OutlineValue.h: Copied from rendering/style/RenderStyle.h. 89283 (WebCore::OutlineValue::OutlineValue): 89284 * rendering/style/RenderStyle.cpp: 89285 * rendering/style/RenderStyle.h: 89286 * rendering/style/StyleSurroundData.cpp: Copied from rendering/style/RenderStyle.cpp. 89287 * rendering/style/StyleSurroundData.h: Copied from rendering/style/RenderStyle.h. 89288 (WebCore::StyleSurroundData::operator!=): 89289 89290 2008-09-17 Beth Dakin <bdakin (a] apple.com> 89291 89292 Reviewed by Darin Adler. 89293 89294 This is a better fix for: Invalid CSS code crashes Safari 89295 https://bugs.webkit.org/show_bug.cgi?id=20512 89296 89297 The spec indicates that the only valid input for a counter is a 89298 number or an identifier. So that is exactly what we allow. 89299 89300 * css/CSSParser.cpp: 89301 (WebCore::CSSParser::parseCounterContent): 89302 89303 2008-09-17 Alp Toker <alp (a] nuanti.com> 89304 89305 GTK+ build fix. Adapt to use PlatformWidget functions. 89306 89307 * platform/gtk/ScrollViewGtk.cpp: 89308 (WebCore::ScrollViewScrollbar::geometryChanged): 89309 (WebCore::ScrollView::addChild): 89310 (WebCore::ScrollView::removeChild): 89311 * platform/gtk/ScrollbarGtk.cpp: 89312 (ScrollbarGtk::ScrollbarGtk): 89313 (ScrollbarGtk::~ScrollbarGtk): 89314 (ScrollbarGtk::geometryChanged): 89315 89316 2008-09-17 Sam Weinig <sam (a] webkit.org> 89317 89318 Reviewed by Adele Peterson. 89319 89320 Patch for <rdar://problem/6133884> 89321 Calling window.resizeTo() on a subframe shouldn't change the window size 89322 89323 Test: fast/dom/Window/window-resize-and-move-sub-frame.html 89324 89325 * page/DOMWindow.cpp: 89326 (WebCore::DOMWindow::moveBy): 89327 (WebCore::DOMWindow::moveTo): 89328 (WebCore::DOMWindow::resizeBy): 89329 (WebCore::DOMWindow::resizeTo): 89330 89331 2008-09-17 Beth Dakin <bdakin (a] apple.com> 89332 89333 Reviewed by Adam Roben. 89334 89335 Fix for https://bugs.webkit.org/show_bug.cgi?id=20512 Invalid CSS 89336 code crashes Safari 89337 and corresponding: <rdar://problem/6173832> 89338 89339 Reading through the spec, it seems like a function is not valid 89340 input for a counter. So this patch checks for that and bails in the 89341 case of invalid input. 89342 89343 * css/CSSParser.cpp: 89344 (WebCore::CSSParser::parseCounterContent): 89345 89346 2008-09-17 Greg Bolsinga <bolsinga (a] apple.com> 89347 89348 Reviewed by Antti Koivisto. 89349 89350 Fix <rdar://problem/6227089> 89351 Crash in WebCore::Frame::setNeedsReapplyStyles() 89352 89353 View is null checked elsewhere too. 89354 89355 * page/Frame.cpp: 89356 (WebCore::Frame::setNeedsReapplyStyles): 89357 89358 2008-09-17 David Hyatt <hyatt (a] apple.com> 89359 89360 Make the notion of having a native widget backing a Widget cross-platform. 89361 The PlatformWidget abstraction (which already existed) is used for this. 89362 Windows = HWND 89363 Qt = QWidget 89364 Mac = NSView 89365 wx = wxWindow 89366 Gtk = GtkWidget 89367 89368 There are new cross-platform methods that replace all of the unique 89369 platform-specific methods. 89370 platformWidget() 89371 setPlatformWidget() 89372 89373 For plugins, on every platform except Qt on Windows, the plugin's native 89374 widget is now stored in the Widget base class. Since Qt on Windows uses 89375 HWNDs for plugins instead of QWidget, it is the only platform to keep the 89376 m_window variable in PluginView. 89377 89378 Reviewed by Sam Weinig 89379 89380 * WebCore.base.exp: 89381 * bindings/js/ScriptControllerMac.mm: 89382 (WebCore::ScriptController::createScriptInstanceForWidget): 89383 * page/mac/AccessibilityObjectWrapper.mm: 89384 (-[AccessibilityObjectWrapper attachmentView]): 89385 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 89386 * page/mac/EventHandlerMac.mm: 89387 (WebCore::EventHandler::passMouseDownEventToWidget): 89388 (WebCore::EventHandler::mouseDownViewIfStillGood): 89389 (WebCore::EventHandler::passWheelEventToWidget): 89390 (WebCore::EventHandler::sendFakeEventsAfterWidgetTracking): 89391 * platform/Widget.cpp: 89392 (WebCore::Widget::init): 89393 (WebCore::Widget::setParent): 89394 (WebCore::Widget::releasePlatformWidget): 89395 (WebCore::Widget::retainPlatformWidget): 89396 * platform/Widget.h: 89397 (WebCore::Widget::platformWidget): 89398 (WebCore::Widget::setPlatformWidget): 89399 * platform/gtk/WidgetGtk.cpp: 89400 (WebCore::Widget::Widget): 89401 (WebCore::Widget::setFocus): 89402 (WebCore::gdkDrawable): 89403 (WebCore::Widget::setCursor): 89404 (WebCore::Widget::show): 89405 (WebCore::Widget::hide): 89406 (WebCore::Widget::setEnabled): 89407 (WebCore::Widget::isEnabled): 89408 (WebCore::Widget::paint): 89409 * platform/mac/PlatformScreenMac.mm: 89410 (WebCore::screenRect): 89411 (WebCore::screenAvailableRect): 89412 * platform/mac/ScrollViewMac.mm: 89413 (WebCore::ScrollView::scrollView): 89414 (WebCore::ScrollView::update): 89415 (WebCore::ScrollView::inWindow): 89416 * platform/mac/ScrollbarMac.mm: 89417 (WebCore::ScrollbarMac::ScrollbarMac): 89418 (WebCore::ScrollbarMac::~ScrollbarMac): 89419 (WebCore::ScrollbarMac::updateThumbPosition): 89420 (WebCore::ScrollbarMac::updateThumbProportion): 89421 (WebCore::ScrollbarMac::scrollbarHit): 89422 * platform/mac/WidgetMac.mm: 89423 (WebCore::Widget::Widget): 89424 (WebCore::Widget::setEnabled): 89425 (WebCore::Widget::isEnabled): 89426 (WebCore::Widget::setFocus): 89427 (WebCore::Widget::getOuterView): 89428 (WebCore::Widget::paint): 89429 (WebCore::Widget::invalidate): 89430 (WebCore::Widget::invalidateRect): 89431 (WebCore::Widget::setIsSelected): 89432 (WebCore::Widget::releasePlatformWidget): 89433 (WebCore::Widget::retainPlatformWidget): 89434 * platform/qt/WidgetQt.cpp: 89435 (WebCore::WidgetPrivate::WidgetPrivate): 89436 (WebCore::Widget::Widget): 89437 (WebCore::Widget::setFrameGeometry): 89438 (WebCore::Widget::show): 89439 (WebCore::Widget::hide): 89440 (WebCore::Widget::isEnabled): 89441 (WebCore::Widget::setEnabled): 89442 (WebCore::Widget::invalidateRect): 89443 (WebCore::Widget::containingWindow): 89444 * platform/win/WidgetWin.cpp: 89445 (WebCore::Widget::Widget): 89446 * platform/wx/WidgetWx.cpp: 89447 (WebCore::Widget::Widget): 89448 (WebCore::Widget::frameGeometry): 89449 (WebCore::Widget::setFocus): 89450 (WebCore::Widget::setCursor): 89451 (WebCore::Widget::show): 89452 (WebCore::Widget::hide): 89453 (WebCore::Widget::setFrameGeometry): 89454 (WebCore::Widget::setEnabled): 89455 (WebCore::Widget::isEnabled): 89456 (WebCore::Widget::invalidate): 89457 (WebCore::Widget::invalidateRect): 89458 (WebCore::Widget::paint): 89459 * plugins/PluginView.cpp: 89460 (WebCore::PluginView::PluginView): 89461 * plugins/PluginView.h: 89462 (WebCore::PluginView::platformPluginWidget): 89463 * plugins/gtk/PluginViewGtk.cpp: 89464 (WebCore::PluginView::updateWindow): 89465 (WebCore::PluginView::setFocus): 89466 (WebCore::PluginView::show): 89467 (WebCore::PluginView::hide): 89468 (WebCore::PluginView::setParent): 89469 (WebCore::PluginView::setNPWindowRect): 89470 (WebCore::PluginView::setParentVisible): 89471 (WebCore::PluginView::getValue): 89472 (WebCore::PluginView::forceRedraw): 89473 (WebCore::PluginView::init): 89474 * plugins/qt/PluginViewQt.cpp: 89475 (WebCore::PluginView::updateWindow): 89476 (WebCore::PluginView::setFocus): 89477 (WebCore::PluginView::show): 89478 (WebCore::PluginView::hide): 89479 (WebCore::PluginView::setParent): 89480 (WebCore::PluginView::setNPWindowRect): 89481 (WebCore::PluginView::setParentVisible): 89482 (WebCore::PluginView::getValue): 89483 (WebCore::PluginView::~PluginView): 89484 (WebCore::PluginView::init): 89485 * plugins/win/PluginViewWin.cpp: 89486 (WebCore::PluginView::updateWindow): 89487 (WebCore::PluginView::setFocus): 89488 (WebCore::PluginView::show): 89489 (WebCore::PluginView::hide): 89490 (WebCore::PluginView::paint): 89491 (WebCore::PluginView::setParent): 89492 (WebCore::PluginView::setParentVisible): 89493 (WebCore::PluginView::setNPWindowRect): 89494 (WebCore::PluginView::stop): 89495 (WebCore::PluginView::invalidateRect): 89496 (WebCore::PluginView::forceRedraw): 89497 (WebCore::PluginView::~PluginView): 89498 (WebCore::PluginView::init): 89499 89500 2008-09-17 Sam Weinig <sam (a] webkit.org> 89501 89502 Fix assert. 89503 89504 * platform/Widget.cpp: 89505 (WebCore::Widget::setParent): 89506 89507 2008-09-17 David Hyatt <hyatt (a] apple.com> 89508 89509 Beginnings of Widget refactoring (in order to make the mixing of 89510 widgets with and without corresponding native widgets more cross-platform). 89511 89512 This first patch makes the concept of a parent ScrollView cross-platform. 89513 89514 Note the similarity of the show/hide methods on the three PluginViews. This 89515 will be refactored better in a later patch so that they can all share 89516 a base class Widget show/hide method. For now the changes were made 89517 simply to be able to bring WidgetWin's setParent method up into Widget. 89518 89519 Reviewed by Sam Weinig 89520 89521 * WebCore.base.exp: 89522 * platform/ScrollView.h: 89523 * platform/Widget.cpp: 89524 (WebCore::Widget::init): 89525 (WebCore::Widget::setParent): 89526 * platform/Widget.h: 89527 (WebCore::Widget::isSelfVisible): 89528 (WebCore::Widget::isParentVisible): 89529 (WebCore::Widget::isVisible): 89530 (WebCore::Widget::setParentVisible): 89531 (WebCore::Widget::isPluginView): 89532 (WebCore::Widget::parent): 89533 (WebCore::Widget::handleEvent): 89534 (WebCore::Widget::geometryChanged): 89535 * platform/gtk/WidgetGtk.cpp: 89536 (WebCore::Widget::Widget): 89537 * platform/mac/ScrollViewMac.mm: 89538 (WebCore::ScrollView::addChild): 89539 (WebCore::ScrollView::removeChild): 89540 * platform/mac/ScrollbarMac.mm: 89541 (WebCore::ScrollbarMac::~ScrollbarMac): 89542 * platform/mac/WidgetMac.mm: 89543 (WebCore::Widget::Widget): 89544 (WebCore::Widget::~Widget): 89545 * platform/qt/WidgetQt.cpp: 89546 (WebCore::WidgetPrivate::WidgetPrivate): 89547 (WebCore::Widget::Widget): 89548 (WebCore::Widget::topLevel): 89549 * platform/win/ScrollViewWin.cpp: 89550 (WebCore::ScrollView::ScrollViewPrivate::ScrollViewPrivate): 89551 (WebCore::ScrollView::setAncestorVisible): 89552 (WebCore::ScrollView::show): 89553 (WebCore::ScrollView::hide): 89554 * platform/win/WidgetWin.cpp: 89555 (WebCore::Widget::Widget): 89556 (WebCore::Widget::setParent): 89557 * platform/wx/WidgetWx.cpp: 89558 (WebCore::Widget::Widget): 89559 * plugins/PluginView.cpp: 89560 (WebCore::PluginView::PluginView): 89561 * plugins/PluginView.h: 89562 * plugins/gtk/PluginViewGtk.cpp: 89563 (WebCore::PluginView::show): 89564 (WebCore::PluginView::hide): 89565 (WebCore::PluginView::setParentVisible): 89566 * plugins/qt/PluginViewQt.cpp: 89567 (WebCore::PluginView::show): 89568 (WebCore::PluginView::hide): 89569 (WebCore::PluginView::setParentVisible): 89570 * plugins/win/PluginViewWin.cpp: 89571 (WebCore::PluginView::show): 89572 (WebCore::PluginView::hide): 89573 (WebCore::PluginView::setParentVisible): 89574 89575 2008-09-17 Alexey Proskuryakov <ap (a] webkit.org> 89576 89577 Reviewed by Adam Roben. 89578 89579 <rdar://problem/6219577> Spew in console at launch about encoding mappings when running with ICU 4.0 89580 89581 * platform/text/TextCodecICU.cpp: 89582 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated for new encoding names. 89583 89584 2008-09-17 Tor Arne Vestb <tavestbo (a] trolltech.com> 89585 89586 Fix the QtWebKit/Mac build 89587 89588 * platform/qt/ScrollViewQt.cpp: add include 89589 89590 2008-09-17 David Hyatt <hyatt (a] apple.com> 89591 89592 Add a #define to control whether or not to use an NSScroller on Mac. 89593 This ifdef will allow the new NSView-less NSScroller on Mac to be 89594 developed side by side with the current one. 89595 89596 The new scroller paints a debug red if turned on (although due to 89597 Widget issues you won't see anything paint yet). 89598 89599 Reviewed by olliej 89600 89601 * platform/Scrollbar.cpp: 89602 * platform/Scrollbar.h: 89603 * platform/mac/ScrollbarMac.h: 89604 * platform/mac/ScrollbarMac.mm: 89605 * platform/mac/ScrollbarThemeMac.cpp: 89606 (WebCore::ScrollbarThemeMac::paint): 89607 * platform/mac/ScrollbarThemeMac.h: 89608 89609 2008-09-16 Marco Barisione <marco.barisione (a] collabora.co.uk> 89610 89611 Reviewed by Alp Toker. 89612 89613 http://bugs.webkit.org/show_bug.cgi?id=20854 89614 [GTK] Windows can be not realized in ScrollView::update 89615 89616 Do not call gdk_window_invalidate_rect on a non-realized GtkWidget. 89617 89618 * platform/gtk/ScrollViewGtk.cpp: 89619 (WebCore::ScrollView::update): 89620 89621 2008-09-16 Alp Toker <alp (a] nuanti.com> 89622 89623 Suggested by Dave Hyatt. 89624 89625 Build fix and cleanup. Rename ScrollBar to Scrollbar. 89626 89627 * GNUmakefile.am: 89628 * WebCore.pro: 89629 * WebCore.vcproj/WebCore.vcproj: 89630 * WebCore.xcodeproj/project.pbxproj: 89631 * WebCoreSources.bkl: 89632 * editing/EditorCommand.cpp: 89633 * page/EventHandler.cpp: 89634 * page/gtk/EventHandlerGtk.cpp: 89635 * page/mac/EventHandlerMac.mm: 89636 * page/mac/FrameMac.mm: 89637 * page/qt/EventHandlerQt.cpp: 89638 * page/wx/EventHandlerWx.cpp: 89639 * platform/PopupMenu.h: 89640 * platform/ScrollBar.cpp: Removed. 89641 * platform/ScrollBar.h: Removed. 89642 * platform/Scrollbar.cpp: Copied from WebCore/platform/ScrollBar.cpp. 89643 * platform/Scrollbar.h: Copied from WebCore/platform/ScrollBar.h. 89644 * platform/gtk/ScrollbarGtk.cpp: 89645 (ScrollbarGtk::ScrollbarGtk): 89646 * platform/gtk/ScrollbarGtk.h: 89647 * platform/mac/ScrollbarMac.h: 89648 * platform/qt/ScrollViewQt.cpp: 89649 * platform/qt/ScrollbarQt.cpp: 89650 * platform/qt/ScrollbarThemeQt.cpp: 89651 * platform/win/PlatformScrollBar.h: 89652 * platform/win/PopupMenuWin.cpp: 89653 * platform/win/ScrollViewWin.cpp: 89654 * platform/win/ScrollbarThemeWin.cpp: 89655 * platform/wx/ScrollViewWx.cpp: 89656 * platform/wx/TemporaryLinkStubs.cpp: 89657 * rendering/HitTestResult.cpp: 89658 * rendering/RenderLayer.cpp: 89659 * rendering/RenderTextControl.cpp: 89660 89661 2008-09-16 David Hyatt <hyatt (a] apple.com> 89662 89663 Fix Qt build bustage by making moveThumb a member of Scrollbar so that 89664 it can be called from ScrollbarQt. 89665 89666 * platform/ScrollBar.cpp: 89667 (WebCore::Scrollbar::moveThumb): 89668 (WebCore::Scrollbar::handleMouseMoveEvent): 89669 (WebCore::Scrollbar::handleMousePressEvent): 89670 * platform/ScrollBar.h: 89671 * platform/qt/ScrollViewQt.cpp: 89672 * platform/qt/ScrollbarQt.cpp: 89673 (WebCore::Scrollbar::handleContextMenuEvent): 89674 89675 2008-09-16 David Hyatt <hyatt (a] apple.com> 89676 89677 Eliminate PlatformScrollbar. Mac and Gtk now have subclasses for their 89678 native-widget scrollbars (ScrollbarMac and ScrollbarGtk). Other platforms 89679 now just use Scrollbar. 89680 89681 Reviewed by Sam Weinig 89682 89683 * GNUmakefile.am: 89684 * WebCore.pro: 89685 * WebCore.vcproj/WebCore.vcproj: 89686 * WebCore.xcodeproj/project.pbxproj: 89687 * page/mac/FrameMac.mm: 89688 * platform/PopupMenu.h: 89689 (WebCore::PopupMenu::scrollbar): 89690 * platform/ScrollBar.cpp: 89691 (WebCore::createNativeScrollbar): 89692 * platform/ScrollBar.h: 89693 * platform/gtk/PlatformScrollBar.h: Removed. 89694 * platform/gtk/PlatformScrollBarGtk.cpp: Removed. 89695 * platform/gtk/ScrollbarGtk.cpp: Copied from platform/gtk/PlatformScrollBarGtk.cpp. 89696 (gtkScrollEventCallback): 89697 (ScrollbarGtk::ScrollbarGtk): 89698 (ScrollbarGtk::~ScrollbarGtk): 89699 (ScrollbarGtk::updateThumbPosition): 89700 (ScrollbarGtk::updateThumbProportion): 89701 (ScrollbarGtk::setFrameGeometry): 89702 (ScrollbarGtk::geometryChanged): 89703 (ScrollbarGtk::gtkValueChanged): 89704 * platform/gtk/ScrollbarGtk.h: Copied from platform/gtk/PlatformScrollBar.h. 89705 * platform/mac/PlatformScrollBar.h: Removed. 89706 * platform/mac/PlatformScrollBarMac.mm: Removed. 89707 * platform/mac/ScrollbarMac.h: Copied from platform/mac/PlatformScrollBar.h. 89708 * platform/mac/ScrollbarMac.mm: Copied from platform/mac/PlatformScrollBarMac.mm. 89709 (-[WebCoreScrollBar initWithScrollbarMac:]): 89710 (-[WebCoreScrollBar detachScrollbarMac]): 89711 (WebCore::Scrollbar::createNativeScrollbar): 89712 (WebCore::ScrollbarMac::ScrollbarMac): 89713 (WebCore::ScrollbarMac::~ScrollbarMac): 89714 (WebCore::ScrollbarMac::updateThumbPosition): 89715 (WebCore::ScrollbarMac::updateThumbProportion): 89716 (WebCore::ScrollbarMac::scrollbarHit): 89717 * platform/qt/PlatformScrollBar.h: Removed. 89718 * platform/qt/PlatformScrollBarQt.cpp: Removed. 89719 * platform/qt/ScrollbarQt.cpp: Copied from platform/qt/PlatformScrollBarQt.cpp. 89720 (WebCore::Scrollbar::handleContextMenuEvent): 89721 * rendering/HitTestResult.cpp: 89722 * rendering/RenderLayer.cpp: 89723 (WebCore::RenderLayer::createScrollbar): 89724 (WebCore::RenderLayer::destroyScrollbar): 89725 * rendering/RenderLayer.h: 89726 * rendering/RenderListBox.cpp: 89727 (WebCore::RenderListBox::~RenderListBox): 89728 (WebCore::RenderListBox::updateFromElement): 89729 (WebCore::RenderListBox::isPointInOverflowControl): 89730 * rendering/RenderObject.h: 89731 * rendering/RenderTextControl.cpp: 89732 89733 2008-09-16 David Hyatt <hyatt (a] apple.com> 89734 89735 Make the scrollbar resizer-dodging logic cross-platform in the 89736 Scrollbar class. 89737 89738 Reviewed by Sam Weinig 89739 89740 * platform/ScrollBar.cpp: 89741 (WebCore::Scrollbar::setFrameGeometry): 89742 (WebCore::Scrollbar::setParent): 89743 (WebCore::Scrollbar::windowClipRect): 89744 * platform/ScrollBar.h: 89745 * platform/ScrollView.h: 89746 (WebCore::ScrollView::windowResizerRect): 89747 (WebCore::ScrollView::resizerOverlapsContent): 89748 (WebCore::ScrollView::adjustOverlappingScrollbarCount): 89749 * platform/Widget.h: 89750 (WebCore::Widget::setParent): 89751 * platform/mac/WidgetMac.mm: 89752 (WebCore::Widget::convertToContainingWindow): 89753 * platform/win/PlatformScrollBar.h: 89754 * platform/win/PlatformScrollBarWin.cpp: 89755 89756 2008-09-16 Dan Bernstein <mitz (a] apple.com> 89757 89758 Reviewed by Darin Adler. 89759 89760 - fix https://bugs.webkit.org/show_bug.cgi?id=15129 89761 <rdar://problem/4644824> adding a new line with DOM does unnecessary additional repaint 89762 89763 Covered by fast/repaint/4776765.html 89764 89765 * rendering/RenderBlock.cpp: 89766 (WebCore::RenderBlock::layoutBlock): Avoid repainting this object if it 89767 did not have layout in the beginning. 89768 (WebCore::RenderBlock::layoutBlockChildren): If a child did not have 89769 layout in the beginning, repaint it in its new position, to compensate 89770 for the above (regardless of whether it "moved"). 89771 * rendering/RenderObject.cpp: 89772 (WebCore::RenderObject::checkForRepaintDuringLayout): Added a comment 89773 about generalizing this fix in the future. 89774 89775 2008-09-16 Dan Bernstein <mitz (a] apple.com> 89776 89777 Reviewed by Dave Hyatt. 89778 89779 - fix https://bugs.webkit.org/show_bug.cgi?id=15384 89780 Div does not notice when grandparent changes height 89781 89782 Test: fast/block/basic/quirk-percent-height-grandchild.html 89783 89784 - fix https://bugs.webkit.org/show_bug.cgi?id=20714 89785 Resizing Gmail inbox vertically results in whitespace at the bottom of the window 89786 89787 Test: fast/replaced/percent-height-in-anonymous-block.html 89788 89789 Added a two-way mapping between boxes with percentage heights and 89790 their non-parent ancestors up to the one the height is computed relative 89791 to. In quirks mode (the first bug), this can be any number of containing 89792 block with auto height. In strict mode (the second bug) this can be 89793 the containing block of an anonymous block containing a replaced 89794 element. 89795 89796 * rendering/RenderBlock.cpp: 89797 (WebCore::RenderBlock::~RenderBlock): Added code to remove the all the 89798 mapping to/from this block to percentage-height descendants. 89799 (WebCore::RenderBlock::layoutBlockChildren): Added code to mark 89800 percentage-height descendants (and their containing block ancestry chain 89801 up to this block) for layout. This ensures that those descendants whose 89802 height depends on the height of this block (or an ancestor) are updated. 89803 (WebCore::RenderBlock::addPercentHeightDescendant): Added. Establishes 89804 a two-way mapping between this block and the given box. 89805 (WebCore::RenderBlock::removePercentHeightDescendant): Added. Removes 89806 all the mapping to/from this box. 89807 * rendering/RenderBlock.h: 89808 * rendering/RenderBox.cpp: 89809 (WebCore::RenderBox::setStyle): Added calls to 89810 removePercentHeightDescendant() when style changes and the box 89811 previously had a percentage height. An exception is when the style 89812 change does not require layout, in which case the box still has 89813 a percentage height and the mappings are valid. In all other cases, 89814 any required mappings will be (re-)established during layout. 89815 (WebCore::RenderBox::destroy): Added a call to 89816 removePercentHeightDescendant. 89817 (WebCore::RenderBox::calcPercentageHeight): Added code that, in quirks 89818 mode, if a higher-than-parent containing block is affecting the box's 89819 height, creates a mapping between the box and that block. 89820 (WebCore::RenderBox::calcReplacedHeightUsing): Changed to skip over 89821 anonymous containing blocks, if any, and when that happens, use 89822 addPercentHeightDescendant() to ensure that the non-anonymous block 89823 is aware of the dependent percent-height box. 89824 89825 2008-09-16 Dirk Schulze <vbs85 (a] gmx.de> 89826 89827 Reviewed by Oliver Hunt and Alp Toker. 89828 89829 Implemented toDataURL in Cairo. Only PNG support 89830 at the moment. 89831 89832 Qt, Cairo and wx require toDataURL implementations 89833 https://bugs.webkit.org/show_bug.cgi?id=17719 89834 89835 * platform/MIMETypeRegistry.cpp: 89836 (WebCore::initializeSupportedImageMIMETypesForEncoding): 89837 * platform/graphics/cairo/ImageBufferCairo.cpp: 89838 (WebCore::ImageBuffer::ImageBuffer): 89839 (WebCore::writeFunction): 89840 (WebCore::ImageBuffer::toDataURL): 89841 89842 2008-09-16 Tor Arne Vestb <tavestbo (a] trolltech.com> 89843 89844 Reviewed by Simon. 89845 89846 Hide unused media element controls in the QtWebKit port 89847 89848 * platform/qt/html4-adjustments-qt.css 89849 89850 2008-09-16 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 89851 89852 Reviewed by Simon. 89853 89854 Fix compilation of the Qt scrollbar code. 89855 89856 * platform/qt/PlatformScrollBarQt.cpp: 89857 (WebCore::scPart): 89858 (WebCore::styleOptionSlider): 89859 (WebCore::thumbLength): 89860 (WebCore::pixelPosToRangeValue): 89861 (WebCore::PlatformScrollbar::handleContextMenuEvent): 89862 89863 2008-09-16 Adam Treat <treat (a] kde.org> 89864 89865 Reviewed by Anders Carlsson. 89866 89867 Prevent accesses off of the end of the buffer introduced in r36450 89868 and when checking for descriptions of mime. Also, coding style fix. 89869 89870 * plugins/qt/PluginPackageQt.cpp: 89871 (WebCore::PluginPackage::fetchInfo): 89872 89873 2008-09-15 Rob Buis <buis (a] kde.org> 89874 89875 Reviewed by Eric. 89876 89877 https://bugs.webkit.org/show_bug.cgi?id=20634 89878 SVG transform attribute is ignored by <use> in <clipPath> 89879 89880 Transform the paths with the local transform when part 89881 of a clip path. 89882 89883 Test: svg/custom/use-clipped-transform.svg 89884 89885 * svg/SVGClipPathElement.cpp: 89886 (WebCore::SVGClipPathElement::canvasResource): 89887 * svg/SVGStyledTransformableElement.cpp: 89888 (WebCore::SVGStyledTransformableElement::toClipPath): 89889 * svg/SVGStyledTransformableElement.h: 89890 89891 2008-09-15 Dave Hyatt <hyatt (a] apple.com> 89892 89893 Convert Qt over to its ScrollbarTheme. Add cross-platform support for jumping the thumb location directly 89894 to a pressed location on the track (this is done with the middle mouse on Qt and with Shift-Click on Windows). 89895 89896 Reviewed by Sam Weinig 89897 89898 * platform/ScrollBar.cpp: 89899 (WebCore::thumbUnderMouse): 89900 (WebCore::Scrollbar::autoscrollPressedPart): 89901 (WebCore::Scrollbar::startTimerIfNeeded): 89902 (WebCore::moveThumb): 89903 (WebCore::Scrollbar::handleMouseMoveEvent): 89904 (WebCore::Scrollbar::handleMousePressEvent): 89905 * platform/ScrollBar.h: 89906 (WebCore::Scrollbar::pressedPos): 89907 (WebCore::Scrollbar::pixelStep): 89908 (WebCore::Scrollbar::setPressedPos): 89909 * platform/ScrollbarTheme.h: 89910 (WebCore::ScrollbarTheme::thumbPosition): 89911 (WebCore::ScrollbarTheme::thumbLength): 89912 (WebCore::ScrollbarTheme::trackPosition): 89913 (WebCore::ScrollbarTheme::trackLength): 89914 * platform/ScrollbarThemeComposite.cpp: 89915 (WebCore::ScrollbarThemeComposite::trackPosition): 89916 * platform/ScrollbarThemeComposite.h: 89917 * platform/qt/PlatformScrollBarQt.cpp: 89918 (WebCore::PlatformScrollbar::PlatformScrollbar): 89919 (WebCore::): 89920 * platform/qt/ScrollbarThemeQt.cpp: 89921 (WebCore::styleOptionSlider): 89922 (WebCore::ScrollbarThemeQt::hitTest): 89923 (WebCore::ScrollbarThemeQt::shouldCenterOnThumb): 89924 (WebCore::ScrollbarThemeQt::invalidatePart): 89925 (WebCore::ScrollbarThemeQt::thumbPosition): 89926 (WebCore::): 89927 * platform/qt/ScrollbarThemeQt.h: 89928 * platform/win/ScrollbarThemeSafari.cpp: 89929 (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb): 89930 * platform/win/ScrollbarThemeSafari.h: 89931 * platform/win/ScrollbarThemeWin.cpp: 89932 (WebCore::ScrollbarThemeWin::shouldCenterOnThumb): 89933 * platform/win/ScrollbarThemeWin.h: 89934 89935 2008-09-15 David Smith <catfish.man (a] gmail.com> 89936 89937 Reviewed by Sam Weinig. 89938 89939 https://bugs.webkit.org/show_bug.cgi?id=20180 89940 89941 Cache the result of parsing the an+b expression in :nth-child(an+b). Roughly a 2x speedup for :nth-child on SlickSpeed. 89942 89943 * GNUmakefile.am: Add CSSNthSelector 89944 * WebCore.pro: Add CSSNthSelector 89945 * WebCore.vcproj/WebCore.vcproj: Add CSSNthSelector 89946 * WebCore.xcodeproj/project.pbxproj: Add CSSNthSelector 89947 * css/CSSGrammar.y: Create CSSNthSelectors instead of CSSSelectors for :nth-* 89948 * css/CSSNthSelector.cpp: Added. 89949 (WebCore::CSSNthSelector::parseNth): Moved from CSSStyleSelector and modified to cache 89950 (WebCore::CSSNthSelector::matchNth): Moved from CSSStyleSelector and modified to use the cache 89951 * css/CSSNthSelector.h: Added. 89952 (WebCore::CSSNthSelector::CSSNthSelector): 89953 (WebCore::CSSNthSelector::~CSSNthSelector): 89954 * css/CSSParser.cpp: 89955 (WebCore::CSSParser::createFloatingNthSelector): 89956 * css/CSSParser.h: 89957 * css/CSSSelector.h: Use the free bit here to store a flag for CSSNthSelector 89958 (WebCore::CSSSelector::CSSSelector): 89959 * css/CSSStyleSelector.cpp: 89960 (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Take advantage of knowing that all :nth-* selectors are CSSNthSelectors 89961 89962 2008-09-15 Matt Lilek <webkit (a] mattlilek.com> 89963 89964 Reviewed by Tim Hatcher. 89965 89966 Clean up some inspector JS callbacks to remove an extra return. 89967 89968 * page/InspectorController.cpp: 89969 (WebCore::hideDOMNodeHighlight): 89970 (WebCore::loaded): 89971 (WebCore::unloading): 89972 (WebCore::attach): 89973 (WebCore::detach): 89974 (WebCore::startDebuggingAndReloadInspectedPage): 89975 (WebCore::stopDebugging): 89976 (WebCore::debuggerAttached): 89977 (WebCore::pauseOnExceptions): 89978 (WebCore::pauseInDebugger): 89979 (WebCore::resumeDebugger): 89980 (WebCore::stepOverStatementInDebugger): 89981 (WebCore::stepIntoStatementInDebugger): 89982 (WebCore::stepOutOfFunctionInDebugger): 89983 (WebCore::isWindowVisible): 89984 (WebCore::closeWindow): 89985 89986 2008-09-15 Dave Hyatt <hyatt (a] apple.com> 89987 89988 Completely switch Windows scrollbars over to ScrollbarTheme. The Aqua windows scrollbar and native scrollbar 89989 now share most of their code. 89990 89991 Also removing mini size scrollbar support, since it would have crashed Windows had it ever been used, and it 89992 also is never used in our code anyway. 89993 89994 Reviewed by Sam Weinig 89995 89996 * WebCore.vcproj/WebCore.vcproj: 89997 * platform/ScrollTypes.h: 89998 (WebCore::): 89999 * platform/ScrollbarThemeComposite.cpp: 90000 (WebCore::ScrollbarThemeComposite::splitTrack): 90001 (WebCore::ScrollbarThemeComposite::thumbLength): 90002 (WebCore::ScrollbarThemeComposite::minimumThumbLength): 90003 * platform/ScrollbarThemeComposite.h: 90004 * platform/mac/PlatformScrollBarMac.mm: 90005 (NSControlSizeForScrollBarControlSize): 90006 * platform/win/PlatformScrollBar.h: 90007 * platform/win/PlatformScrollBarSafari.cpp: Removed. 90008 * platform/win/PlatformScrollBarWin.cpp: 90009 (WebCore::PlatformScrollbar::PlatformScrollbar): 90010 * platform/win/ScrollbarThemeSafari.cpp: 90011 (WebCore::ScrollbarTheme::nativeTheme): 90012 (WebCore::): 90013 (WebCore::scrollbarControlStateFromThemeState): 90014 (WebCore::ScrollbarThemeSafari::hasButtons): 90015 (WebCore::ScrollbarThemeSafari::hasThumb): 90016 (WebCore::buttonRepaintRect): 90017 (WebCore::ScrollbarThemeSafari::backButtonRect): 90018 (WebCore::ScrollbarThemeSafari::forwardButtonRect): 90019 (WebCore::trackRepaintRect): 90020 (WebCore::ScrollbarThemeSafari::trackRect): 90021 (WebCore::ScrollbarThemeSafari::minimumThumbLength): 90022 (WebCore::ScrollbarThemeSafari::paintTrack): 90023 (WebCore::ScrollbarThemeSafari::paintButton): 90024 (WebCore::ScrollbarThemeSafari::paintThumb): 90025 * platform/win/ScrollbarThemeSafari.h: 90026 * platform/win/ScrollbarThemeWin.cpp: 90027 * platform/win/ScrollbarThemeWin.h: 90028 90029 2008-09-15 Chris Fleizach <cfleizach (a] apple.com> 90030 90031 Reviewed by Darin Adler, Beth Dakin 90032 90033 <rdar://problem/4003789> Expose lists as AXList 90034 <rdar://problem/5707399> VO: Definition lists not announced in Safari 90035 90036 Lists are now exposed through AX. On the mac (in SnowLeopard) they use two new subroles 90037 AXContentList for <ul>, <ol> and AXDefinitionList for <dl> 90038 Inside the definition list, each <dt> "term" has an accessibility description ("term"), 90039 as does each <dd> tag ("definition") 90040 90041 Test: accessibility/lists.html 90042 90043 * GNUmakefile.am: 90044 * WebCore.pro: 90045 * WebCore.vcproj/WebCore.vcproj: 90046 * WebCore.xcodeproj/project.pbxproj: 90047 * WebCoreSources.bkl: 90048 * page/AXObjectCache.cpp: 90049 * page/AccessibilityList.cpp: Added. 90050 * page/AccessibilityList.h: Added. 90051 * page/AccessibilityObject.h: 90052 * page/AccessibilityRenderObject.cpp: 90053 * page/AccessibilityTable.cpp: 90054 * page/mac/AccessibilityObjectWrapper.mm: 90055 * page/mac/WebCoreViewFactory.h: 90056 * platform/LocalizedStrings.h: 90057 * platform/mac/LocalizedStringsMac.mm: 90058 * platform/qt/Localizations.cpp: 90059 90060 2008-09-15 Nikolas Zimmermann <zimmermann (a] kde.org> 90061 90062 Reviewed by Eric. 90063 90064 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20865 90065 Prepare HTMLScriptElement & SVGScriptElement unification, and unification of event handling. 90066 90067 Several renames: 90068 dispatchHTMLEvent -> dispatchEventForType 90069 setHTMLEventListener -> setEventListenerForType 90070 getHTMLEventListener -> eventListenerForType 90071 removeHTMLEventListener -> removeEventListenerForType 90072 isHTMLEventListener -> isAttachedToEventTargetNode 90073 ... 90074 90075 Similar renames for the dispatch/get/set/*Window*Event functions. 90076 Kill JSSVGLazyEventListener and merge with JSLazyEventListener. 90077 90078 Most important change: Rename setHTMLEventListener to setEventListenerForTypeAndAttribute, 90079 as there exists a generic createEventListener() method now, taking care of JSLazyEventListener creation. 90080 90081 setHTMLEventListener() used createHTMLEventListener() before and was HTML specific. 90082 SVG is able to use the code as well now. This affects most files in html/. 90083 90084 No functional changes. 90085 90086 * GNUmakefile.am: 90087 * WebCore.pro: 90088 * WebCore.vcproj/WebCore.vcproj: 90089 * WebCore.xcodeproj/project.pbxproj: 90090 * bindings/js/JSDOMWindowBase.cpp: 90091 (WebCore::JSDOMWindowBase::~JSDOMWindowBase): 90092 (WebCore::JSDOMWindowBase::setListener): 90093 (WebCore::JSDOMWindowBase::getListener): 90094 (WebCore::JSDOMWindowBase::findJSEventListener): 90095 (WebCore::JSDOMWindowBase::findOrCreateJSEventListener): 90096 (WebCore::JSDOMWindowBase::findJSUnprotectedEventListener): 90097 (WebCore::JSDOMWindowBase::findOrCreateJSUnprotectedEventListener): 90098 (WebCore::JSDOMWindowBase::jsEventListenersAttachedToEventTargetNodes): 90099 (WebCore::JSDOMWindowBase::jsUnprotectedEventListenersAttachedToEventTargetNodes): 90100 * bindings/js/JSDOMWindowBase.h: 90101 * bindings/js/JSEventListener.cpp: 90102 (WebCore::JSAbstractEventListener::handleEvent): 90103 (WebCore::JSAbstractEventListener::isAttachedToEventTargetNode): 90104 (WebCore::JSUnprotectedEventListener::JSUnprotectedEventListener): 90105 (WebCore::JSUnprotectedEventListener::~JSUnprotectedEventListener): 90106 (WebCore::JSEventListener::JSEventListener): 90107 (WebCore::JSEventListener::~JSEventListener): 90108 (WebCore::JSLazyEventListener::JSLazyEventListener): 90109 (WebCore::eventParameterName): 90110 (WebCore::JSLazyEventListener::parseCode): 90111 (WebCore::getNodeEventListener): 90112 * bindings/js/JSEventListener.h: 90113 (WebCore::JSAbstractEventListener::JSAbstractEventListener): 90114 (WebCore::JSUnprotectedEventListener::create): 90115 (WebCore::JSEventListener::create): 90116 (WebCore::JSLazyEventListener::): 90117 (WebCore::JSLazyEventListener::create): 90118 * bindings/js/JSEventTargetNode.cpp: 90119 (WebCore::JSEventTargetNode::setListener): 90120 (WebCore::JSEventTargetNode::getListener): 90121 * bindings/js/JSSVGLazyEventListener.cpp: Removed. 90122 * bindings/js/JSSVGLazyEventListener.h: Removed. 90123 * bindings/js/ScriptController.cpp: 90124 (WebCore::ScriptController::createHTMLEventHandler): 90125 (WebCore::ScriptController::createSVGEventHandler): 90126 * dom/Document.cpp: 90127 (WebCore::Document::setFocusedNode): 90128 (WebCore::Document::handleWindowEvent): 90129 (WebCore::Document::setWindowEventListenerForType): 90130 (WebCore::Document::windowEventListenerForType): 90131 (WebCore::Document::removeWindowEventListenerForType): 90132 (WebCore::Document::addWindowEventListener): 90133 (WebCore::Document::hasWindowEventListener): 90134 (WebCore::Document::removePendingFrameBeforeUnloadEventCount): 90135 (WebCore::Document::createEventListener): 90136 (WebCore::Document::setWindowEventListenerForTypeAndAttribute): 90137 * dom/Document.h: 90138 * dom/EventListener.h: 90139 (WebCore::EventListener::isAttachedToEventTargetNode): 90140 * dom/EventTargetNode.cpp: 90141 (WebCore::EventTargetNode::dispatchFocusEvent): 90142 (WebCore::EventTargetNode::dispatchBlurEvent): 90143 (WebCore::EventTargetNode::dispatchEventForType): 90144 (WebCore::EventTargetNode::removeEventListenerForType): 90145 (WebCore::EventTargetNode::setEventListenerForType): 90146 (WebCore::EventTargetNode::setEventListenerForTypeAndAttribute): 90147 (WebCore::EventTargetNode::eventListenerForType): 90148 * dom/EventTargetNode.h: 90149 * dom/XMLTokenizer.cpp: 90150 (WebCore::XMLTokenizer::notifyFinished): 90151 * editing/ReplaceSelectionCommand.cpp: 90152 (WebCore::ReplacementFragment::ReplacementFragment): 90153 * html/HTMLBodyElement.cpp: 90154 (WebCore::HTMLBodyElement::parseMappedAttribute): 90155 * html/HTMLButtonElement.cpp: 90156 (WebCore::HTMLButtonElement::parseMappedAttribute): 90157 * html/HTMLElement.cpp: 90158 (WebCore::HTMLElement::parseMappedAttribute): 90159 (WebCore::HTMLElement::checkDTD): 90160 * html/HTMLElement.h: 90161 * html/HTMLFormControlElement.cpp: 90162 (WebCore::HTMLFormControlElement::onChange): 90163 * html/HTMLFormElement.cpp: 90164 (WebCore::HTMLFormElement::prepareSubmit): 90165 (WebCore::HTMLFormElement::reset): 90166 (WebCore::HTMLFormElement::parseMappedAttribute): 90167 * html/HTMLFrameElementBase.cpp: 90168 (WebCore::HTMLFrameElementBase::parseMappedAttribute): 90169 * html/HTMLFrameSetElement.cpp: 90170 (WebCore::HTMLFrameSetElement::parseMappedAttribute): 90171 * html/HTMLImageElement.cpp: 90172 (WebCore::HTMLImageElement::parseMappedAttribute): 90173 * html/HTMLImageLoader.cpp: 90174 (WebCore::HTMLImageLoader::dispatchLoadEvent): 90175 * html/HTMLInputElement.cpp: 90176 (WebCore::HTMLInputElement::parseMappedAttribute): 90177 (WebCore::HTMLInputElement::setValueFromRenderer): 90178 (WebCore::HTMLInputElement::onSearch): 90179 * html/HTMLMediaElement.cpp: 90180 (WebCore::HTMLMediaElement::asyncEventTimerFired): 90181 (WebCore::HTMLMediaElement::load): 90182 (WebCore::HTMLMediaElement::mediaPlayerNetworkStateChanged): 90183 (WebCore::HTMLMediaElement::setReadyState): 90184 (WebCore::HTMLMediaElement::seek): 90185 (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): 90186 (WebCore::HTMLMediaElement::willSaveToCache): 90187 * html/HTMLObjectElement.cpp: 90188 (WebCore::HTMLObjectElement::parseMappedAttribute): 90189 * html/HTMLScriptElement.cpp: 90190 (WebCore::HTMLScriptElement::parseMappedAttribute): 90191 (WebCore::HTMLScriptElement::dispatchLoadEvent): 90192 (WebCore::HTMLScriptElement::dispatchErrorEvent): 90193 * html/HTMLSelectElement.cpp: 90194 (WebCore::HTMLSelectElement::parseMappedAttribute): 90195 * html/HTMLTextAreaElement.cpp: 90196 (WebCore::HTMLTextAreaElement::parseMappedAttribute): 90197 * html/HTMLTokenizer.cpp: 90198 (WebCore::HTMLTokenizer::notifyFinished): 90199 * page/AccessibilityRenderObject.cpp: 90200 (WebCore::AccessibilityRenderObject::mouseButtonListener): 90201 * page/EventHandler.cpp: 90202 (WebCore::EventHandler::canMouseDownStartSelect): 90203 (WebCore::EventHandler::canMouseDragExtendSelect): 90204 * page/Frame.cpp: 90205 (WebCore::Frame::sendScrollEvent): 90206 * page/Page.cpp: 90207 (WebCore::networkStateChanged): 90208 * rendering/RenderListBox.cpp: 90209 (WebCore::RenderListBox::valueChanged): 90210 * rendering/RenderTextControl.cpp: 90211 (WebCore::RenderTextControl::selectionChanged): 90212 * svg/SVGDocumentExtensions.cpp: 90213 * svg/SVGDocumentExtensions.h: 90214 * svg/SVGElement.cpp: 90215 (WebCore::SVGElement::parseMappedAttribute): 90216 (WebCore::SVGElement::finishParsingChildren): 90217 * svg/SVGElement.h: 90218 * svg/SVGSVGElement.cpp: 90219 (WebCore::SVGSVGElement::parseMappedAttribute): 90220 * svg/SVGSVGElement.h: 90221 90222 2008-09-15 Dave Hyatt <hyatt (a] apple.com> 90223 90224 Convert PlatformScrollbarWin to use ScrollbarTheme for hit testing. PlatformScrollbarQt/Gtk still 90225 need to be converted. 90226 90227 Reviewed by Sam Weinig 90228 90229 * platform/ScrollBar.cpp: 90230 (WebCore::Scrollbar::Scrollbar): 90231 (WebCore::Scrollbar::updateThumbPosition): 90232 (WebCore::Scrollbar::updateThumbProportion): 90233 (WebCore::Scrollbar::autoscrollPressedPart): 90234 (WebCore::Scrollbar::startTimerIfNeeded): 90235 * platform/ScrollBar.h: 90236 * platform/ScrollbarTheme.h: 90237 (WebCore::ScrollbarTheme::invalidateParts): 90238 * platform/ScrollbarThemeComposite.cpp: 90239 (WebCore::ScrollbarThemeComposite::hitTest): 90240 (WebCore::ScrollbarThemeComposite::invalidatePart): 90241 (WebCore::ScrollbarThemeComposite::thumbPosition): 90242 (WebCore::ScrollbarThemeComposite::thumbLength): 90243 (WebCore::ScrollbarThemeComposite::trackLength): 90244 * platform/ScrollbarThemeComposite.h: 90245 * platform/win/PlatformScrollBarSafari.cpp: 90246 (WebCore::PlatformScrollbar::PlatformScrollbar): 90247 * platform/win/PlatformScrollBarWin.cpp: 90248 (WebCore::PlatformScrollbar::PlatformScrollbar): 90249 90250 2008-09-15 David Smith <catfish.man (a] gmail.com> 90251 90252 "Just do it"'d by Mark Rowe 90253 90254 https://bugs.webkit.org/show_bug.cgi?id=20856 90255 Add missing license header 90256 90257 * dom/NodeRenderStyle.h: 90258 90259 2008-09-15 Dean Jackson <dino (a] apple.com> 90260 90261 Reviewed by Tim Hatcher. 90262 90263 Add default constructor for ShadowData 90264 https://bugs.webkit.org/show_bug.cgi?id=20757 90265 90266 Test: transitions/shadow.html 90267 90268 * rendering/style/RenderStyle.h: 90269 90270 2008-09-15 Dean Jackson <dino (a] apple.com> 90271 90272 Reviewed by Tim Hatcher. 90273 90274 RenderStyle should update keyframes. 90275 http://bugs.webkit.org/show_bug.cgi?id=20756 90276 90277 * rendering/style/RenderStyle.cpp: 90278 (WebCore::StyleRareNonInheritedData::updateKeyframes): 90279 90280 2008-09-15 Dean Jackson <dino (a] apple.com> 90281 90282 Reviewed by Tim Hatcher. 90283 90284 Unnecessary ASSERT in ImplicitAnimation destructor. 90285 https://bugs.webkit.org/show_bug.cgi?id=20817 90286 90287 * page/animation/ImplicitAnimation.cpp: 90288 (WebCore::ImplicitAnimation::~ImplicitAnimation): 90289 90290 2008-09-15 Adam Treat <treat (a] kde.org> 90291 90292 Reviewed by Simon. 90293 90294 Fix plugin extension info. It was returning the mimetype where the 90295 extension was given. 90296 90297 * plugins/qt/PluginPackageQt.cpp: 90298 (WebCore::PluginPackage::fetchInfo): 90299 90300 2008-09-15 Dean Jackson <dino (a] apple.com> 90301 90302 Reviewed by Tim Hatcher 90303 90304 Coding style violation!!!! Cleanup AnimationBase.cpp 90305 90306 * page/animation/AnimationBase.cpp: 90307 (WebCore::blendFunc): 90308 90309 2008-09-15 David Hyatt <hyatt (a] apple.com> 90310 90311 Move all hit testing code for scrollbars into the base class. Refactor 90312 it to accommodate all platform-specific behaviors using virtual ScrollbarTheme 90313 functions. 90314 90315 No platform is using this code yet. Although it has been moved and compiles 90316 (even on Mac), it is not being used on any platform. 90317 90318 Reviewed by Sam Weinig 90319 90320 * platform/ScrollBar.cpp: 90321 (WebCore::Scrollbar::autoscrollPressedPart): 90322 (WebCore::Scrollbar::startTimerIfNeeded): 90323 (WebCore::Scrollbar::handleMouseMoveEvent): 90324 (WebCore::Scrollbar::handleMouseOutEvent): 90325 (WebCore::Scrollbar::handleMouseReleaseEvent): 90326 (WebCore::Scrollbar::handleMousePressEvent): 90327 * platform/ScrollBar.h: 90328 (WebCore::Scrollbar::handleContextMenuEvent): 90329 * platform/ScrollbarTheme.h: 90330 (WebCore::ScrollbarTheme::hitTest): 90331 (WebCore::ScrollbarTheme::invalidateOnMouseEnterExit): 90332 (WebCore::ScrollbarTheme::invalidatePart): 90333 (WebCore::ScrollbarTheme::shouldCenterOnThumb): 90334 (WebCore::ScrollbarTheme::centerOnThumb): 90335 (WebCore::ScrollbarTheme::thumbPosition): 90336 (WebCore::ScrollbarTheme::thumbLength): 90337 (WebCore::ScrollbarTheme::trackLength): 90338 (WebCore::ScrollbarTheme::initialAutoscrollTimerDelay): 90339 (WebCore::ScrollbarTheme::autoscrollTimerDelay): 90340 * platform/Widget.h: 90341 (WebCore::Widget::parent): 90342 * platform/mac/PlatformScrollBar.h: 90343 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 90344 (WebCore::PlatformScrollbar::handleMouseOutEvent): 90345 (WebCore::PlatformScrollbar::handleMousePressEvent): 90346 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 90347 * platform/mac/WidgetMac.mm: 90348 (WebCore::Widget::convertFromContainingWindow): 90349 * platform/win/ScrollbarThemeWin.cpp: 90350 (WebCore::ScrollbarThemeWin::invalidateOnMouseEnterExit): 90351 * platform/win/ScrollbarThemeWin.h: 90352 90353 2008-09-15 Dan Bernstein <mitz (a] apple.com> 90354 90355 Reviewed by Sam Weinig. 90356 90357 - fix <rdar://problem/5842247> Single long breakable word takes O(n^2) to lay out 90358 90359 Cache the next breakable position for text nodes in InlineIterator. 90360 90361 * rendering/bidi.cpp: 90362 (WebCore::InlineIterator::InlineIterator): 90363 (WebCore::InlineIterator::increment): 90364 (WebCore::RenderBlock::findNextLineBreak): 90365 90366 2008-09-15 Simon Fraser <simon.fraser (a] apple.com> 90367 90368 Reviewed by Dan Bernstein 90369 90370 Fix assertion and integral pixel issue when creating subimages. 90371 https://bugs.webkit.org/show_bug.cgi?id=20786 90372 90373 * platform/graphics/cg/ImageCG.cpp: 90374 (WebCore::BitmapImage::draw): 90375 90376 2008-09-15 Tor Arne Vestb <tavestbo (a] trolltech.com> 90377 90378 Reviewed by Simon. 90379 90380 Implment seek() and clean up and improve debugging output 90381 90382 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 90383 (debugMediaObject): 90384 (WebCore::MediaPlayerPrivate::seek): 90385 (WebCore::MediaPlayerPrivate::setVolume): 90386 (WebCore::MediaPlayerPrivate::setMuted): 90387 (WebCore::MediaPlayerPrivate::updateStates): 90388 (WebCore::MediaPlayerPrivate::naturalSize): 90389 (WebCore::MediaPlayerPrivate::paint): 90390 (WebCore::MediaPlayerPrivate::stateChanged): 90391 (WebCore::MediaPlayerPrivate::tick): 90392 90393 2008-09-15 Holger Hans Peter Freyther <zecke (a] selfish.org> 90394 90395 Reviewed by Simon. 90396 90397 Remove bogus Q_ASSERTs from the MediaPlayer Phonon implementation 90398 90399 m_mediaObject, m_audioOutput, m_videoWidget get created in the 90400 c'tor and will only be deleted in the c'tor. The Q_ASSERTs would 90401 only check if we use the MediaPlayerPrivate after it has been deleted. 90402 90403 Acked-by: Tor Arne Vestb <tavestbo (a] trolltech.com> 90404 90405 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 90406 (WebCore::MediaPlayerPrivate::play): 90407 (WebCore::MediaPlayerPrivate::setVolume): 90408 (WebCore::MediaPlayerPrivate::updateStates): 90409 90410 2008-09-15 Anders Carlsson <andersca (a] apple.com> 90411 90412 Reviewed by Maciej. 90413 90414 <rdar://problem/6163988> 90415 https://bugs.webkit.org/show_bug.cgi?id=20457 90416 Canvas: createPattern crashes WebKit in WTF::RefPtr<WebCore::Image>::operator!() const + 9 with a 1D pattern 90417 90418 Check the width and height and throw an exception if any of them are 0. 90419 90420 * html/CanvasRenderingContext2D.cpp: 90421 (WebCore::CanvasRenderingContext2D::createPattern): 90422 90423 2008-09-15 Tor Arne Vestb <tavestbo (a] trolltech.com> 90424 90425 Reviewed by Simon. 90426 90427 Render media element controls with antialiasing enabled 90428 90429 * platform/qt/RenderThemeQt.cpp: 90430 (WebCore::RenderThemeQt::paintMediaMuteButton): 90431 (WebCore::RenderThemeQt::paintMediaPlayButton): 90432 (WebCore::RenderThemeQt::paintMediaSliderTrack): 90433 (WebCore::RenderThemeQt::paintMediaSliderThumb): 90434 90435 2008-09-15 Ariya Hidayat <ariya.hidayat (a] trolltech.com> 90436 90437 Reviewed by Simon. 90438 90439 Upon non fatal error, switch to the pause state (so that playback can continue) 90440 90441 * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: 90442 (WebCore::MediaPlayerPrivate::updateStates): 90443 90444 2008-09-15 Tor Arne Vestb <tavestbo (a] trolltech.com> 90445 90446 Reviewed by Simon. 90447 90448 Don't set WTF_USE_JSC in WebCore.pro now that it's set in config.h 90449 90450 * WebCore.pro: 90451 90452 2008-09-15 Tor Arne Vestb <tavestbo (a] trolltech.com> 90453 90454 Reviewed by Simon. 90455 90456 Make QtInstance::create() private and fix caching 90457 90458 * bindings/js/ScriptControllerQt.cpp: 90459 (WebCore::ScriptController::createScriptInstanceForWidget): 90460 * bridge/qt/qt_instance.cpp: 90461 (JSC::Bindings::QtInstance::getQtInstance): 90462 (JSC::Bindings::QtInstance::getRuntimeObject): 90463 * bridge/qt/qt_instance.h: 90464 (JSC::Bindings::QtInstance::create): 90465 * bridge/qt/qt_runtime.cpp: 90466 (JSC::Bindings::convertQVariantToValue): 90467 (JSC::Bindings::QtConnectionObject::execute): 90468 90469 2008-09-15 David Smith <catfish.man (a] gmail.com> 90470 90471 Reviewed by Dave Hyatt. 90472 90473 https://bugs.webkit.org/show_bug.cgi?id=20180 90474 90475 >2x speedup on querySelector[All] with :nth-child by removing the collectRulesOnly argument on SelectorChecker. 90476 With collectRulesOnly set to true (the default) an optimization is turned off, and no callers were intentionally leaving it true. 90477 querySelector[All] assumed that the default was probably the right way to go, and so ended up being slow. 90478 90479 * css/CSSStyleSelector.cpp: 90480 (WebCore::CSSStyleSelector::CSSStyleSelector): 90481 (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): 90482 * css/CSSStyleSelector.h: 90483 90484 2008-09-14 Dave Hyatt <hyatt (a] apple.com> 90485 90486 Refactor PlatformScrollbarWin's painting so that it is now done by ScrollbarThemeWin. PlatformScrollbarSafari 90487 is still painting itself (a subsequent patch will move its painting into ScrollbarThemeSafari). 90488 90489 Reviewed by Sam Weinig 90490 90491 * platform/ScrollBar.h: 90492 (WebCore::Scrollbar::client): 90493 (WebCore::Scrollbar::currentPos): 90494 (WebCore::Scrollbar::totalSize): 90495 * platform/ScrollbarTheme.h: 90496 * platform/ScrollbarThemeComposite.cpp: 90497 (WebCore::pageForScrollView): 90498 (WebCore::ScrollbarThemeComposite::paint): 90499 * platform/ScrollbarThemeComposite.h: 90500 (WebCore::ScrollbarThemeComposite::trackIsSinglePiece): 90501 * platform/win/PlatformScrollBar.h: 90502 * platform/win/PlatformScrollBarSafari.cpp: 90503 * platform/win/PlatformScrollBarWin.cpp: 90504 * platform/win/ScrollbarThemeSafari.h: 90505 (WebCore::ScrollbarThemeSafari::hasButtons): 90506 (WebCore::ScrollbarThemeSafari::hasThumb): 90507 (WebCore::ScrollbarThemeSafari::backButtonRect): 90508 (WebCore::ScrollbarThemeSafari::forwardButtonRect): 90509 (WebCore::ScrollbarThemeSafari::trackRect): 90510 (WebCore::ScrollbarThemeSafari::splitTrack): 90511 (WebCore::ScrollbarThemeSafari::paintTrack): 90512 (WebCore::ScrollbarThemeSafari::paintButton): 90513 (WebCore::ScrollbarThemeSafari::paintThumb): 90514 * platform/win/ScrollbarThemeWin.cpp: 90515 (WebCore::isRunningOnVistaOrLater): 90516 (WebCore::checkAndInitScrollbarTheme): 90517 (WebCore::ScrollbarThemeWin::ScrollbarThemeWin): 90518 (WebCore::ScrollbarThemeWin::themeChanged): 90519 (WebCore::ScrollbarThemeWin::hasThumb): 90520 (WebCore::ScrollbarThemeWin::backButtonRect): 90521 (WebCore::ScrollbarThemeWin::forwardButtonRect): 90522 (WebCore::ScrollbarThemeWin::trackRect): 90523 (WebCore::ScrollbarThemeWin::splitTrack): 90524 (WebCore::ScrollbarThemeWin::paintTrack): 90525 (WebCore::ScrollbarThemeWin::paintButton): 90526 (WebCore::gripperRect): 90527 (WebCore::paintGripper): 90528 (WebCore::ScrollbarThemeWin::paintThumb): 90529 (WebCore::ScrollbarThemeWin::thumbPosition): 90530 (WebCore::ScrollbarThemeWin::thumbLength): 90531 (WebCore::ScrollbarThemeWin::trackLength): 90532 * platform/win/ScrollbarThemeWin.h: 90533 (WebCore::ScrollbarThemeWin::hasButtons): 90534 (WebCore::ScrollbarThemeWin::trackIsSinglePiece): 90535 90536 2008-09-14 Anthony Ricaud <rik24d (a] gmail.com> 90537 90538 Moving all resource graphs under the same container for future scalable feature. 90539 This is a speedup on resize but maybe a loss on changing the sorting function. 90540 90541 https://bugs.webkit.org/show_bug.cgi?id=20555 90542 90543 Reviewed by Timothy Hatcher. 90544 90545 * page/inspector/ResourcesPanel.js: Added a container for all resource graphs. 90546 Added WebInspector.ResourceGraph. No more _updateGraphBars on resize. 90547 * page/inspector/inspector.css: Edited corresponding rules and removed unnecessaries. 90548 90549 2008-09-14 Alexey Proskuryakov <ap (a] webkit.org> 90550 90551 Reviewed by Maciej Stachowiak. 90552 90553 https://bugs.webkit.org/show_bug.cgi?id=20738 90554 compareBoundaryPoints gives incorrect results 90555 90556 Test: fast/dom/Range/compareBoundaryPoints-2.html 90557 90558 * dom/Range.cpp: (WebCore::Range::compareBoundaryPoints): Correct meanings of START_TO_END 90559 and END_TO_START. 90560 * page/DOMSelection.cpp: (WebCore::DOMSelection::addRange): Updated for this change. 90561 90562 2008-09-14 Maciej Stachowiak <mjs (a] apple.com> 90563 90564 Unreviewed build fix. 90565 90566 Trying again. 90567 90568 * bindings/js/JSQuarantinedObjectWrapper.cpp: 90569 (WebCore::JSQuarantinedObjectWrapper::hasInstance): 90570 90571 2008-09-14 Maciej Stachowiak <mjs (a] apple.com> 90572 90573 Unreviewed build fix. 90574 90575 Blind attempt to fix build. Correct parameters for hasInstance. 90576 90577 * bindings/js/JSQuarantinedObjectWrapper.cpp: 90578 (WebCore::JSQuarantinedObjectWrapper::hasInstance): 90579 * bindings/js/JSQuarantinedObjectWrapper.h: 90580 90581 2008-09-14 Dan Bernstein <mitz (a] apple.com> 90582 90583 Rubber-stamped by Sam Weinig. 90584 90585 - revert <http://trac.webkit.org/changeset/36382> because it exposed 90586 <https://bugs.webkit.org/show_bug.cgi?id=20846> and resulted in crashes 90587 on Tiger. 90588 90589 * platform/graphics/mac/FontCacheMac.mm: 90590 (WebCore::FontCache::getFontDataForCharacters): 90591 (WebCore::FontCache::getLastResortFallbackFont): 90592 90593 2008-09-14 Dave Hyatt <hyatt (a] apple.com> 90594 90595 Add a new ScrollbarThemeComposite base class that is shared by ScrollbarThemeSafari and 90596 ScrollbarThemeWin. Any scrollbar that wants to render by ScrollbarPart can subclass from this 90597 theme. 90598 90599 Reviewed by Sam Weinig 90600 90601 * WebCore.vcproj/WebCore.vcproj: 90602 * platform/win/ScrollbarThemeSafari.h: 90603 * platform/win/ScrollbarThemeWin.h: 90604 90605 2008-09-14 Alp Toker <alp (a] nuanti.com> 90606 90607 https://bugs.webkit.org/show_bug.cgi?id=20320 90608 [GTK] A white rectangle is visible behind widgets with rounded corners 90609 90610 Sync bundled gtk2drawing.c to the latest version from Mozilla (coding 90611 style exempt). 90612 90613 Requested by Michael Monreal. 90614 90615 * platform/gtk/RenderThemeGtk.cpp: 90616 (WebCore::RenderThemeGtk::RenderThemeGtk): 90617 * platform/gtk/gtk2drawing.c: 90618 (moz_gtk_set_widget_name): 90619 (ensure_window_widget): 90620 (setup_widget_prototype): 90621 (ensure_button_arrow_widget): 90622 (moz_gtk_get_combo_box_inner_button): 90623 (moz_gtk_get_combo_box_button_inner_widgets): 90624 (ensure_combo_box_widgets): 90625 (moz_gtk_get_combo_box_entry_inner_widgets): 90626 (moz_gtk_get_combo_box_entry_arrow): 90627 (ensure_combo_box_entry_widgets): 90628 (ensure_toolbar_widget): 90629 (ensure_tooltip_widget): 90630 (ensure_menu_bar_widget): 90631 (ensure_menu_bar_item_widget): 90632 (ensure_menu_popup_widget): 90633 (ensure_menu_item_widget): 90634 (ensure_image_menu_item_widget): 90635 (ensure_menu_separator_widget): 90636 (ensure_check_menu_item_widget): 90637 (ensure_tree_header_cell_widget): 90638 (ensure_scrolled_window_widget): 90639 (moz_gtk_button_paint): 90640 (moz_gtk_init): 90641 (moz_gtk_button_get_inner_border): 90642 (moz_gtk_toggle_paint): 90643 (calculate_button_inner_rect): 90644 (calculate_arrow_rect): 90645 (moz_gtk_scrollbar_button_paint): 90646 (moz_gtk_scrollbar_thumb_paint): 90647 (moz_gtk_caret_paint): 90648 (moz_gtk_entry_paint): 90649 (moz_gtk_treeview_paint): 90650 (moz_gtk_tree_header_cell_paint): 90651 (moz_gtk_combo_box_paint): 90652 (moz_gtk_downarrow_paint): 90653 (moz_gtk_combo_box_entry_button_paint): 90654 (moz_gtk_toolbar_paint): 90655 (moz_gtk_tab_scroll_arrow_paint): 90656 (moz_gtk_menu_bar_paint): 90657 (moz_gtk_menu_item_paint): 90658 (moz_gtk_get_widget_border): 90659 (moz_gtk_get_combo_box_entry_button_size): 90660 (moz_gtk_get_tab_scroll_arrow_size): 90661 (moz_gtk_get_downarrow_size): 90662 (moz_gtk_images_in_menus): 90663 (moz_gtk_widget_paint): 90664 (moz_gtk_shutdown): 90665 * platform/gtk/gtkdrawing.h: 90666 90667 2008-09-14 David Hyatt <hyatt (a] apple.com> 90668 90669 Convert Mac, Gtk, wx and Qt over to the new ScrollbarTheme for 90670 painting. Mac and Gtk themes don't do anything and just let the 90671 underlying widget paint. Qt now uses the theme to paint. wx doesn't 90672 do anything yet. 90673 90674 Reviewed by Sam Weinig 90675 90676 * platform/ScrollBar.cpp: 90677 (WebCore::Scrollbar::paint): 90678 * platform/ScrollBar.h: 90679 (WebCore::Scrollbar::value): 90680 (WebCore::Scrollbar::visibleSize): 90681 (WebCore::Scrollbar::maximum): 90682 (WebCore::Scrollbar::lineStep): 90683 (WebCore::Scrollbar::pageStep): 90684 (WebCore::Scrollbar::pixelStep): 90685 (WebCore::Scrollbar::pressedPart): 90686 (WebCore::Scrollbar::hoveredPart): 90687 (WebCore::Scrollbar::theme): 90688 * platform/ScrollbarTheme.h: 90689 (WebCore::ScrollbarTheme::paint): 90690 (WebCore::ScrollbarTheme::scrollbarThickness): 90691 (WebCore::ScrollbarTheme::supportsControlTints): 90692 (WebCore::ScrollbarTheme::themeChanged): 90693 * platform/gtk/PlatformScrollBar.h: 90694 * platform/gtk/PlatformScrollBarGtk.cpp: 90695 * platform/mac/PlatformScrollBar.h: 90696 * platform/mac/PlatformScrollBarMac.mm: 90697 * platform/qt/PlatformScrollBar.h: 90698 * platform/qt/PlatformScrollBarQt.cpp: 90699 * platform/qt/ScrollbarThemeQt.cpp: 90700 (WebCore::styleOptionSlider): 90701 * platform/qt/ScrollbarThemeQt.h: 90702 (WebCore::ScrollbarThemeQt::paint): 90703 * platform/win/PlatformScrollBarSafari.cpp: 90704 (WebCore::PlatformScrollbar::paint): 90705 * platform/win/ScrollbarThemeSafari.h: 90706 (WebCore::ScrollbarThemeSafari::supportsControlTints): 90707 * platform/wx/PlatformScrollBar.h: 90708 * platform/wx/TemporaryLinkStubs.cpp: 90709 (PlatformScrollbar::~PlatformScrollbar): 90710 90711 2008-09-14 Sam Weinig <sam (a] webkit.org> 90712 90713 Qt build fix. 90714 90715 * platform/qt/PlatformScrollBarQt.cpp: 90716 90717 2008-09-14 Sam Weinig <sam (a] webkit.org> 90718 90719 Reviewed by Mark Rowe. 90720 90721 Remove extraneous semicolons. 90722 90723 * bindings/scripts/CodeGeneratorObjC.pm: 90724 * html/HTMLLinkElement.cpp: 90725 (WebCore::HTMLLinkElement::tokenizeRelAttribute): 90726 * html/HTMLScriptElement.cpp: 90727 (WebCore::HTMLScriptElement::charsetAttributeValue): 90728 (WebCore::HTMLScriptElement::typeAttributeValue): 90729 * platform/graphics/qt/GradientQt.cpp: 90730 (WebCore::Gradient::platformGradient): 90731 * platform/qt/ScrollViewQt.cpp: 90732 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 90733 * platform/win/ScrollViewWin.cpp: 90734 (WebCore::ScrollView::updateScrollbars): 90735 * rendering/RenderBlock.cpp: 90736 (WebCore::RenderBlock::paintEllipsisBoxes): 90737 * svg/SVGPathSegList.cpp: 90738 (WebCore::SVGPathSegList::toPathData): 90739 90740 2008-09-14 Sam Weinig <sam (a] webkit.org> 90741 90742 Qt build fix. 90743 90744 * platform/qt/ScrollViewQt.cpp: 90745 (WebCore::ScrollView::updateScrollbars): 90746 90747 2008-09-14 Sam Weinig <sam (a] webkit.org> 90748 90749 Qt build fix. 90750 90751 * platform/qt/PlatformScrollBarQt.cpp: 90752 (WebCore::PlatformScrollbar::PlatformScrollbar): 90753 (WebCore::PlatformScrollbar::paint): 90754 90755 2008-09-13 Jan Michael Alonzo <jmalonzo (a] webkit.org> 90756 90757 Gtk build fix, not reviewed. 90758 90759 * platform/gtk/PlatformScrollBarGtk.cpp: 90760 (PlatformScrollbar::PlatformScrollbar): 90761 * platform/gtk/ScrollViewGtk.cpp: 90762 (WebCore::ScrollView::updateScrollbars): 90763 90764 2008-09-13 Dave Hyatt <hyatt (a] apple.com> 90765 90766 Remove scrollbar's setRect method. Clients can now just call setFrameGeometry (the corresponding Widget) method 90767 to set the dimensions of a scrollbar. 90768 90769 Reviewed by Sam Weinig 90770 90771 * platform/ScrollBar.h: 90772 * platform/gtk/PlatformScrollBar.h: 90773 * platform/gtk/PlatformScrollBarGtk.cpp: 90774 (PlatformScrollbar::setFrameGeometry): 90775 * platform/gtk/ScrollViewGtk.cpp: 90776 (WebCore::ScrollView::updateScrollbars): 90777 * platform/mac/PlatformScrollBarMac.mm: 90778 * platform/qt/PlatformScrollBarQt.cpp: 90779 * platform/qt/ScrollViewQt.cpp: 90780 (WebCore::ScrollView::updateScrollbars): 90781 * platform/win/PlatformScrollBar.h: 90782 * platform/win/PlatformScrollBarSafari.cpp: 90783 (WebCore::PlatformScrollbar::PlatformScrollbar): 90784 (WebCore::PlatformScrollbar::setFrameGeometry): 90785 * platform/win/PlatformScrollBarWin.cpp: 90786 (WebCore::PlatformScrollbar::PlatformScrollbar): 90787 (WebCore::PlatformScrollbar::setFrameGeometry): 90788 * platform/win/PopupMenuWin.cpp: 90789 (WebCore::PopupWndProc): 90790 * platform/win/ScrollViewWin.cpp: 90791 (WebCore::ScrollView::updateScrollbars): 90792 * platform/wx/PlatformScrollBar.h: 90793 * platform/wx/TemporaryLinkStubs.cpp: 90794 (PlatformScrollbar::updateThumbProportion): 90795 * rendering/RenderLayer.cpp: 90796 (WebCore::RenderLayer::positionOverflowControls): 90797 * rendering/RenderListBox.cpp: 90798 (WebCore::RenderListBox::paintScrollbar): 90799 90800 2008-09-13 Dave Hyatt <hyatt (a] apple.com> 90801 90802 Remove setEnabled() from all Scrollbar classes that were just using their Widget base class methods. 90803 90804 Reviewed by Sam Weinig 90805 90806 * platform/ScrollBar.h: 90807 * platform/gtk/PlatformScrollBar.h: 90808 * platform/gtk/PlatformScrollBarGtk.cpp: 90809 * platform/mac/PlatformScrollBar.h: 90810 * platform/mac/PlatformScrollBarMac.mm: 90811 * platform/win/PlatformScrollBar.h: 90812 * platform/win/PlatformScrollBarSafari.cpp: 90813 * platform/win/PlatformScrollBarWin.cpp: 90814 * platform/wx/PlatformScrollBar.h: 90815 * platform/wx/TemporaryLinkStubs.cpp: 90816 (PlatformScrollbar::~PlatformScrollbar): 90817 90818 2008-09-13 Dave Hyatt <hyatt (a] apple.com> 90819 90820 Remove width()/height() from Scrollbar now that it derives from Widget. Remove width()/height() from 90821 all PlatformScrollbar subclasses that just called the Widget base class versions of those methods. 90822 90823 Reviewed by Sam Weinig 90824 90825 * platform/ScrollBar.h: 90826 * platform/gtk/PlatformScrollBar.h: 90827 * platform/gtk/PlatformScrollBarGtk.cpp: 90828 * platform/mac/PlatformScrollBar.h: 90829 * platform/mac/PlatformScrollBarMac.mm: 90830 * platform/win/PlatformScrollBarSafari.cpp: 90831 * platform/win/PlatformScrollBarWin.cpp: 90832 * platform/wx/PlatformScrollBar.h: 90833 * platform/wx/TemporaryLinkStubs.cpp: 90834 (PlatformScrollbar::~PlatformScrollbar): 90835 90836 2008-09-13 Dave Hyatt <hyatt (a] apple.com> 90837 90838 Move stopTimerIfNeeded out of PlatformScrollbar destructors and into Scrollbar. 90839 90840 Reviewed by Sam Weinig 90841 90842 * platform/ScrollBar.cpp: 90843 (WebCore::Scrollbar::~Scrollbar): 90844 * platform/ScrollBar.h: 90845 * platform/qt/PlatformScrollBarQt.cpp: 90846 (WebCore::PlatformScrollbar::~PlatformScrollbar): 90847 * platform/win/PlatformScrollBarSafari.cpp: 90848 (WebCore::PlatformScrollbar::~PlatformScrollbar): 90849 * platform/win/PlatformScrollBarWin.cpp: 90850 (WebCore::PlatformScrollbar::~PlatformScrollbar): 90851 90852 2008-09-13 David Hyatt <hyatt (a] apple.com> 90853 90854 Move maximum() from Qt's PlatformScrollbar to be a cross-platform 90855 function on Scrollbar. Fixes Qt build bustage. 90856 90857 Reviewed by Sam Weinig 90858 90859 * platform/ScrollBar.h: 90860 (WebCore::Scrollbar::orientation): 90861 (WebCore::Scrollbar::value): 90862 (WebCore::Scrollbar::maximum): 90863 * platform/qt/PlatformScrollBar.h: 90864 90865 2008-09-13 Dan Bernstein <mitz (a] apple.com> 90866 90867 Reviewed by Sam Weinig. 90868 90869 - use the LastResort font for missing glyphs instead of showing the 90870 primary font's missing glyph 90871 90872 Test: platform/mac/fast/text/last-resort-font.html 90873 90874 * platform/graphics/mac/FontCacheMac.mm: 90875 (WebCore::FontCache::getFontDataForCharacters): Changed to return the 90876 last resort font if a substitute font cannot be found. 90877 (WebCore::FontCache::getLastResortFallbackFont): Removed an outdated 90878 comment (the user's preferred standard font is included in the search 90879 thanks to code in FontCache::getFontData()) and changed to return the 90880 LastResort font. 90881 90882 2008-09-13 Dave Hyatt <hyatt (a] apple.com> 90883 90884 This patch adds ScrollbarTheme to the build. ScrollbarTheme is similar to RenderTheme (but for 90885 scrollbars only). For now ScrollbarTheme just handles returning the size of scrollbars. Subsequent 90886 patches will move rendering and hit testing functionality into this class. 90887 90888 Implemented ScrollbarTheme subclasses for four ports (Mac, Win, Gtk, Qt). The wxWidgets port does not 90889 implement scrollbars yet, so I added a temporary link stub to keep things compiling on wx. 90890 90891 Reviewed by Sam Weinig 90892 90893 * GNUmakefile.am: 90894 * WebCore.pro: 90895 * WebCore.vcproj/WebCore.vcproj: 90896 * platform/ScrollBar.cpp: 90897 (WebCore::Scrollbar::Scrollbar): 90898 * platform/ScrollBar.h: 90899 * platform/ScrollbarTheme.h: Added. 90900 (WebCore::ScrollbarTheme::~ScrollbarTheme): 90901 (WebCore::ScrollbarTheme::scrollbarThickness): 90902 (WebCore::ScrollbarTheme::themeChanged): 90903 * platform/gtk/ScrollbarThemeGtk.cpp: Added. 90904 (WebCore::ScrollbarTheme::nativeTheme): 90905 (WebCore::ScrollbarThemeGtk::~ScrollbarThemeGtk): 90906 (WebCore::ScrollbarThemeGtk::scrollbarThickness): 90907 * platform/gtk/ScrollbarThemeGtk.h: Added. 90908 * platform/mac/PlatformScrollBar.h: 90909 * platform/mac/ScrollbarThemeMac.cpp: Added. 90910 (WebCore::ScrollbarTheme::nativeTheme): 90911 (WebCore::): 90912 (WebCore::ScrollbarThemeMac::~ScrollbarThemeMac): 90913 (WebCore::ScrollbarThemeMac::scrollbarThickness): 90914 * platform/mac/ScrollbarThemeMac.h: Added. 90915 * platform/qt/PlatformScrollBarQt.cpp: 90916 * platform/qt/ScrollbarThemeQt.cpp: Added. 90917 (WebCore::ScrollbarTheme::nativeTheme): 90918 (WebCore::ScrollbarThemeQt::~ScrollbarThemeQt): 90919 (WebCore::ScrollbarThemeQt::scrollbarThickness): 90920 * platform/qt/ScrollbarThemeQt.h: Added. 90921 * platform/win/PlatformScrollBar.h: 90922 * platform/win/PlatformScrollBarSafari.cpp: 90923 * platform/win/PlatformScrollBarWin.cpp: 90924 * platform/win/PopupMenuWin.cpp: 90925 (WebCore::PopupMenu::calculatePositionAndSize): 90926 * platform/win/ScrollViewWin.cpp: 90927 (WebCore::ScrollView::updateScrollbars): 90928 (WebCore::ScrollView::themeChanged): 90929 * platform/win/ScrollbarThemeSafari.cpp: Added. 90930 (WebCore::ScrollbarTheme::nativeTheme): 90931 (WebCore::): 90932 (WebCore::ScrollbarThemeSafari::~ScrollbarThemeSafari): 90933 (WebCore::ScrollbarThemeSafari::scrollbarThickness): 90934 * platform/win/ScrollbarThemeSafari.h: Added. 90935 * platform/win/ScrollbarThemeWin.cpp: Added. 90936 (WebCore::ScrollbarTheme::nativeTheme): 90937 (WebCore::ScrollbarThemeWin::~ScrollbarThemeWin): 90938 (WebCore::ScrollbarThemeWin::scrollbarThickness): 90939 (WebCore::ScrollbarThemeWin::themeChanged): 90940 * platform/win/ScrollbarThemeWin.h: Added. 90941 * platform/wx/TemporaryLinkStubs.cpp: 90942 (ScrollbarTheme::nativeTheme): 90943 * rendering/RenderLayer.cpp: 90944 (WebCore::scrollCornerRect): 90945 * rendering/RenderTextControl.cpp: 90946 (WebCore::RenderTextControl::calcHeight): 90947 (WebCore::RenderTextControl::calcPrefWidths): 90948 90949 2008-09-13 Chris Fleizach <cfleizach (a] apple.com> 90950 90951 Reviewed by Timothy Hatcher. 90952 90953 <rdar://problem/5060439> Web elements should have an AXTopLevelUIElement 90954 90955 * page/mac/AccessibilityObjectWrapper.mm: 90956 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 90957 90958 2008-09-13 Dan Bernstein <mitz (a] apple.com> 90959 90960 Reviewed by Timothy Hatcher. 90961 90962 - fix <rdar://problem/6171280> REGRESSION (r35667): Assertion failure in WebCore::FrameView::scheduleRelayout() when releasing a page with counters from the b/f cache 90963 90964 No regression test because the back/forward cache is disabled in DumpRenderTree 90965 90966 * rendering/RenderContainer.cpp: 90967 (WebCore::RenderContainer::invalidateCounters): Bail out if the document 90968 is being destroyed. 90969 90970 2008-09-13 Kevin Ollivier <kevino (a] theolliviers.com> 90971 90972 wx build fixes for new methods recently introduced. 90973 90974 * platform/graphics/wx/AffineTransformWx.cpp: 90975 (WebCore::AffineTransform::AffineTransform): 90976 (WebCore::AffineTransform::setMatrix): 90977 (WebCore::AffineTransform::setA): 90978 (WebCore::AffineTransform::setB): 90979 (WebCore::AffineTransform::setC): 90980 (WebCore::AffineTransform::setD): 90981 (WebCore::AffineTransform::setE): 90982 (WebCore::AffineTransform::setF): 90983 * platform/wx/LocalizedStringsWx.cpp: 90984 (WebCore::AXDefinitionListTermText): 90985 (WebCore::AXDefinitionListDefinitionText): 90986 90987 2008-09-12 Dave Hyatt <hyatt (a] apple.com> 90988 90989 Move the member variables of PlatformScrollbar up into Scrollbar. Move autoscroll timer handling 90990 up into scrollbar. Make sure a bunch of cross-platform code now just uses "Scrollbar" instead of 90991 "PlatformScrollbar." 90992 90993 Reviewed by Sam Weinig 90994 90995 * WebCore.vcproj/WebCore.vcproj: 90996 * editing/EditorCommand.cpp: 90997 * page/EventHandler.cpp: 90998 (WebCore::EventHandler::selectCursor): 90999 (WebCore::EventHandler::handleMousePressEvent): 91000 (WebCore::EventHandler::handleMouseMoveEvent): 91001 * page/EventHandler.h: 91002 * page/MouseEventWithHitTestResults.cpp: 91003 (WebCore::MouseEventWithHitTestResults::scrollbar): 91004 * page/MouseEventWithHitTestResults.h: 91005 * page/gtk/EventHandlerGtk.cpp: 91006 (WebCore::EventHandler::passMousePressEventToScrollbar): 91007 * page/mac/EventHandlerMac.mm: 91008 (WebCore::EventHandler::passMousePressEventToScrollbar): 91009 * page/qt/EventHandlerQt.cpp: 91010 (WebCore::EventHandler::passMousePressEventToScrollbar): 91011 * page/win/EventHandlerWin.cpp: 91012 (WebCore::EventHandler::passMousePressEventToScrollbar): 91013 * page/wx/EventHandlerWx.cpp: 91014 (WebCore::EventHandler::passMousePressEventToScrollbar): 91015 * platform/PopupMenu.h: 91016 * platform/ScrollBar.cpp: 91017 (WebCore::Scrollbar::Scrollbar): 91018 (WebCore::Scrollbar::autoscrollTimerFired): 91019 (WebCore::Scrollbar::autoscrollPressedPart): 91020 (WebCore::Scrollbar::startTimerIfNeeded): 91021 (WebCore::Scrollbar::stopTimerIfNeeded): 91022 (WebCore::Scrollbar::pressedPartScrollDirection): 91023 (WebCore::Scrollbar::pressedPartScrollGranularity): 91024 * platform/ScrollBar.h: 91025 (WebCore::Scrollbar::handleMousePressEvent): 91026 (WebCore::Scrollbar::invalidatePart): 91027 (WebCore::Scrollbar::thumbUnderMouse): 91028 * platform/ScrollView.h: 91029 * platform/ScrollbarClient.h: Added. 91030 (WebCore::ScrollbarClient::~ScrollbarClient): 91031 * platform/gtk/ScrollViewGtk.cpp: 91032 (WebCore::ScrollView::scrollbarUnderMouse): 91033 * platform/qt/PlatformScrollBar.h: 91034 * platform/qt/PlatformScrollBarQt.cpp: 91035 (WebCore::PlatformScrollbar::PlatformScrollbar): 91036 (WebCore::scrollbarPart): 91037 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 91038 (WebCore::PlatformScrollbar::handleMouseOutEvent): 91039 (WebCore::PlatformScrollbar::handleMousePressEvent): 91040 (WebCore::PlatformScrollbar::handleMouseReleaseEvent): 91041 * platform/qt/ScrollViewQt.cpp: 91042 (WebCore::ScrollView::scrollbarUnderMouse): 91043 (WebCore::ScrollView::wheelEvent): 91044 * platform/win/PlatformScrollBar.h: 91045 * platform/win/PlatformScrollBarSafari.cpp: 91046 (WebCore::PlatformScrollbar::PlatformScrollbar): 91047 * platform/win/PlatformScrollBarWin.cpp: 91048 (WebCore::PlatformScrollbar::PlatformScrollbar): 91049 * platform/win/ScrollViewWin.cpp: 91050 (WebCore::ScrollView::scrollbarUnderMouse): 91051 * rendering/HitTestResult.cpp: 91052 (WebCore::HitTestResult::setScrollbar): 91053 * rendering/HitTestResult.h: 91054 (WebCore::HitTestResult::scrollbar): 91055 * rendering/RenderLayer.cpp: 91056 (WebCore::RenderLayer::hitTestOverflowControls): 91057 * rendering/RenderLayer.h: 91058 * rendering/RenderListBox.h: 91059 91060 2008-09-12 Steve Falkenburg <sfalken (a] apple.com> 91061 91062 Fix Mac build. 91063 91064 * css/CSSStyleSelector.cpp: 91065 (WebCore::getTransformOperationType): 91066 91067 2008-09-12 Chris Marrin <cmarrin (a] apple.com> 91068 91069 Reviewed by Dave Hyatt. 91070 91071 Make transform animation behavior match spec 91072 https://bugs.webkit.org/show_bug.cgi?id=20770 91073 91074 Tests: transitions/transform-op-list-match.html 91075 transitions/transform-op-list-no-match.html 91076 91077 * css/CSSStyleSelector.cpp: 91078 * css/CSSStyleSelector.h: 91079 * page/animation/AnimationBase.cpp: 91080 * page/animation/AnimationBase.h: 91081 * page/animation/ImplicitAnimation.cpp: 91082 * page/animation/ImplicitAnimation.h: 91083 * page/animation/KeyframeAnimation.cpp: 91084 * page/animation/KeyframeAnimation.h: 91085 * rendering/RenderLayer.cpp: 91086 * rendering/style/RenderStyle.cpp: 91087 * rendering/style/RenderStyle.h: 91088 91089 2008-09-12 Ojan Vafai <ojan (a] chromium.org> 91090 91091 Properly escape contents of links added to the inspector. 91092 For now, just build the link with the DOM and get the 91093 outerHTML. Eventually, we probably just want to do 91094 this entirely with the DOM. 91095 91096 Reviewed by Timothy Hatcher. 91097 91098 https://bugs.webkit.org/show_bug.cgi?id=20684 91099 91100 * manual-tests/inspector/escape-links.html: Added. 91101 * page/inspector/StylesSidebarPane.js: 91102 * page/inspector/inspector.js: 91103 * page/inspector/utilities.js: 91104 91105 2008-09-12 Adele Peterson <adele (a] apple.com> 91106 91107 Reviewed by John Sullivan and Kevin McCullough. 91108 91109 Fix for <rdar://problem/6216951> REGRESSION (r36000?): Crash due to infinite recursion into EventHandler::hitTestResultAtPoint() with disconnected frames 91110 91111 * page/EventHandler.cpp: (WebCore::EventHandler::hitTestResultAtPoint): 91112 Hit testing again on the main frame will only work if we aren't already on the main frame. If we are already on the main frame, that will 91113 cause infinite recursion. This change checks that we're not already on the main frame before hit testing again. 91114 91115 2008-09-12 Kevin McCullough <kmccullough (a] apple.com> 91116 91117 RS by Tim . 91118 91119 Re-introducing the code since it was not the cause of the crash. 91120 See r36343. 91121 91122 * rendering/RenderObject.cpp: 91123 (WebCore::RenderObject::canBeProgramaticallyScrolled): 91124 * rendering/RenderObject.h: 91125 91126 2008-09-12 Chris Marrin <cmarrin (a] apple.com> 91127 91128 Reviewed by Dave Hyatt. 91129 91130 When changing one animation in a list, don't reset other animations 91131 https://bugs.webkit.org/show_bug.cgi?id=20675 91132 91133 Test: animations/change-one-anim.html 91134 91135 * page/animation/AnimationBase.cpp: 91136 (WebCore::AnimationBase::getNumProperties): 91137 * page/animation/AnimationBase.h: 91138 * page/animation/AnimationController.cpp: 91139 * page/animation/CompositeAnimation.cpp: 91140 (WebCore::CompositeAnimation::updateKeyframeAnimations): 91141 * page/animation/CompositeAnimation.h: 91142 * page/animation/ImplicitAnimation.cpp: 91143 * page/animation/KeyframeAnimation.cpp: 91144 * page/animation/KeyframeAnimation.h: 91145 (WebCore::KeyframeAnimation::setIndex): 91146 91147 2008-09-12 Brady Eidson <beidson (a] apple.com> 91148 91149 Reviewed by Mitz Pettel 91150 91151 Fix the ASSERT and failure in webarchive/archive-empty-frame-source.html 91152 91153 * loader/DocumentLoader.cpp: 91154 (WebCore::DocumentLoader::mainResource): Further restoration of original WebArchive behavior. 91155 Subresources can never be created from nil data, but there is always a MainResource, whether 91156 or not there's any data. So in the case where the main resource has no data, fake it for the 91157 sake of creating the ArchiveResource. 91158 91159 2008-09-12 Dave Hyatt <hyatt (a] apple.com> 91160 91161 Preparation for major scrollbar rearchitecture. Eliminate the concept of non-widget based 91162 scrollbars (which we never supported anyway). Make Scrollbar derive from Widget directly. 91163 Remove all the isWidget and hasPlatformScrollbars guards. 91164 91165 Reviewed by Tim Hatcher 91166 91167 * platform/ScrollBar.h: 91168 * platform/gtk/PlatformScrollBar.h: 91169 * platform/mac/PlatformScrollBar.h: 91170 * platform/qt/PlatformScrollBar.h: 91171 * platform/win/PlatformScrollBar.h: 91172 * platform/win/ScrollViewWin.cpp: 91173 (WebCore::ScrollView::ScrollViewPrivate::setHasHorizontalScrollbar): 91174 (WebCore::ScrollView::ScrollViewPrivate::setHasVerticalScrollbar): 91175 * platform/wx/PlatformScrollBar.h: 91176 * rendering/RenderLayer.cpp: 91177 (WebCore::RenderLayer::horizontalScrollbarWidget): 91178 (WebCore::RenderLayer::verticalScrollbarWidget): 91179 (WebCore::RenderLayer::createScrollbar): 91180 (WebCore::RenderLayer::destroyScrollbar): 91181 * rendering/RenderListBox.cpp: 91182 (WebCore::RenderListBox::~RenderListBox): 91183 (WebCore::RenderListBox::updateFromElement): 91184 (WebCore::RenderListBox::isPointInOverflowControl): 91185 91186 2008-09-12 Dan Bernstein <mitz (a] apple.com> 91187 91188 Reviewed by Sam Weinig. 91189 91190 - https://bugs.webkit.org/show_bug.cgi?id=20793 clean up page/animation 91191 91192 * page/animation/AnimationController.cpp: 91193 * page/animation/AnimationController.h: 91194 * page/animation/CompositeAnimation.cpp: 91195 * page/animation/CompositeAnimation.h: 91196 * page/animation/ImplicitAnimation.cpp: 91197 * page/animation/ImplicitAnimation.h: 91198 * page/animation/KeyframeAnimation.cpp: 91199 * page/animation/KeyframeAnimation.h: 91200 91201 2008-09-11 Timothy Hatcher <timothy (a] apple.com> 91202 91203 Add a renderedImage method to DOMNode to get an image 91204 of the rendering for the node and it's descendants. 91205 91206 <rdar://problem/5849349> Would like API to create 91207 an image for a DOM node 91208 91209 Reviewed by Oliver Hunt. 91210 91211 * bindings/objc/DOM.mm: 91212 (-[DOMNode renderedImage]): Call Frame::nodeImage. 91213 * bindings/objc/DOMPrivate.h: 91214 * page/Frame.h: 91215 * page/mac/FrameMac.mm: 91216 (WebCore::Frame::nodeImage): 91217 91218 2008-09-08 Chris Marrin <cmarrin (a] apple.com> 91219 91220 Reviewed by Dave Hyatt 91221 91222 Need to support comma separated list of key times in keyframes selectors 91223 https://bugs.webkit.org/show_bug.cgi?id=20680 91224 91225 Test: animations/keyframes-comma-separated.html 91226 91227 * css/CSSGrammar.y: 91228 * css/CSSParser.cpp: 91229 (WebCore::CSSParser::createKeyframeRule): 91230 * css/CSSParser.h: 91231 * css/CSSStyleSelector.cpp: 91232 (WebCore::CSSStyleSelector::addKeyframeStyle): 91233 * css/WebKitCSSKeyframeRule.cpp: 91234 (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule): 91235 (WebCore::WebKitCSSKeyframeRule::cssText): 91236 (WebCore::WebKitCSSKeyframeRule::parseKeyString): 91237 * css/WebKitCSSKeyframeRule.h: 91238 (WebCore::WebKitCSSKeyframeRule::keyText): 91239 (WebCore::WebKitCSSKeyframeRule::setKeyText): 91240 (WebCore::WebKitCSSKeyframeRule::getKeys): 91241 * css/WebKitCSSKeyframesRule.cpp: 91242 (WebCore::WebKitCSSKeyframesRule::append): 91243 (WebCore::WebKitCSSKeyframesRule::insertRule): 91244 (WebCore::WebKitCSSKeyframesRule::deleteRule): 91245 (WebCore::WebKitCSSKeyframesRule::findRule): 91246 (WebCore::WebKitCSSKeyframesRule::findRuleIndex): 91247 * css/WebKitCSSKeyframesRule.h: 91248 * page/animation/AnimationBase.cpp: 91249 (WebCore::AnimationBase::blendProperties): 91250 91251 2008-09-11 Kevin McCullough <kmccullough (a] apple.com> 91252 91253 RS by Tim. 91254 91255 Reverting because this caused a crash. 91256 91257 * rendering/RenderObject.cpp: 91258 (WebCore::RenderObject::canBeProgramaticallyScrolled): 91259 (WebCore::RenderObject::hasScrollableView): 91260 * rendering/RenderObject.h: 91261 91262 2008-09-11 Dean Jackson <dino (a] apple.com> 91263 91264 Reviewed by Dan Bernstein. 91265 91266 Fix assertion on transition property "none" 91267 https://bugs.webkit.org/show_bug.cgi?id=20751 91268 91269 Test: transitions/transition-end-event-set-none.html 91270 91271 * page/animation/CompositeAnimation.cpp: 91272 (WebCore::CompositeAnimation::updateTransitions): 91273 91274 2008-09-11 David Smith <catfish.man (a] gmail.com> 91275 91276 Rubber-stamped by mitzpettel. 91277 91278 Remove an accidentally added extra file. 91279 91280 * WebCore: Removed. 91281 91282 2008-09-11 David Smith <catfish.man (a] gmail.com> 91283 91284 Reviewed by Darin 91285 91286 https://bugs.webkit.org/show_bug.cgi?id=20180 91287 91288 This speeds up :nth-child matching as tested by querySelectorAll by around 10% by inlining the common case of Node::renderStyle(). Many thanks to mitzpettel and othermaciej for suggestions and help. 91289 91290 * WebCore.xcodeproj/project.pbxproj: Add NodeRenderStyle.h 91291 * css/CSSStyleSelector.cpp: include NodeRenderStyle.h 91292 * dom/Element.cpp: include NodeRenderStyle.h 91293 * dom/Node.cpp: Remove the definition of renderStyle() 91294 (WebCore::Node::nonRendererRenderStyle): 91295 * dom/Node.h: Make renderStyle() nonvirtual and add nonRendererRenderStyle() 91296 * dom/NodeRenderStyle.h: Added. 91297 (WebCore::Node::renderStyle): Inline the common case of this, call nonRendererRenderStyle for the part that needed to be virtual 91298 * html/HTMLOptGroupElement.cpp: include NodeRenderStyle.h 91299 * html/HTMLOptGroupElement.h: 91300 (WebCore::HTMLOptGroupElement::nonRendererRenderStyle): override to return m_style 91301 * html/HTMLOptionElement.cpp: include NodeRenderStyle.h 91302 * html/HTMLOptionElement.h: 91303 (WebCore::HTMLOptionElement::nonRendererRenderStyle): override to return m_style 91304 * rendering/RenderListBox.cpp: include NodeRenderStyle.h 91305 * rendering/RenderMenuList.cpp: include NodeRenderStyle.h 91306 * svg/SVGUseElement.cpp: include NodeRenderStyle.h 91307 91308 2008-09-11 Kevin McCullough <kmccullough (a] apple.com> 91309 91310 Reviewed by Adele and Tim. 91311 91312 <rdar://problem/6100597> REGRESSION: clicking on search results in Web 91313 Inspector does not scroll to the line of the results (20167) 91314 - This was put in by Max to fix auto scrolling but is not correct for 91315 the whole web: rdar://problem/6213098 91316 91317 * rendering/RenderObject.cpp: 91318 (WebCore::RenderObject::canBeProgramaticallyScrolled): 91319 * rendering/RenderObject.h: 91320 91321 2008-09-11 Chris Fleizach <cfleizach (a] apple.com> 91322 91323 Reviewed by Beth Dakin 91324 91325 <rdar://problem/6210511> AX: if a frame has a title, that should be reported as the AXWebArea's title 91326 91327 Test: accessibility/frame-with-title.html 91328 91329 * page/AccessibilityRenderObject.cpp: 91330 (WebCore::AccessibilityRenderObject::accessibilityDescription): 91331 91332 2008-09-11 Dirk Schulze <vbs85 (a] gmx.de> 91333 91334 Reviewed by Simon. 91335 91336 Fixed stroke() and strokeRect() to support gradients 91337 and patterns on Qt. 91338 91339 [Qt] Canvas stroke don't work for gradients and patterns 91340 [https://bugs.webkit.org/show_bug.cgi?id=20749] 91341 91342 * platform/graphics/qt/GraphicsContextQt.cpp: 91343 (WebCore::GraphicsContext::strokePath): 91344 (WebCore::GraphicsContext::strokeRect): 91345 91346 2008-09-11 Dirk Schulze <vbs85 (a] gmx.de> 91347 91348 Reviewed by Simon. 91349 91350 https://bugs.webkit.org/show_bug.cgi?id=20729 91351 91352 Fixed canvas gradients for Qt 91353 91354 [Qt] Canvas gradients don't work as expected 91355 [https://bugs.webkit.org/show_bug.cgi?id=20729] 91356 91357 * platform/graphics/qt/GradientQt.cpp: 91358 (WebCore::Gradient::platformGradient): 91359 91360 2008-09-11 Dirk Schulze <vbs85 (a] gmx.de> 91361 91362 Reviewed by Simon. 91363 91364 https://bugs.webkit.org/show_bug.cgi?id=20568 91365 91366 Add support for patterns to Qt. 91367 91368 * platform/graphics/qt/PatternQt.cpp: 91369 (WebCore::Pattern::createPlatformPattern): 91370 91371 2008-09-10 Dan Bernstein <mitz (a] apple.com> 91372 91373 Reviewed by Sam Weinig. 91374 91375 - clean up AnimationBase 91376 91377 * page/animation/AnimationBase.cpp: 91378 * page/animation/AnimationBase.h: 91379 * page/animation/CompositeAnimation.cpp: 91380 * page/animation/ImplicitAnimation.cpp: 91381 * page/animation/ImplicitAnimation.h: 91382 * page/animation/KeyframeAnimation.cpp: 91383 * page/animation/KeyframeAnimation.h: 91384 91385 2008-09-10 Alexey Proskuryakov <ap (a] webkit.org> 91386 91387 Reviewed by Darin Adler. 91388 91389 https://bugs.webkit.org/show_bug.cgi?id=20741 91390 REGRESSION: ISO-8859-8-I encoding is registered incorrectly 91391 91392 Turns out that there were no real behavior changes for 8859-8, as it was only a debug-only 91393 check to ignore this specific registration that was failing. Yet, I decided to add a bunch of 91394 tests for ISO-8859-8 encoding aliases, as we handle them in a quite complicated manner. 91395 91396 I also found and fixed a potential crasher for non-Mac ports. 91397 91398 Tests: fast/encoding/hebrew/8859-8-e.html 91399 fast/encoding/hebrew/8859-8-i.html 91400 fast/encoding/hebrew/8859-8.html 91401 fast/encoding/hebrew/csISO88598I.html 91402 fast/encoding/hebrew/hebrew.html 91403 fast/encoding/hebrew/iso-ir-138.html 91404 fast/encoding/hebrew/logical.html 91405 91406 * platform/text/TextEncodingRegistry.cpp: (WebCore::checkExistingName): Check for iso-8859-8 91407 (case-insensitively, because different versions of ICU report this MIME name in different 91408 case). 91409 91410 * platform/text/TextCodecICU.cpp: 91411 (WebCore::TextCodecICU::registerExtendedEncodingNames): Updated some comments. 91412 (WebCore::TextCodecICU::registerExtendedCodecs): Try both MIME and IANA names here, too. 91413 There are four names in ICU that only have MIME names (x-mac-* ones), so we could end up 91414 with an encoding map entry, but no codec for these. This was not an issue on the Mac, as 91415 we also support these via TEC (which we should stop doing), but on Windows, this would 91416 likely crash. 91417 91418 2008-09-09 Dave Hyatt <hyatt (a] apple.com 91419 91420 Resurrect PlatformScrollbarWin. 91421 91422 Reviewed by Adam Roben 91423 91424 * WebCore.vcproj/WebCore.vcproj: 91425 * platform/win/PlatformScrollBarWin.cpp: 91426 (WebCore::isRunningOnVistaOrLater): 91427 (WebCore::checkAndInitScrollbarTheme): 91428 (WebCore::PlatformScrollbar::PlatformScrollbar): 91429 (WebCore::PlatformScrollbar::invalidateTrack): 91430 (WebCore::PlatformScrollbar::invalidatePart): 91431 (WebCore::PlatformScrollbar::paint): 91432 (WebCore::PlatformScrollbar::hasButtons): 91433 (WebCore::PlatformScrollbar::hasThumb): 91434 (WebCore::PlatformScrollbar::backButtonRect): 91435 (WebCore::PlatformScrollbar::forwardButtonRect): 91436 (WebCore::PlatformScrollbar::trackRect): 91437 (WebCore::PlatformScrollbar::gripperRect): 91438 (WebCore::PlatformScrollbar::thumbLength): 91439 (WebCore::PlatformScrollbar::paintButton): 91440 (WebCore::PlatformScrollbar::paintTrack): 91441 (WebCore::PlatformScrollbar::paintThumb): 91442 (WebCore::PlatformScrollbar::paintGripper): 91443 (WebCore::PlatformScrollbar::hitTest): 91444 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 91445 (WebCore::PlatformScrollbar::handleMouseOutEvent): 91446 (WebCore::PlatformScrollbar::themeChanged): 91447 91448 2008-09-09 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 91449 91450 Reviewed by Maciej Stachowiak. 91451 91452 Bug 20759: Remove MacroAssembler 91453 <https://bugs.webkit.org/show_bug.cgi?id=20759> 91454 91455 Make the necessary changes to ForwardingHeaders to remove 91456 MacroAssembler. 91457 91458 * ForwardingHeaders/masm/IA32MacroAsm.h: Removed. 91459 * ForwardingHeaders/masm/MacroAssembler.h: Removed. 91460 * ForwardingHeaders/masm/X86Assembler.h: Added. 91461 91462 2008-09-09 Alp Toker <alp (a] nuanti.com> 91463 91464 Reviewed by Dave Hyatt. 91465 91466 https://bugs.webkit.org/show_bug.cgi?id=16792 91467 [GTK] Fails to render Japanese/Chinese text with simple path 91468 91469 https://bugs.webkit.org/show_bug.cgi?id=16942 91470 [GTK] Oddities in font selection and fall back 91471 91472 https://bugs.webkit.org/show_bug.cgi?id=16862 91473 [GTK] Custom fonts hard-coded to use grayscale antialiasing and no hinting 91474 91475 GTK+ font fixes and enhancements. 91476 91477 Implement font fallback for the simple FontConfig-based text path and 91478 improve the Pango-based complex text path to make use of requested 91479 font properties and available font selection. 91480 91481 Add text shadow support to the complex path. 91482 91483 * platform/graphics/gtk/FontCacheGtk.cpp: 91484 (WebCore::FontCache::getFontDataForCharacters): 91485 (WebCore::FontCache::getSimilarFontPlatformData): 91486 * platform/graphics/gtk/FontGtk.cpp: 91487 (WebCore::setPangoAttributes): 91488 (WebCore::Font::drawComplexText): 91489 (WebCore::getDefaultPangoLayout): 91490 (WebCore::Font::floatWidthForComplexText): 91491 (WebCore::Font::offsetForPositionForComplexText): 91492 (WebCore::Font::selectionRectForComplexText): 91493 * platform/graphics/gtk/FontPlatformData.h: 91494 (WebCore::FontPlatformData::FontPlatformData): 91495 (WebCore::FontPlatformData::hash): 91496 * platform/graphics/gtk/FontPlatformDataGtk.cpp: 91497 (WebCore::FontPlatformData::FontPlatformData): 91498 * platform/graphics/gtk/SimpleFontDataGtk.cpp: 91499 (WebCore::SimpleFontData::platformDestroy): 91500 91501 2008-09-09 Dave Hyatt <hyatt (a] apple.com> 91502 91503 Make the Windows classic case work again. Overlap in slider constants and other constants broke 91504 the push state for buttons and checkboxes. Make sure to check the RenderObject's appearance 91505 value to make sure it's really a slider thumb to resolve this conflict. 91506 91507 Reviewed by Adam Roben 91508 91509 * rendering/RenderThemeWin.cpp: 91510 (WebCore::drawControl): 91511 91512 2008-09-05 Chris Marrin <cmarrin (a] apple.com> 91513 91514 Reviewed by Sam Weinig. 91515 91516 Need to handle the case when 0% or 100% keyframe is omitted 91517 https://bugs.webkit.org/show_bug.cgi?id=20679 91518 91519 Tests: animations/keyframes-from-missing.html 91520 animations/keyframes-to-missing.html 91521 91522 * css/CSSStyleSelector.cpp: 91523 (WebCore::CSSStyleSelector::addKeyframeStyle): 91524 91525 2008-09-09 Dave Hyatt <hyatt (a] apple.com> 91526 91527 Resurrect Safari's original RenderThemeWin and bring it up to date with ToT. Having a current 91528 RenderThemeWin that does not have any Skia dependencies should provide a good basis for a potential 91529 merge of Google Chrome's RenderThemeWin (to help us see where the Skia stuff can be cut and to see 91530 what changes have been made as compared with the old RenderThemeWin). 91531 91532 Fix CSS2 system fonts to properly set both the rendering mode (so that they properly pick up GDI vs. CG 91533 text rendering modes) and the printer font setting (so that OS X system fonts properly pick up screen 91534 vs. printer advancement rounding). 91535 91536 Reviewed by Adam/Sam 91537 91538 * css/CSSStyleSelector.cpp: 91539 (WebCore::CSSStyleSelector::applyProperty): 91540 * platform/graphics/Icon.h: 91541 (WebCore::Icon::create): 91542 * rendering/RenderThemeWin.cpp: 91543 (WebCore::RenderThemeWin::RenderThemeWin): 91544 (WebCore::RenderThemeWin::~RenderThemeWin): 91545 (WebCore::RenderThemeWin::buttonTheme): 91546 (WebCore::RenderThemeWin::textFieldTheme): 91547 (WebCore::RenderThemeWin::menuListTheme): 91548 (WebCore::RenderThemeWin::sliderTheme): 91549 (WebCore::RenderThemeWin::close): 91550 (WebCore::RenderThemeWin::themeChanged): 91551 (WebCore::RenderThemeWin::supportsHover): 91552 (WebCore::fillFontDescription): 91553 (WebCore::RenderThemeWin::systemFont): 91554 (WebCore::RenderThemeWin::supportsFocus): 91555 (WebCore::RenderThemeWin::determineClassicState): 91556 (WebCore::RenderThemeWin::determineState): 91557 (WebCore::RenderThemeWin::determineSliderThumbState): 91558 (WebCore::RenderThemeWin::getClassicThemeData): 91559 (WebCore::RenderThemeWin::getThemeData): 91560 (WebCore::drawControl): 91561 (WebCore::RenderThemeWin::paintButton): 91562 (WebCore::RenderThemeWin::paintTextField): 91563 (WebCore::RenderThemeWin::paintMenuList): 91564 (WebCore::RenderThemeWin::adjustMenuListStyle): 91565 (WebCore::RenderThemeWin::adjustMenuListButtonStyle): 91566 (WebCore::RenderThemeWin::paintMenuListButton): 91567 (WebCore::RenderThemeWin::paintSliderTrack): 91568 (WebCore::RenderThemeWin::paintSliderThumb): 91569 (WebCore::RenderThemeWin::adjustSliderThumbSize): 91570 (WebCore::RenderThemeWin::paintSearchField): 91571 (WebCore::RenderThemeWin::adjustSearchFieldStyle): 91572 (WebCore::RenderThemeWin::paintSearchFieldCancelButton): 91573 (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle): 91574 (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle): 91575 (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle): 91576 (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration): 91577 (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle): 91578 (WebCore::RenderThemeWin::paintSearchFieldResultsButton): 91579 * rendering/RenderThemeWin.h: 91580 (WebCore::ThemeData::ThemeData): 91581 (WebCore::RenderThemeWin::paintSearchFieldDecoration): 91582 (WebCore::RenderThemeWin::adjustButtonStyle): 91583 (WebCore::RenderThemeWin::adjustTextFieldStyle): 91584 (WebCore::RenderThemeWin::adjustTextAreaStyle): 91585 91586 2008-09-09 Dean Jackson <dino (a] apple.com> 91587 91588 Reviewed by Sam Weinig. 91589 91590 Document::createEvent missing cases for animation and 91591 transition events. 91592 https://bugs.webkit.org/show_bug.cgi?id=20734 91593 91594 Test: transitions/transition-end-event-create.html 91595 Test: animations/animation-events-create.html 91596 91597 * dom/Document.cpp: 91598 (WebCore::Document::createEvent): 91599 - add the two cases 91600 91601 2008-09-09 Dan Bernstein <mitz (a] apple.com> 91602 91603 - Tiger build fix 91604 91605 * WebCore.Tiger.exp: 91606 * WebCore.base.exp: 91607 * platform/mac/WebCoreSystemInterface.h: 91608 * platform/mac/WebCoreSystemInterface.mm: 91609 91610 2008-09-09 Dan Bernstein <mitz (a] apple.com> 91611 91612 Reviewed by Darin Adler. 91613 91614 - WebCore part of <rdar://problem/6206244> Use alternate character-to-glyph interface on Leopard 91615 91616 * WebCore.Tiger.exp: 91617 * WebCore.base.exp: 91618 * platform/graphics/SimpleFontData.h: 91619 * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: 91620 (WebCore::GlyphPage::fill): 91621 * platform/graphics/mac/SimpleFontDataMac.mm: 91622 (WebCore::initFontData): 91623 (WebCore::SimpleFontData::platformInit): 91624 (WebCore::SimpleFontData::platformDestroy): 91625 * platform/mac/WebCoreSystemInterface.h: 91626 * platform/mac/WebCoreSystemInterface.mm: 91627 91628 2008-09-09 Kevin McCullough <kmccullough (a] apple.com> 91629 91630 Reviewed by Tim. 91631 91632 <rdar://problem/6198545> REGRESSION: Inspector debugger barfs on 91633 breakpoints inside eval. 91634 91635 * page/inspector/inspector.js: 91636 91637 2008-09-09 Joerg Bornemann <joerg.bornemann (a] trolltech.com> 91638 91639 Reviewed by Simon. 91640 91641 Fix compilation of the Qt port with disabled plugins on Windows 91642 91643 * WebCore.pro: 91644 * plugins/PluginView.cpp: 91645 (WebCore::PluginView::PluginView): 91646 * plugins/PluginView.h: 91647 91648 2008-09-09 Jungshik Shin <jungshik.shin (a] gmail.com> 91649 91650 Reviewed by Alexey Proskuryakov. 91651 91652 Try MIME charset names before trying IANA names 91653 ( https://bugs.webkit.org/show_bug.cgi?id=17537 ) 91654 91655 With this change, shorter and more widely used names (preferred MIME 91656 names) are returned by document.charset, document.characterSet, 91657 document.inputEncoding rather than IANA names. This helps 91658 fixing bug 18085 in addition to web developers who are more familiar 91659 with MIME names. For instance, EUC-JP, ISO-8859-X and US-ASCII will be 91660 returned instead of Extended_UNIX_Code_Packed_Format_for_Japanese, 91661 ISO-8859-X:19xx, and ANSI_X3.4-1968. It also replaces IBM8xx with cp8xx. 91662 Note that cp/IBM 8xx are extremly rare in today's web. Even if they're 91663 used, the former is still recognized as aliases to the latter so that 91664 there's very little, if any, to worry about. 91665 91666 * platform/text/TextCodecICU.cpp: 91667 (WebCore::TextCodecICU::registerExtendedEncodingNames): 91668 91669 2008-09-08 Sam Weinig <sam (a] webkit.org> 91670 91671 Reviewed by Maciej Stachowiak and Oliver Hunt. 91672 91673 Add forwarding headers. 91674 91675 * ForwardingHeaders/wtf/HashFunctions.h: Added. 91676 91677 2008-09-05 Dean Jackson <dino (a] apple.com> 91678 91679 Reviewed by Dan Bernstein. 91680 91681 Update grammar so that we can add a keyframe rule via the DOM. 91682 https://bugs.webkit.org/show_bug.cgi?id=20613 91683 91684 * css/CSSGrammar.y: 91685 * css/tokenizer.flex: 91686 91687 2008-09-08 Antti Koivisto <antti (a] apple.com> 91688 91689 Reviewed by Dan Bernstein. 91690 91691 Allow <br> for simple UA stylesheet. Editing code generates them. It does not 91692 actually show up in any of the default stylesheets. 91693 91694 * css/CSSStyleSelector.cpp: 91695 (WebCore::elementCanUseSimpleDefaultStyle): 91696 91697 2008-09-08 Dimitri Glazkov <dglazkov (a] google.com> 91698 91699 Reviewed by Dan Bernstein. 91700 91701 - fix https://bugs.webkit.org/show_bug.cgi?id=20237 91702 Zero width and space characters are displayed incorrectly if not contained in a fallback font 91703 91704 Adds an extra check for Object Replacement Character (U+FFFC) to address 91705 the issue with fast/text/zero-width-characters.html test when run 91706 with Windows system default fonts. 91707 91708 * platform/graphics/Font.h: 91709 (WebCore::Font::treatAsZeroWidthSpace): 91710 91711 2008-09-08 Dean Jackson <dino (a] apple.com> 91712 91713 Reviewed by Sam Weinig. 91714 91715 Code style issue I forgot to fix from previous commit. 91716 91717 * platform/graphics/AffineTransform.cpp: 91718 (WebCore::AffineTransform::blend): 91719 91720 2008-09-08 Chris Marrin <cmarrin (a] apple.com> 91721 91722 Reviewed by Sam Weinig 91723 91724 - Animation of -webkit-transform matrix() function should not do linear interpolation 91725 https://bugs.webkit.org/show_bug.cgi?id=20667 91726 91727 Test: animations/matrix-anim.html 91728 91729 * ChangeLog: 91730 * platform/graphics/AffineTransform.cpp: 91731 (WebCore::affineTransformDecompose): 91732 (WebCore::affineTransformCompose): 91733 (WebCore::AffineTransform::blend): 91734 * platform/graphics/AffineTransform.h: 91735 * rendering/style/RenderStyle.cpp: 91736 (WebCore::MatrixTransformOperation::blend): 91737 91738 2008-09-08 Alexey Proskuryakov <ap (a] webkit.org> 91739 91740 Reviewed by Darin Adler. 91741 91742 https://bugs.webkit.org/show_bug.cgi?id=20668 91743 multipart/form-data does not always include Content-type for submitted files 91744 91745 Cannot be tested with DRT or manual tests. 91746 91747 * platform/MIMETypeRegistry.cpp: 91748 (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing. 91749 (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for 91750 unknown extensions, not just missing ones. 91751 91752 2008-09-08 Simon Hausmann <hausmann (a] webkit.org> 91753 91754 Build fix for the Qt/Windows build, define USE_JSC to 91755 enable the WebCore::String -> JSC::UString operator that 91756 MSVC insists on seeing 91757 91758 * WebCore.pro: 91759 91760 2008-09-08 Anders Carlsson <andersca (a] apple.com> 91761 91762 Reviewed by Maciej. 91763 91764 <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead. 91765 91766 In some cases, timeouts scheduled by a page in the onunload handler could fire even when the 91767 page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view). 91768 91769 Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed. 91770 91771 * bindings/js/JSDOMWindowBase.h: 91772 * loader/FrameLoader.cpp: 91773 (WebCore::FrameLoader::commitProvisionalLoad): 91774 91775 2008-09-07 Antti Koivisto <antti (a] apple.com> 91776 91777 Reviewed by Dave Hyatt. 91778 91779 Don't leak the simple stylesheet. 91780 Also call RenderTheme::adjustDefaultStyleSheet() in right place. 91781 91782 * css/CSSStyleSelector.cpp: 91783 (WebCore::loadFullDefaultStyle): 91784 (WebCore::loadSimpleDefaultStyle): 91785 (WebCore::CSSStyleSelector::styleForElement): 91786 91787 2008-09-07 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 91788 91789 Reviewed by Oliver Hunt. 91790 91791 Bug 20711: Change KJS prefix on preprocessor macros to JSC 91792 <https://bugs.webkit.org/show_bug.cgi?id=20711> 91793 91794 * bindings/js/JSEventTargetBase.h: 91795 * bindings/js/JSHTMLInputElementBase.cpp: 91796 * bindings/js/JSHTMLInputElementBase.h: 91797 * bindings/scripts/CodeGeneratorJS.pm: 91798 91799 2008-09-07 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 91800 91801 Reviewed by Maciej Stachowiak. 91802 91803 Bug 20704: Replace the KJS namespace 91804 <https://bugs.webkit.org/show_bug.cgi?id=20704> 91805 91806 Rename the KJS namespace to JSC. There are still some uses of KJS in the 91807 names of JNI functions, and I will check if these are safe to change 91808 as well. 91809 91810 * WebCore.base.exp: 91811 * bindings/js/GCController.cpp: 91812 * bindings/js/JSAttrCustom.cpp: 91813 * bindings/js/JSAudioConstructor.cpp: 91814 * bindings/js/JSAudioConstructor.h: 91815 (WebCore::JSAudioConstructor::classInfo): 91816 * bindings/js/JSCSSRuleCustom.cpp: 91817 * bindings/js/JSCSSStyleDeclarationCustom.cpp: 91818 * bindings/js/JSCSSValueCustom.cpp: 91819 * bindings/js/JSCanvasPixelArrayCustom.cpp: 91820 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 91821 * bindings/js/JSClipboardCustom.cpp: 91822 * bindings/js/JSConsoleCustom.cpp: 91823 * bindings/js/JSCustomSQLStatementCallback.cpp: 91824 (WebCore::JSCustomSQLStatementCallback::handleEvent): 91825 * bindings/js/JSCustomSQLStatementCallback.h: 91826 (WebCore::JSCustomSQLStatementCallback::create): 91827 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 91828 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 91829 * bindings/js/JSCustomSQLStatementErrorCallback.h: 91830 (WebCore::JSCustomSQLStatementErrorCallback::create): 91831 * bindings/js/JSCustomSQLTransactionCallback.cpp: 91832 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 91833 * bindings/js/JSCustomSQLTransactionCallback.h: 91834 (WebCore::JSCustomSQLTransactionCallback::create): 91835 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 91836 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 91837 * bindings/js/JSCustomSQLTransactionErrorCallback.h: 91838 (WebCore::JSCustomSQLTransactionErrorCallback::create): 91839 * bindings/js/JSCustomVoidCallback.cpp: 91840 (WebCore::JSCustomVoidCallback::handleEvent): 91841 * bindings/js/JSCustomVoidCallback.h: 91842 (WebCore::JSCustomVoidCallback::create): 91843 * bindings/js/JSCustomXPathNSResolver.cpp: 91844 (WebCore::JSCustomXPathNSResolver::create): 91845 * bindings/js/JSCustomXPathNSResolver.h: 91846 * bindings/js/JSDOMApplicationCacheCustom.cpp: 91847 (WebCore::JSDOMApplicationCache::dispatchEvent): 91848 * bindings/js/JSDOMBinding.cpp: 91849 (WebCore::jsOwnedStringOrNull): 91850 * bindings/js/JSDOMBinding.h: 91851 (WebCore::DOMObject::DOMObject): 91852 (WebCore::cacheDOMObject): 91853 (WebCore::cacheSVGDOMObject): 91854 (WebCore::DOMExceptionTranslator::DOMExceptionTranslator): 91855 (WebCore::toJS): 91856 * bindings/js/JSDOMWindowBase.cpp: 91857 * bindings/js/JSDOMWindowBase.h: 91858 (WebCore::JSDOMWindowBase::classInfo): 91859 (WebCore::JSDOMWindowBase::d): 91860 * bindings/js/JSDOMWindowCustom.cpp: 91861 (WebCore::JSDOMWindow::getPropertyAttributes): 91862 * bindings/js/JSDOMWindowCustom.h: 91863 (WebCore::asJSDOMWindow): 91864 (WebCore::JSDOMWindow::customGetOwnPropertySlot): 91865 (WebCore::JSDOMWindow::customPut): 91866 (WebCore::JSDOMWindowBase::allowsAccessFrom): 91867 (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage): 91868 * bindings/js/JSDOMWindowShell.cpp: 91869 (WebCore::JSDOMWindowShell::getPropertyAttributes): 91870 * bindings/js/JSDOMWindowShell.h: 91871 (WebCore::JSDOMWindowShell::classInfo): 91872 * bindings/js/JSDatabaseCustom.cpp: 91873 * bindings/js/JSDocumentCustom.cpp: 91874 * bindings/js/JSDocumentFragmentCustom.cpp: 91875 * bindings/js/JSElementCustom.cpp: 91876 * bindings/js/JSEventCustom.cpp: 91877 * bindings/js/JSEventListener.cpp: 91878 * bindings/js/JSEventListener.h: 91879 (WebCore::JSUnprotectedEventListener::create): 91880 (WebCore::JSEventListener::create): 91881 * bindings/js/JSEventTargetBase.cpp: 91882 * bindings/js/JSEventTargetBase.h: 91883 (WebCore::JSEventTargetBase::getValueProperty): 91884 (WebCore::JSEventTargetBase::putValueProperty): 91885 (WebCore::JSEventTargetBase::getOwnPropertySlot): 91886 (WebCore::JSEventTargetBase::put): 91887 (WebCore::JSEventTargetPrototype::JSEventTargetPrototype): 91888 (WebCore::JSEventTargetPrototype::self): 91889 (WebCore::JSEventTargetPrototype::getOwnPropertySlot): 91890 (WebCore::JSEventTargetPrototype::classInfo): 91891 * bindings/js/JSEventTargetNode.cpp: 91892 * bindings/js/JSEventTargetNode.h: 91893 (WebCore::JSEventTargetNode::getOwnPropertySlot): 91894 (WebCore::JSEventTargetNode::getValueProperty): 91895 (WebCore::JSEventTargetNode::put): 91896 (WebCore::JSEventTargetNode::putValueProperty): 91897 * bindings/js/JSHTMLAllCollection.h: 91898 (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): 91899 (WebCore::JSHTMLAllCollection::toBoolean): 91900 * bindings/js/JSHTMLAppletElementCustom.cpp: 91901 * bindings/js/JSHTMLCollectionCustom.cpp: 91902 * bindings/js/JSHTMLDocumentCustom.cpp: 91903 * bindings/js/JSHTMLElementCustom.cpp: 91904 * bindings/js/JSHTMLEmbedElementCustom.cpp: 91905 * bindings/js/JSHTMLFormElementCustom.cpp: 91906 * bindings/js/JSHTMLFrameElementCustom.cpp: 91907 * bindings/js/JSHTMLFrameSetElementCustom.cpp: 91908 * bindings/js/JSHTMLIFrameElementCustom.cpp: 91909 * bindings/js/JSHTMLInputElementBase.cpp: 91910 (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase): 91911 (WebCore::JSHTMLInputElementBase::getOwnPropertySlot): 91912 * bindings/js/JSHTMLInputElementBase.h: 91913 (WebCore::JSHTMLInputElementBase::classInfo): 91914 * bindings/js/JSHTMLObjectElementCustom.cpp: 91915 * bindings/js/JSHTMLOptionElementConstructor.cpp: 91916 * bindings/js/JSHTMLOptionElementConstructor.h: 91917 (WebCore::JSHTMLOptionElementConstructor::classInfo): 91918 * bindings/js/JSHTMLOptionsCollectionCustom.cpp: 91919 * bindings/js/JSHTMLSelectElementCustom.cpp: 91920 (WebCore::selectIndexSetter): 91921 (WebCore::JSHTMLSelectElement::indexSetter): 91922 * bindings/js/JSHTMLSelectElementCustom.h: 91923 * bindings/js/JSHistoryCustom.cpp: 91924 * bindings/js/JSImageConstructor.cpp: 91925 * bindings/js/JSImageConstructor.h: 91926 (WebCore::JSImageConstructor::classInfo): 91927 * bindings/js/JSInspectedObjectWrapper.cpp: 91928 * bindings/js/JSInspectedObjectWrapper.h: 91929 (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue): 91930 (WebCore::JSInspectedObjectWrapper::classInfo): 91931 * bindings/js/JSInspectorCallbackWrapper.cpp: 91932 * bindings/js/JSInspectorCallbackWrapper.h: 91933 (WebCore::JSInspectorCallbackWrapper::classInfo): 91934 (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue): 91935 * bindings/js/JSJavaScriptCallFrameCustom.cpp: 91936 * bindings/js/JSLocationCustom.cpp: 91937 * bindings/js/JSMimeTypeArrayCustom.cpp: 91938 * bindings/js/JSNSResolver.cpp: 91939 * bindings/js/JSNSResolver.h: 91940 (WebCore::JSNSResolver::create): 91941 * bindings/js/JSNamedNodeMapCustom.cpp: 91942 * bindings/js/JSNamedNodesCollection.cpp: 91943 (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): 91944 * bindings/js/JSNamedNodesCollection.h: 91945 (WebCore::JSNamedNodesCollection::classInfo): 91946 * bindings/js/JSNavigatorCustom.cpp: 91947 * bindings/js/JSNodeCustom.cpp: 91948 * bindings/js/JSNodeFilterCondition.cpp: 91949 (WebCore::JSNodeFilterCondition::acceptNode): 91950 * bindings/js/JSNodeFilterCondition.h: 91951 (WebCore::JSNodeFilterCondition::create): 91952 * bindings/js/JSNodeFilterCustom.cpp: 91953 * bindings/js/JSNodeIteratorCustom.cpp: 91954 * bindings/js/JSNodeListCustom.cpp: 91955 * bindings/js/JSPluginArrayCustom.cpp: 91956 * bindings/js/JSPluginCustom.cpp: 91957 * bindings/js/JSPluginElementFunctions.cpp: 91958 (WebCore::getRuntimeObject): 91959 * bindings/js/JSPluginElementFunctions.h: 91960 * bindings/js/JSQuarantinedObjectWrapper.cpp: 91961 (WebCore::JSQuarantinedObjectWrapper::construct): 91962 (WebCore::JSQuarantinedObjectWrapper::call): 91963 * bindings/js/JSQuarantinedObjectWrapper.h: 91964 (WebCore::JSQuarantinedObjectWrapper::unwrappedObject): 91965 (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject): 91966 (WebCore::JSQuarantinedObjectWrapper::className): 91967 * bindings/js/JSRGBColor.cpp: 91968 * bindings/js/JSRGBColor.h: 91969 (WebCore::JSRGBColor::classInfo): 91970 * bindings/js/JSSQLResultSetRowListCustom.cpp: 91971 * bindings/js/JSSQLTransactionCustom.cpp: 91972 * bindings/js/JSSVGLazyEventListener.cpp: 91973 * bindings/js/JSSVGLazyEventListener.h: 91974 * bindings/js/JSSVGLengthCustom.cpp: 91975 * bindings/js/JSSVGMatrixCustom.cpp: 91976 (WebCore::JSSVGMatrix::inverse): 91977 (WebCore::JSSVGMatrix::rotateFromVector): 91978 * bindings/js/JSSVGPathSegCustom.cpp: 91979 * bindings/js/JSSVGPathSegListCustom.cpp: 91980 (WebCore::JSSVGPathSegList::initialize): 91981 (WebCore::JSSVGPathSegList::getItem): 91982 (WebCore::JSSVGPathSegList::insertItemBefore): 91983 (WebCore::JSSVGPathSegList::replaceItem): 91984 (WebCore::JSSVGPathSegList::removeItem): 91985 (WebCore::JSSVGPathSegList::appendItem): 91986 * bindings/js/JSSVGPointListCustom.cpp: 91987 * bindings/js/JSSVGTransformListCustom.cpp: 91988 * bindings/js/JSStorageCustom.cpp: 91989 * bindings/js/JSStyleSheetCustom.cpp: 91990 * bindings/js/JSStyleSheetListCustom.cpp: 91991 * bindings/js/JSTextCustom.cpp: 91992 * bindings/js/JSTreeWalkerCustom.cpp: 91993 * bindings/js/JSXMLHttpRequestConstructor.cpp: 91994 * bindings/js/JSXMLHttpRequestConstructor.h: 91995 (WebCore::JSXMLHttpRequestConstructor::classInfo): 91996 * bindings/js/JSXMLHttpRequestCustom.cpp: 91997 * bindings/js/JSXMLHttpRequestUploadCustom.cpp: 91998 * bindings/js/JSXSLTProcessorConstructor.cpp: 91999 * bindings/js/JSXSLTProcessorConstructor.h: 92000 (WebCore::JSXSLTProcessorConstructor::classInfo): 92001 * bindings/js/JSXSLTProcessorCustom.cpp: 92002 * bindings/js/ScheduledAction.cpp: 92003 * bindings/js/ScheduledAction.h: 92004 * bindings/js/ScriptController.cpp: 92005 (WebCore::ScriptController::attachDebugger): 92006 (WebCore::ScriptController::windowScriptNPObject): 92007 * bindings/js/ScriptController.h: 92008 * bindings/js/ScriptControllerGtk.cpp: 92009 (WebCore::ScriptController::createScriptInstanceForWidget): 92010 * bindings/js/ScriptControllerMac.mm: 92011 (WebCore::ScriptController::createScriptInstanceForWidget): 92012 (WebCore::ScriptController::windowScriptObject): 92013 (WebCore::ScriptController::clearPlatformScriptObjects): 92014 (WebCore::updateRenderingForBindings): 92015 (WebCore::ScriptController::initJavaJSBindings): 92016 * bindings/js/ScriptControllerQt.cpp: 92017 (WebCore::ScriptController::createScriptInstanceForWidget): 92018 * bindings/js/ScriptControllerWin.cpp: 92019 (WebCore::ScriptController::createScriptInstanceForWidget): 92020 * bindings/js/ScriptControllerWx.cpp: 92021 (WebCore::ScriptController::createScriptInstanceForWidget): 92022 * bindings/js/StringSourceProvider.h: 92023 (WebCore::StringSourceProvider::getRange): 92024 * bindings/objc/DOM.mm: 92025 (-[DOMNode JSC::Bindings::]): 92026 * bindings/objc/DOMInternal.h: 92027 * bindings/objc/DOMInternal.mm: 92028 (-[WebScriptObject _initializeScriptDOMNodeImp]): 92029 * bindings/objc/DOMUtility.mm: 92030 (JSC::createDOMWrapper): 92031 (WebCore::createDOMWrapper): 92032 * bindings/objc/WebScriptObject.mm: 92033 (WebCore::createJSWrapper): 92034 (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]): 92035 * bindings/objc/WebScriptObjectPrivate.h: 92036 * bindings/scripts/CodeGeneratorJS.pm: 92037 * bridge/NP_jsobject.cpp: 92038 * bridge/NP_jsobject.h: 92039 * bridge/c/c_class.cpp: 92040 * bridge/c/c_class.h: 92041 * bridge/c/c_instance.cpp: 92042 * bridge/c/c_instance.h: 92043 * bridge/c/c_runtime.cpp: 92044 * bridge/c/c_runtime.h: 92045 * bridge/c/c_utility.cpp: 92046 * bridge/c/c_utility.h: 92047 * bridge/jni/jni_class.cpp: 92048 * bridge/jni/jni_class.h: 92049 * bridge/jni/jni_instance.cpp: 92050 * bridge/jni/jni_instance.h: 92051 * bridge/jni/jni_jsobject.h: 92052 * bridge/jni/jni_jsobject.mm: 92053 (JavaJSObject::call): 92054 (JavaJSObject::convertJObjectToValue): 92055 * bridge/jni/jni_objc.mm: 92056 (JSC::Bindings::dispatchJNICall): 92057 * bridge/jni/jni_runtime.cpp: 92058 * bridge/jni/jni_runtime.h: 92059 * bridge/jni/jni_utility.cpp: 92060 * bridge/jni/jni_utility.h: 92061 * bridge/npruntime.cpp: 92062 (_NPN_GetStringIdentifier): 92063 * bridge/objc/WebScriptObject.h: 92064 * bridge/objc/objc_class.h: 92065 * bridge/objc/objc_class.mm: 92066 * bridge/objc/objc_instance.h: 92067 * bridge/objc/objc_instance.mm: 92068 * bridge/objc/objc_runtime.h: 92069 * bridge/objc/objc_runtime.mm: 92070 * bridge/objc/objc_utility.h: 92071 * bridge/objc/objc_utility.mm: 92072 * bridge/qt/qt_class.cpp: 92073 * bridge/qt/qt_class.h: 92074 * bridge/qt/qt_instance.cpp: 92075 * bridge/qt/qt_instance.h: 92076 * bridge/qt/qt_runtime.cpp: 92077 (JSC::Bindings::convertQVariantToValue): 92078 (JSC::Bindings::): 92079 * bridge/qt/qt_runtime.h: 92080 * bridge/runtime.cpp: 92081 * bridge/runtime.h: 92082 * bridge/runtime_array.cpp: 92083 * bridge/runtime_array.h: 92084 * bridge/runtime_method.cpp: 92085 * bridge/runtime_method.h: 92086 * bridge/runtime_object.cpp: 92087 * bridge/runtime_object.h: 92088 * bridge/runtime_root.cpp: 92089 (JSC::Bindings::RootObject::invalidate): 92090 (JSC::Bindings::RootObject::gcProtect): 92091 (JSC::Bindings::RootObject::gcUnprotect): 92092 * bridge/runtime_root.h: 92093 * bridge/testbindings.cpp: 92094 * bridge/testbindings.mm: 92095 * bridge/testqtbindings.cpp: 92096 * dom/Document.cpp: 92097 (WebCore::Document::~Document): 92098 * dom/NSResolver.h: 92099 * dom/Node.cpp: 92100 (WebCore::Node::setDocument): 92101 (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor): 92102 (WebCore::resolveNamespacesForSelector): 92103 (WebCore::Node::querySelector): 92104 (WebCore::Node::querySelectorAll): 92105 * dom/Node.h: 92106 * dom/NodeFilter.cpp: 92107 * dom/NodeFilter.h: 92108 * dom/NodeFilterCondition.cpp: 92109 * dom/NodeFilterCondition.h: 92110 * dom/NodeIterator.cpp: 92111 * dom/NodeIterator.h: 92112 * dom/Traversal.cpp: 92113 * dom/Traversal.h: 92114 * dom/TreeWalker.cpp: 92115 * dom/TreeWalker.h: 92116 * dom/make_names.pl: 92117 * history/CachedPage.cpp: 92118 * history/CachedPage.h: 92119 * html/HTMLPlugInElement.cpp: 92120 (WebCore::HTMLPlugInElement::getInstance): 92121 * html/HTMLPlugInElement.h: 92122 * loader/FrameLoader.cpp: 92123 * loader/FrameLoader.h: 92124 * loader/icon/IconDatabase.cpp: 92125 (WebCore::iconDatabase): 92126 * page/Console.cpp: 92127 * page/Console.h: 92128 * page/InspectorController.cpp: 92129 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): 92130 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): 92131 (WebCore::InspectorResource::setXMLHttpRequestProperties): 92132 (WebCore::InspectorResource::sourceString): 92133 (WebCore::getResourceDocumentNode): 92134 (WebCore::search): 92135 (WebCore::InspectorController::focusNode): 92136 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 92137 (WebCore::InspectorController::addDatabaseScriptResource): 92138 (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest): 92139 * page/InspectorController.h: 92140 (WebCore::InspectorController::profiles): 92141 * page/JavaScriptCallFrame.cpp: 92142 (WebCore::JavaScriptCallFrame::scopeChain): 92143 * page/JavaScriptCallFrame.h: 92144 (WebCore::JavaScriptCallFrame::create): 92145 (WebCore::JavaScriptCallFrame::update): 92146 * page/JavaScriptDebugListener.h: 92147 * page/JavaScriptDebugServer.cpp: 92148 (WebCore::dispatchDidParseSource): 92149 * page/JavaScriptDebugServer.h: 92150 * page/JavaScriptProfile.cpp: 92151 * page/JavaScriptProfile.h: 92152 * page/JavaScriptProfileNode.cpp: 92153 (WebCore::getTotalTime): 92154 (WebCore::getSelfTime): 92155 (WebCore::getTotalPercent): 92156 (WebCore::getSelfPercent): 92157 (WebCore::getNumberOfCalls): 92158 (WebCore::getChildren): 92159 (WebCore::getVisible): 92160 * page/JavaScriptProfileNode.h: 92161 * page/Page.cpp: 92162 (WebCore::Page::setDebuggerForAllPages): 92163 (WebCore::Page::setDebugger): 92164 * page/Page.h: 92165 (WebCore::Page::debugger): 92166 * page/mac/FrameMac.mm: 92167 * platform/KURL.h: 92168 (WebCore::KURL::operator JSC::UString): 92169 * platform/text/AtomicString.cpp: 92170 (WebCore::AtomicString::add): 92171 (WebCore::AtomicString::find): 92172 * platform/text/AtomicString.h: 92173 (WebCore::AtomicString::AtomicString): 92174 * platform/text/PlatformString.h: 92175 * platform/text/String.cpp: 92176 (WebCore::charactersToDouble): 92177 * platform/win/BString.cpp: 92178 * platform/win/BString.h: 92179 * plugins/MimeTypeArray.h: 92180 * plugins/Plugin.h: 92181 * plugins/PluginArray.h: 92182 * plugins/PluginView.cpp: 92183 (WebCore::PluginView::start): 92184 (WebCore::PluginView::performRequest): 92185 (WebCore::PluginView::bindingInstance): 92186 * plugins/PluginView.h: 92187 * plugins/gtk/PluginViewGtk.cpp: 92188 (WebCore::PluginView::paint): 92189 (WebCore::PluginView::handleKeyboardEvent): 92190 (WebCore::PluginView::handleMouseEvent): 92191 (WebCore::PluginView::setNPWindowRect): 92192 (WebCore::PluginView::stop): 92193 (WebCore::PluginView::init): 92194 * plugins/qt/PluginViewQt.cpp: 92195 (WebCore::PluginView::setNPWindowRect): 92196 (WebCore::PluginView::stop): 92197 (WebCore::PluginView::init): 92198 * plugins/win/PluginViewWin.cpp: 92199 (WebCore::PluginView::dispatchNPEvent): 92200 (WebCore::PluginView::handleKeyboardEvent): 92201 (WebCore::PluginView::handleMouseEvent): 92202 (WebCore::PluginView::setNPWindowRect): 92203 (WebCore::PluginView::stop): 92204 * storage/Database.cpp: 92205 (WebCore::Database::Database): 92206 * xml/XMLHttpRequest.cpp: 92207 (WebCore::XMLHttpRequest::responseText): 92208 (WebCore::XMLHttpRequest::loadRequestAsynchronously): 92209 (WebCore::XMLHttpRequest::clearResponse): 92210 (WebCore::XMLHttpRequest::dropProtection): 92211 (WebCore::XMLHttpRequest::didFinishLoading): 92212 (WebCore::XMLHttpRequest::didReceiveData): 92213 * xml/XMLHttpRequest.h: 92214 92215 2008-09-07 Adam Barth <abarth (a] webkit.org> 92216 92217 Reviewed by Sam Weinig. 92218 92219 Adopt opener restriction on frame navigation. 92220 https://bugs.webkit.org/show_bug.cgi?id=20642 92221 92222 This restriction helps prevent an attacker from navigating top-level 92223 windows that were created by another web site. 92224 92225 Tests: http/tests/security/frameNavigation/not-opener.html 92226 http/tests/security/frameNavigation/opener.html 92227 92228 * loader/FrameLoader.cpp: 92229 (WebCore::canAccessAncestor): 92230 (WebCore::FrameLoader::shouldAllowNavigation): 92231 92232 2008-09-07 Dan Bernstein <mitz (a] apple.com> 92233 92234 Reviewed by Maciej Stachowiak. 92235 92236 - use the correct sign for vertical offsets of combining marks 92237 92238 * platform/graphics/win/UniscribeController.cpp: 92239 (WebCore::UniscribeController::shapeAndPlaceItem): 92240 92241 2008-09-07 Dan Bernstein <mitz (a] apple.com> 92242 92243 Reviewed by Dave Hyatt. 92244 92245 - add the combining mark offsets in two places where I forgot them 92246 92247 * platform/graphics/win/FontCGWin.cpp: 92248 (WebCore::Font::drawGlyphs): 92249 92250 2008-09-07 Dan Bernstein <mitz (a] apple.com> 92251 92252 Reviewed by Dave Hyatt. 92253 92254 - correct glyph advances in complex text using web fonts rendered with 92255 Core Graphics 92256 92257 * platform/graphics/win/FontCustomPlatformData.cpp: 92258 (WebCore::FontCustomPlatformData::fontPlatformData): 92259 92260 2008-09-07 Keishi Hattori <casey.hattori (a] gmail.com> 92261 92262 Adds console.dirxml support to the Web Inspector. 92263 92264 https://bugs.webkit.org/show_bug.cgi?id=19156 92265 92266 Reviewed by Timothy Hatcher. 92267 92268 * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js. 92269 * bindings/js/JSConsoleCustom.cpp: 92270 (WebCore::JSConsole::dirxml): 92271 * page/Console.cpp: 92272 (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel. 92273 * page/Console.h: 92274 (WebCore::): Added NodeMessageLevel. 92275 * page/Console.idl: Added console.dirxml. 92276 * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline. 92277 * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline 92278 in the ElementsPanel has includeRootDOMNode and selectEnabled set to true. 92279 * page/inspector/ElementsTreeOutline.js: Added. 92280 (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree. 92281 (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline. 92282 * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js. 92283 * page/inspector/inspector.css: 92284 * page/inspector/inspector.html: Added ElementsTreeOutline.js. 92285 * page/inspector/inspector.js: Moved hover related methods to WebInspector. 92286 (WebInspector.altKeyDown): 92287 (WebInspector.forceHoverHighlight): 92288 (WebInspector.hoveredDOMNode): 92289 (WebInspector._updateHoverHighlightSoon): 92290 (WebInspector._updateHoverHighlight): 92291 (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown 92292 (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown 92293 * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement, 92294 isAncestorIncludingParentFrames. 92295 92296 2008-09-06 Mark Rowe <mrowe (a] apple.com> 92297 92298 Qt build fix. 92299 92300 * bridge/qt/qt_runtime.cpp: 92301 (KJS::Bindings::convertQVariantToValue): 92302 92303 === End merge of squirrelfish-extreme === 92304 92305 2008-09-05 Oliver Hunt <oliver (a] apple.com> 92306 92307 Start bringing up SFX on windows. 92308 92309 Reviewed by Mark Rowe and Sam Weinig 92310 92311 Start doing the work to bring up SFX on windows. Initially 92312 just working on WREC, as it does not make any calls so reduces 92313 the amount of code that needs to be corrected. 92314 92315 Add forwarding headers 92316 92317 * ChangeLog: 92318 * ForwardingHeaders/masm/MacroAssembler.h: Added. 92319 * WebCore.vcproj/WebCore.vcproj: 92320 92321 2008-08-27 Mark Rowe <mrowe (a] apple.com> 92322 92323 Reviewed by Oliver Hunt. 92324 92325 Fix the build of the full WebKit stack. 92326 92327 Add forwarding headers. 92328 92329 * ForwardingHeaders/masm/IA32MacroAsm.h: Added. 92330 * ForwardingHeaders/wrec/WREC.h: Added. 92331 92332 === Start merge of squirrelfish-extreme === 92333 92334 2008-09-06 Antti Koivisto <antti (a] apple.com> 92335 92336 Reviewed by Dave Hyatt. 92337 92338 <rdar://problem/6187043> 92339 Don't parse full HTML user agent style sheet unless it is actually needed 92340 <rdar://problem/6131889> 92341 WebView is significantly more expensive to create recently 92342 92343 Parsing the html4.css takes significant amount of time and memory (~50kb) on application 92344 startup. Some clients may never use most of the rules. 92345 92346 With this patch we use simplified UA stylesheet until we hit something it can't handle. 92347 This avoids full stylesheet parsing on application startup (due to empty document construction) 92348 and also makes it possible for clients with very simple demands (divs and spans only) never to load 92349 the full style. 92350 92351 It also delays view source style parsing until it is used. 92352 92353 * css/CSSStyleSelector.cpp: 92354 (WebCore::elementCanUseSimpleDefaultStyle): 92355 (WebCore::CSSStyleSelector::CSSStyleSelector): 92356 (WebCore::loadFullDefaultStyle): 92357 (WebCore::loadSimpleDefaultStyle): 92358 (WebCore::loadViewSourceStyle): 92359 (WebCore::CSSStyleSelector::matchUARules): 92360 (WebCore::CSSStyleSelector::styleForElement): 92361 92362 2008-09-06 Kevin Ollivier <kevino (a] theolliviers.com> 92363 92364 wx build fix. 92365 92366 * WebCoreSources.bkl: 92367 92368 2008-09-06 Antti Koivisto <antti (a] apple.com> 92369 92370 Reverting r35953 which was causing problems on Windows which relies on 92371 WebCore timers in nested event loops. r36132 did alternative fix. 92372 92373 * page/Chrome.cpp: 92374 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 92375 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 92376 92377 2008-09-06 Antti Koivisto <antti (a] apple.com> 92378 92379 Reviewed by Dan Bernstein. 92380 92381 Fix <rdar://problem/6201644> 92382 https://bugs.webkit.org/show_bug.cgi?id=20493 92383 Crash after OK in dialog box and reloading page in secure mode 92384 92385 Limited loader only fix since the general timer fix is causing problems on Windows. 92386 92387 * loader/loader.cpp: 92388 (WebCore::Loader::servePendingRequests): 92389 (WebCore::Loader::Host::Host): 92390 (WebCore::Loader::Host::didFinishLoading): 92391 (WebCore::Loader::Host::didFail): 92392 (WebCore::Loader::Host::didReceiveData): 92393 * loader/loader.h: 92394 (WebCore::Loader::Host::processingResource): 92395 92396 2008-09-06 Dan Bernstein <mitz (a] apple.com> 92397 92398 Reviewed by Dave Hyatt. 92399 92400 The initial Core Text adoption prototype was made by Daniel Fenwick. 92401 92402 - <rdar://problem/5158514> Add a Core Text-based complex text code path 92403 92404 Currently the Core Text code path is not used in any configuration. 92405 92406 * WebCore.xcodeproj/project.pbxproj: Added files. 92407 * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT. 92408 * platform/graphics/Font.cpp: 92409 (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out 92410 of the loop. 92411 * platform/graphics/GlyphBuffer.h: 92412 (WebCore::GlyphBuffer::add): Added this version that takes an advance. 92413 * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs. 92414 Added getCTFont() and getCFStringAttributes() and corresponding data 92415 members for Core Text. 92416 * platform/graphics/mac/CoreTextController.cpp: Added. 92417 (WebCore::roundCGFloat): Helper function. 92418 (WebCore::ceilCGFloat): Helper function. 92419 (WebCore::CoreTextController::CoreTextRun::CoreTextRun): 92420 (WebCore::CoreTextController::CoreTextController): 92421 (WebCore::CoreTextController::offsetForPosition): 92422 (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the 92423 run into subruns as necessary such that each subrun can be rendered with 92424 a single font. Also separates out soft hyphens and replaces them with 92425 real hyphens, because Core Text does not emit a glyph for soft hyphens. 92426 Then calls collectCoreTextRunsForCharacters() on each subrun. 92427 (WebCore::CoreTextController::advance): 92428 (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates 92429 a CTLine from the given subrun and collects its CoreTextRuns. 92430 (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the 92431 rounding hacks, letter- and word-spacing and glyph substitutions and 92432 stores the resulting adjusted glyphs and advances. 92433 * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h. 92434 (WebCore::CoreTextController::totalWidth): 92435 (WebCore::CoreTextController::finalRoundingWidth): 92436 (WebCore::CoreTextController::CoreTextRun::ctRun): 92437 (WebCore::CoreTextController::CoreTextRun::glyphCount): 92438 (WebCore::CoreTextController::CoreTextRun::fontData): 92439 (WebCore::CoreTextController::CoreTextRun::characters): 92440 (WebCore::CoreTextController::CoreTextRun::stringLocation): 92441 (WebCore::CoreTextController::CoreTextRun::stringLength): 92442 (WebCore::CoreTextController::CoreTextRun::indexAt): 92443 * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to 92444 FontMacATSUI.mm. 92445 * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm. 92446 (WebCore::disableLigatures): Changed to call 92447 FontPlatformData::allowsLigatures(). 92448 (WebCore::overrideLayoutOperation): Changed to call 92449 FontPlatformData::roundsGlyphAdvances(). 92450 * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp. 92451 (WebCore::Font::selectionRectForComplexText): Changed to use 92452 totalWidth() instead of advancing to the end and using runWidthSoFar(). 92453 (WebCore::Font::drawComplexText): 92454 (WebCore::Font::floatWidthForComplexText): Ditto. 92455 (WebCore::Font::offsetForPositionForComplexText): 92456 * platform/graphics/mac/FontPlatformData.h: 92457 * platform/graphics/mac/FontPlatformDataMac.mm: 92458 (WebCore::FontPlatformData::setFont): 92459 (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the 92460 AppKit rendering mode. 92461 (WebCore::FontPlatformData::allowsLigatures): Added. Implements the 92462 heuristic that allows ligatures in fonts that do not have a glyph for 92463 'a', based on the assumption that such fonts are only used in complex 92464 text. 92465 * platform/graphics/mac/SimpleFontDataMac.mm: 92466 (WebCore::SimpleFontData::platformInit): 92467 (WebCore::SimpleFontData::platformDestroy): 92468 (WebCore::SimpleFontData::getCTFont): Added. 92469 (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and 92470 returns an attributes dictionary. 92471 * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs. 92472 * platform/text/mac/ShapeArabic.h: Ditto. 92473 92474 2008-09-06 Dan Bernstein <mitz (a] apple.com> 92475 92476 Reviewed by Dave Hyatt. 92477 92478 - make combining mark offsets work in CG text on Windows 92479 92480 * platform/graphics/win/FontCGWin.cpp: 92481 (WebCore::Font::drawGlyphs): The old code tried to translate the text 92482 matrix, but failed for two reasons: it did not actually change the 92483 matrix, and even if it did, CGContextSetTextPosition overwrites the 92484 translation values in the text matrix. Instead, just added the 92485 translation to the anchor point. 92486 92487 2008-09-05 Gustavo Noronha Silva <gns (a] gnome.org> 92488 92489 Reviewed by Alp Toker. 92490 92491 https://bugs.webkit.org/show_bug.cgi?id=18346 92492 [GTK] Remove build warnings 92493 92494 Applied some casts, and removed an unused typedef to make the 92495 compiler happy, printing less warnings when building. 92496 92497 * page/gtk/AccessibilityObjectWrapperAtk.cpp: 92498 * platform/graphics/gtk/SimpleFontDataPango.cpp: 92499 (WebCore::SimpleFontData::containsCharacters): 92500 * platform/graphics/gtk/VideoSinkGStreamer.cpp: 92501 (webkit_video_sink_set_caps): 92502 * platform/network/soup/ResourceHandleSoup.cpp: 92503 92504 2008-09-05 Eric Seidel <eric (a] webkit.org> 92505 92506 Reviewed by Adam Roben. 92507 92508 Build fix for WebKitWin and Chromium 92509 92510 * platform/FileSystem.h: 92511 92512 2008-09-05 Eric Seidel <eric (a] webkit.org> 92513 92514 Reviewed by Darin Adler. 92515 92516 Try to make Chromium compile with ToT: 92517 - Wrap a few places which depend on KJS:: in #if USE(JSC) 92518 - Include some windows forward declarations 92519 92520 * dom/Node.h: 92521 * page/Console.h: 92522 * page/animation/CompositeAnimation.h: 92523 * platform/FileSystem.h: 92524 * platform/graphics/Image.h: 92525 * platform/text/AtomicString.h: 92526 * platform/text/String.cpp: 92527 * rendering/style/RenderStyle.h: 92528 92529 2008-09-05 Dave Hyatt <hyatt (a] apple.com> 92530 92531 Add support for runtime switchability of the Aqua look and the native look on Windows. 92532 Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set. 92533 92534 Reviewed by Adam Roben 92535 92536 * WebCore.vcproj/WebCore.vcproj: 92537 * page/Settings.cpp: 92538 (WebCore::Settings::setShouldPaintNativeControls): 92539 * page/Settings.h: 92540 (WebCore::Settings::shouldPaintNativeControls): 92541 * rendering/RenderThemeSafari.cpp: 92542 (WebCore::theme): 92543 * rendering/RenderThemeWin.cpp: 92544 92545 2008-09-05 Antti Koivisto <antti (a] apple.com> 92546 92547 Qt build fix. 92548 92549 * svg/SVGFEImageElement.cpp: 92550 (WebCore::SVGFEImageElement::build): 92551 92552 2008-09-05 Dirk Schulze <vbs85 (a] gmx.de> 92553 92554 Gtk build fix 92555 92556 * GNUmakefile.am: 92557 92558 2008-09-05 Antti Koivisto <antti (a] apple.com> 92559 92560 Another build fix. 92561 92562 * svg/SVGFEImageElement.cpp: 92563 (WebCore::SVGFEImageElement::notifyFinished): 92564 92565 2008-09-05 Antti Koivisto <antti (a] apple.com> 92566 92567 Build fixes. 92568 92569 * WebCore.xcodeproj/project.pbxproj: 92570 * svg/graphics/filters/SVGFEImage.cpp: 92571 (WebCore::FEImage::cachedImage): 92572 92573 2008-09-05 Antti Koivisto <antti (a] apple.com> 92574 92575 Reviewed by Darin Adler. 92576 92577 Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998 92578 When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation" 92579 92580 Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does 92581 not yet enable it for the biggest use case, reloading. However it is good for general browsing as 92582 well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that 92583 we avoid re-decoding resources, especially images. 92584 92585 To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include 92586 CacheControl: max-age=0 header. That would be added in reload case. 92587 92588 The approach for revalidation is to kick the original resource out from the memory cache 92589 and create a new CachedResource that represents the revalidation request. In case 92590 we get 304 back for the request we put the original resource back to the cache, update 92591 its expiration date and switch the clients registered to revalidation resource to be 92592 clients of the original resource. 92593 92594 All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead. 92595 This allows updating the handles to point to the original resource when the revalidation succeeds. It 92596 also acts as refcounting smart pointer. 92597 92598 * WebCore.pro: 92599 * WebCore.vcproj/WebCore.vcproj: 92600 * WebCore.xcodeproj/project.pbxproj: 92601 * css/CSSFontFaceSource.h: 92602 * css/CSSImportRule.h: 92603 * dom/Clipboard.h: 92604 (WebCore::Clipboard::dragImage): 92605 * dom/ProcessingInstruction.h: 92606 * dom/ScriptElement.h: 92607 * dom/XMLTokenizer.cpp: 92608 (WebCore::XMLTokenizer::isWaitingForScripts): 92609 * dom/XMLTokenizer.h: 92610 * html/HTMLImageLoader.cpp: 92611 (WebCore::HTMLImageLoader::setImage): 92612 (WebCore::HTMLImageLoader::updateFromElement): 92613 (WebCore::HTMLImageLoader::notifyFinished): 92614 * html/HTMLImageLoader.h: 92615 (WebCore::HTMLImageLoader::image): 92616 * html/HTMLLinkElement.h: 92617 * html/HTMLTokenizer.cpp: 92618 (WebCore::HTMLTokenizer::reset): 92619 (WebCore::HTMLTokenizer::scriptHandler): 92620 (WebCore::HTMLTokenizer::notifyFinished): 92621 * html/HTMLTokenizer.h: 92622 * loader/Cache.cpp: 92623 (WebCore::Cache::revalidateResource): 92624 (WebCore::Cache::revalidationSucceeded): 92625 (WebCore::Cache::revalidationFailed): 92626 * loader/Cache.h: 92627 * loader/CachedResource.cpp: 92628 (WebCore::CachedResource::CachedResource): 92629 (WebCore::CachedResource::~CachedResource): 92630 (WebCore::CachedResource::isExpired): 92631 (WebCore::CachedResource::setResponse): 92632 (WebCore::CachedResource::deleteIfPossible): 92633 (WebCore::CachedResource::setResourceToRevalidate): 92634 (WebCore::CachedResource::clearResourceToRevalidate): 92635 (WebCore::CachedResource::switchClientsToRevalidatedResource): 92636 (WebCore::CachedResource::canUseCacheValidator): 92637 (WebCore::CachedResource::mustRevalidate): 92638 * loader/CachedResource.h: 92639 (WebCore::CachedResource::canDelete): 92640 (WebCore::CachedResource::registerHandle): 92641 (WebCore::CachedResource::unregisterHandle): 92642 (WebCore::CachedResource::isCacheValidator): 92643 (WebCore::CachedResource::resourceToRevalidate): 92644 (WebCore::CachedResource::setExpirationDate): 92645 * loader/CachedResourceHandle.cpp: Added. 92646 (WebCore::CachedResourceHandleBase::setResource): 92647 * loader/CachedResourceHandle.h: Added. 92648 (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase): 92649 (WebCore::CachedResourceHandleBase::get): 92650 (WebCore::CachedResourceHandleBase::operator!): 92651 (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType): 92652 (WebCore::CachedResourceHandleBase::CachedResourceHandleBase): 92653 (WebCore::CachedResourceHandleBase::operator=): 92654 (WebCore::CachedResourceHandle::CachedResourceHandle): 92655 (WebCore::CachedResourceHandle::get): 92656 (WebCore::CachedResourceHandle::operator->): 92657 (WebCore::CachedResourceHandle::operator=): 92658 (WebCore::CachedResourceHandle::operator==): 92659 (WebCore::CachedResourceHandle::operator!=): 92660 (WebCore::operator==): 92661 (WebCore::operator!=): 92662 * loader/DocLoader.cpp: 92663 (WebCore::DocLoader::checkForReload): 92664 * loader/UserStyleSheetLoader.h: 92665 * loader/loader.cpp: 92666 (WebCore::Loader::Host::servePendingRequests): 92667 (WebCore::Loader::Host::didFinishLoading): 92668 (WebCore::Loader::Host::didFail): 92669 (WebCore::Loader::Host::didReceiveResponse): 92670 (WebCore::Loader::Host::didReceiveData): 92671 * page/EventHandler.cpp: 92672 (WebCore::EventHandler::selectCursor): 92673 * rendering/RenderImage.cpp: 92674 (WebCore::RenderImage::setCachedImage): 92675 (WebCore::RenderImage::imageChanged): 92676 * rendering/RenderImage.h: 92677 (WebCore::RenderImage::cachedImage): 92678 (WebCore::RenderImage::imagePtr): 92679 * rendering/style/RenderStyle.h: 92680 * rendering/style/StyleCachedImage.h: 92681 (WebCore::StyleCachedImage::data): 92682 (WebCore::StyleCachedImage::cachedImage): 92683 * svg/SVGFEImageElement.h: 92684 * svg/graphics/filters/SVGFEImage.h: 92685 * xml/XSLImportRule.h: 92686 92687 2008-09-04 Brady Eidson <beidson (a] apple.com> 92688 92689 Reviewed by Mitz 92690 92691 <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes 92692 92693 A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt 92694 to model default NSURLRequest behavior in a cross-platform manner. 92695 92696 Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit 92697 client that wished to enforce a much larger default timeout using NSURLRequest API. 92698 92699 Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable 92700 behavior on the web and this restores previous Safari/WebKit behavior. 92701 92702 It would be easy to write a layout test for this, but to be effective it would have 92703 to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests 92704 92705 * manual-tests/timeout-test.html: Added. 92706 * manual-tests/timeout-test.php: Added. 92707 92708 * platform/network/ResourceRequestBase.h: 92709 (WebCore::ResourceRequestBase::ResourceRequestBase): Rename the constant to "unspecifiedTimeoutInterval" 92710 and make it UINT_MAX so platforms that do set it have an effective "no timeout." (Windows, for example) 92711 * platform/network/mac/ResourceRequestMac.mm: 92712 (WebCore::ResourceRequest::doUpdatePlatformRequest): If the timeout for this request is 92713 "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing 92714 WebKit applications to enforce their own default timeout. 92715 92716 2008-09-04 Dan Bernstein <mitz (a] apple.com> 92717 92718 Reviewed by Beth Dakin. 92719 92720 - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout 92721 92722 Test: fast/repaint/button-spurious-layout-hint.html 92723 92724 * rendering/RenderButton.cpp: 92725 (WebCore::RenderButton::setStyle): Reset the inner block's style box 92726 flex to 0 to avoid getting a spurious layout hint. 92727 92728 2008-09-04 Kevin Ollivier <kevino (a] theolliviers.com> 92729 92730 wx build fixes. 92731 92732 * WebCoreSources.bkl: 92733 * bindings/js/ScriptControllerWx.cpp: Added. 92734 (WebCore::ScriptController::createScriptInstanceForWidget): 92735 * page/wx/AccessibilityObjectWx.cpp: Added. 92736 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 92737 * platform/graphics/wx/GraphicsContextWx.cpp: 92738 * webcore-base.bkl: 92739 * webcore-wx.bkl: 92740 92741 2008-09-04 Dan Bernstein <mitz (a] apple.com> 92742 92743 Reviewed by Mark Rowe. 92744 92745 - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail, 92746 and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to 92747 require a different approach 92748 92749 * css/CSSGrammar.y: 92750 92751 2008-09-04 Mark Rowe <mrowe (a] apple.com> 92752 92753 Reviewed by Eric Seidel. 92754 92755 Fix https://bugs.webkit.org/show_bug.cgi?id=20639. 92756 Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE 92757 92758 * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES. 92759 * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking 92760 for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES. 92761 92762 2008-09-04 Mark Rowe <mrowe (a] apple.com> 92763 92764 Mac build fix. 92765 92766 * config.h: Only check the value of HAVE_CONFIG_H if it is defined. 92767 92768 2008-09-04 Eric Seidel <eric (a] webkit.org> 92769 92770 Build fix only, no review. 92771 92772 * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere). 92773 92774 2008-09-04 Marco Barisione <marco.barisione (a] collabora.co.uk> 92775 92776 Reviewed by Eric Seidel. 92777 92778 http://bugs.webkit.org/show_bug.cgi?id=20380 92779 [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h 92780 92781 * config.h: Include the configuration header generated by autotools if 92782 available. 92783 92784 2008-09-04 Dan Bernstein <mitz (a] apple.com> 92785 92786 Rubber-stamped by Dave Hyatt. 92787 92788 - rename CachedResource::allReferencesRemoved() to allClientsRemoved() 92789 92790 * loader/CachedFont.cpp: 92791 (WebCore::CachedFont::allClientsRemoved): 92792 * loader/CachedFont.h: 92793 * loader/CachedImage.cpp: 92794 (WebCore::CachedImage::allClientsRemoved): 92795 * loader/CachedImage.h: 92796 * loader/CachedResource.cpp: 92797 (WebCore::CachedResource::removeClient): 92798 * loader/CachedResource.h: 92799 (WebCore::CachedResource::allClientsRemoved): 92800 92801 2008-09-04 Adam Roben <aroben (a] apple.com> 92802 92803 Windows build fix after r36071 92804 92805 We were getting these errors: 92806 92807 error C2356: initialization segment must not change during translation 92808 unit 92809 92810 This was happening because multiple files #included by 92811 DerivedSources.cpp were themselves #including StaticConstructors.h. I 92812 fixed the error by adding header guards to StaticConstructors.h so its 92813 contents will only be included once. 92814 92815 But it's also not a good idea for StaticConstructors.h to end up in 92816 DerivedSources.cpp, since it ends up "polluting" all the source files 92817 we have in there. So I removed all the files that include 92818 StaticConstructors.h and added some preprocessor directives to 92819 DerivedSources.cpp to catch this error in the future. 92820 92821 * DerivedSources.cpp: Removed the *Names.cpp files, which include 92822 StaticConstructors.h, and added some preprocessor directives to make 92823 sure we don't end up accidentally including StaticConstructors.h in 92824 the future. 92825 * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files. 92826 * platform/StaticConstructors.h: Added header guards. 92827 92828 2008-09-04 Adam Roben <aroben (a] apple.com> 92829 92830 Windows build fix 92831 92832 * platform/graphics/win/FontPlatformData.h: Added a missing #include 92833 of PassRefPtr.h, and corrected the capitalization of RefCounted.h. 92834 * platform/text/PlatformString.h: Added a missing #include of 92835 PassRefPtr.h. 92836 92837 2008-09-04 Tor Arne Vestb <tavestbo (a] trolltech.com> 92838 92839 Reviewed by Simon. 92840 92841 Fix the QtWebKit build to match changes in r36016 92842 92843 * WebCore.pro: 92844 * bridge/qt/qt_instance.cpp: 92845 (KJS::Bindings::QtInstance::getRuntimeObject): 92846 * bridge/qt/qt_runtime.cpp: 92847 (KJS::Bindings::convertQVariantToValue): 92848 (KJS::Bindings::QtConnectionObject::execute): 92849 92850 2008-09-04 Tor Arne Vestb <tavestbo (a] trolltech.com> 92851 92852 Reviewed by Simon. 92853 92854 Re-enable support for user stylesheets in QtWebKit 92855 92856 QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET 92857 code path, which allows us to keep API support for 92858 loading user style sheets from remote URLs. 92859 92860 As part of the change UserStyleSheetLoader.cpp/h was 92861 moved from WebCore/loader/mac to WebCore/loader. 92862 92863 * WebCore.pro: 92864 * WebCore.xcodeproj/project.pbxproj: 92865 * dom/Document.h: 92866 * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp. 92867 (UserStyleSheetLoader::UserStyleSheetLoader): 92868 (UserStyleSheetLoader::~UserStyleSheetLoader): 92869 * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h. 92870 * page/qt/FrameQt.cpp: 92871 (WebCore::Frame::setUserStyleSheetLocation): 92872 (WebCore::Frame::setUserStyleSheet): 92873 92874 2008-09-04 Alp Toker <alp (a] nuanti.com> 92875 92876 Reviewed by Eric. 92877 92878 Remove left-over QT and CAIRO platform checks. 92879 92880 * html/CanvasRenderingContext2D.cpp: 92881 92882 2008-09-04 Eric Seidel <eric (a] webkit.org> 92883 92884 Reviewed by Mark Rowe. 92885 92886 Fix leak of TextMetrics due to over-ref as see on buildbot. 92887 92888 * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now. 92889 92890 2008-09-04 Dan Bernstein <mitz (a] apple.com> 92891 92892 Reviewed by Dave Hyatt. 92893 92894 - fix https://bugs.webkit.org/show_bug.cgi?id=19717 92895 <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist 92896 92897 * rendering/RenderBlock.cpp: 92898 (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the 92899 positioned movement only case, call 92900 tryLayoutDoingPositionedMovementOnly() and fall back on doing a full 92901 layout if that fails. 92902 (WebCore::RenderBlock::layoutPositionedObjects): Ditto. 92903 * rendering/RenderBox.h: 92904 (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed 92905 layoutDoingPositionedMovementOnly to this, and made this function 92906 check if the width changed. If it did, return, leaving the object 92907 dirty. The caller can then call layout(). The width can change even 92908 in the "positioned movement only" case if the object is shrink-to-fit 92909 and the available width constraint is met. (This was the case in the 92910 bug). 92911 * rendering/RenderObject.h: 92912 (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly): 92913 Renamed layoutDoingPositionedMovementOnly() to this. 92914 92915 2008-09-03 Eric Seidel <eric (a] webkit.org> 92916 92917 No review, build fix only. 92918 92919 Attempt to fix the Qt build. 92920 92921 * WebCore.pro: add page/animation to include path 92922 92923 2008-09-03 Mark Rowe <mrowe (a] apple.com> 92924 92925 Mac build fix. Correctly detect whether dashboard support is enabled. 92926 92927 * DerivedSources.make: 92928 92929 2008-09-03 Eric Seidel <eric (a] webkit.org> 92930 92931 Reviewed by Sam. 92932 92933 Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS) 92934 92935 * Configurations/WebCore.xcconfig: add missing ENABLE_* 92936 * config.h: add rules for V8_BINDINGS 92937 92938 2008-09-03 Eric Seidel <eric (a] webkit.org> 92939 92940 Reviewed by Sam. 92941 92942 https://bugs.webkit.org/show_bug.cgi?id=20620 92943 92944 Add #if USE(JSC) around KJS dependencies 92945 Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons: 92946 1. Most platforms have it on anyway 92947 2. V8 is going to want to share some of that code 92948 3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp 92949 92950 * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support 92951 * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8) 92952 * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers 92953 * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers 92954 * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers 92955 * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers 92956 * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers 92957 * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers 92958 * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed 92959 * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed 92960 * platform/text/AtomicString.cpp: add USE(JSC) 92961 * platform/text/AtomicString.h: add USE(JSC) 92962 * platform/text/PlatformString.h: add USE(JSC) 92963 * platform/text/String.cpp: add USE(JSC) 92964 * platform/text/StringImpl.cpp: add USE(JSC) 92965 * platform/text/StringImpl.h: add USE(JSC) 92966 92967 2008-09-03 Dean McNamee <deanm (a] chromium.org> 92968 92969 Reviewed by Darin Adler. 92970 92971 Fix https://bugs.webkit.org/show_bug.cgi?id=20511 92972 Bug 20511: Remove static initializers on Windows 92973 92974 Avoid static initializers on Windows by forcing Visual C++ to put 92975 all static initializers in a code segment that is never executed. 92976 92977 * config.h: 92978 * css/MediaFeatureNames.cpp: 92979 * dom/EventNames.cpp: 92980 * dom/QualifiedName.cpp: 92981 * dom/make_names.pl: 92982 * platform/StaticConstructors.h: 92983 * platform/text/AtomicString.cpp: 92984 92985 2008-09-03 Dirk Schulze <vbs85 (a] gmx.de> 92986 92987 Reviewed by Dave Hyatt. 92988 92989 Make FontCairo draw TextStroke and TextFill separately. 92990 92991 [CAIRO] draw TextFill and TextStroke separately. 92992 [https://bugs.webkit.org/show_bug.cgi?id=20631] 92993 92994 * platform/graphics/cairo/FontCairo.cpp: 92995 (WebCore::Font::drawGlyphs): 92996 92997 2008-09-03 Peter Kasting <pkasting (a] google.com> 92998 92999 Reviewed by Dave Hyatt. 93000 93001 https://bugs.webkit.org/show_bug.cgi?id=19663 93002 Account for paint and timer lag when animating images. Also pretend 93003 that images whose animations were paused (by becoming invisible) 93004 continued to animate, by "catching up" to the correct frame when they're 93005 shown again. 93006 93007 * platform/graphics/BitmapImage.cpp: 93008 (WebCore::BitmapImage::BitmapImage): 93009 (WebCore::BitmapImage::startAnimation): 93010 (WebCore::BitmapImage::advanceAnimation): 93011 (WebCore::BitmapImage::internalAdvanceAnimation): 93012 (WebCore::BitmapImage::notifyObserverAndTrimDecodedData): 93013 * platform/graphics/BitmapImage.h: 93014 * platform/graphics/cairo/ImageCairo.cpp: 93015 (WebCore::BitmapImage::draw): 93016 * platform/graphics/cg/ImageCG.cpp: 93017 (WebCore::BitmapImage::draw): 93018 * platform/graphics/qt/ImageQt.cpp: 93019 (WebCore::BitmapImage::draw): 93020 * platform/graphics/wx/ImageWx.cpp: 93021 (WebCore::BitmapImage::draw): 93022 93023 2008-09-03 Kevin McCullough <kmccullough (a] apple.com> 93024 93025 Reviewed by Tim. 93026 93027 Remove the rest of the "zombie" code from the profiler. 93028 - There is no longer a need for the ProfilerClient callback mechanism. 93029 93030 * page/Console.cpp: 93031 (WebCore::Console::Console): 93032 (WebCore::Console::profile): 93033 (WebCore::Console::profileEnd): Move the variables from the header to 93034 here since we don't have to wait for a callback to use them. 93035 * page/Console.h: 93036 * page/InspectorController.cpp: 93037 (WebCore::InspectorController::startUserInitiatedProfiling): 93038 (WebCore::InspectorController::stopUserInitiatedProfiling): 93039 * page/InspectorController.h: 93040 93041 2008-09-03 Ada Chan <adachan (a] apple.com> 93042 93043 Windows build fix. 93044 93045 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project. 93046 93047 2008-09-01 Dean Jackson <dino (a] apple.com> 93048 93049 Reviewed by Dave Hyatt. 93050 93051 https://bugs.webkit.org/show_bug.cgi?id=20594 93052 Add DOM interfaces for WebKitCSSKeyframeRule 93053 and WebKitCSSKeyframesRule. 93054 93055 TEST: LayoutTests/css3/keyframes-rule.html 93056 93057 * css/WebKitCSSKeyframeRule.idl: Added 93058 * css/WebKitCSSKeyframesRule.idl: Added 93059 93060 * bindings/js/JSCSSRuleCustom.cpp: 93061 (WebCore::toJS): 93062 Add return of new JS Keyframe rules 93063 * bindings/objc/DOMInternal.h: 93064 Include new internal header 93065 93066 * DerivedSources.make: 93067 * GNUmakefile.am: 93068 * WebCore.pro: 93069 * WebCore.vcproj/WebCore.vcproj: 93070 * WebCore.xcodeproj/project.pbxproj: 93071 * WebCoreSources.bkl: 93072 Build configs for new files 93073 93074 2008-09-03 Adam Roben <aroben (a] apple.com> 93075 93076 Windows build fix 93077 93078 * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build. 93079 * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for 93080 convenience/consistency. 93081 93082 2008-09-03 Adele Peterson <adele (a] apple.com> 93083 93084 Build fix. 93085 93086 * WebCore.vcproj/WebCore.vcproj: 93087 93088 2008-09-03 David Hyatt <hyatt (a] apple.com> 93089 93090 Fix for bug 18203, right floats should be allowed to overflow past the left border edge. 93091 93092 Reviewed by Darin (ages ago) 93093 93094 Added fast/block/float/clamped-right-float.html 93095 93096 * rendering/RenderBlock.cpp: 93097 (WebCore::RenderBlock::positionNewFloats): 93098 93099 2008-09-02 David Hyatt <hyatt (a] apple.com> 93100 93101 Add support for canvas text drawing APIs. 93102 93103 Reviewed by olliej 93104 93105 Tests added as fast/canvas/canvas-text-*.html 93106 93107 * DerivedSources.make: 93108 * WebCore.xcodeproj/project.pbxproj: 93109 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 93110 (WebCore::JSCanvasRenderingContext2D::fillText): 93111 (WebCore::JSCanvasRenderingContext2D::strokeText): 93112 * css/CSSStyleSelector.cpp: 93113 (WebCore::CSSStyleSelector::initForStyleResolve): 93114 (WebCore::CSSStyleSelector::applyPropertyToStyle): 93115 * css/CSSStyleSelector.h: 93116 * html/CanvasRenderingContext2D.cpp: 93117 (WebCore::CanvasRenderingContext2D::State::State): 93118 (WebCore::CanvasRenderingContext2D::font): 93119 (WebCore::CanvasRenderingContext2D::setFont): 93120 (WebCore::CanvasRenderingContext2D::textAlign): 93121 (WebCore::CanvasRenderingContext2D::setTextAlign): 93122 (WebCore::CanvasRenderingContext2D::textBaseline): 93123 (WebCore::CanvasRenderingContext2D::setTextBaseline): 93124 (WebCore::CanvasRenderingContext2D::fillText): 93125 (WebCore::CanvasRenderingContext2D::strokeText): 93126 (WebCore::CanvasRenderingContext2D::measureText): 93127 (WebCore::CanvasRenderingContext2D::drawTextInternal): 93128 (WebCore::CanvasRenderingContext2D::accessFont): 93129 * html/CanvasRenderingContext2D.h: 93130 * html/CanvasRenderingContext2D.idl: 93131 * html/TextMetrics.h: Added. 93132 (WebCore::TextMetrics::create): 93133 (WebCore::TextMetrics::width): 93134 (WebCore::TextMetrics::setWidth): 93135 (WebCore::TextMetrics::TextMetrics): 93136 * html/TextMetrics.idl: Added. 93137 * platform/graphics/Font.cpp: 93138 (WebCore::Font::lineGap): 93139 * platform/graphics/Font.h: 93140 * platform/graphics/GraphicsContext.cpp: 93141 (WebCore::GraphicsContext::drawBidiText): 93142 * platform/graphics/GraphicsContext.h: 93143 * platform/graphics/GraphicsTypes.cpp: 93144 (WebCore::textAlignName): 93145 (WebCore::parseTextAlign): 93146 (WebCore::textBaselineName): 93147 (WebCore::parseTextBaseline): 93148 * platform/graphics/GraphicsTypes.h: 93149 (WebCore::): 93150 93151 2008-09-03 John Sullivan <sullivan (a] apple.com> 93152 93153 Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps 93154 93155 Fixed by Darin, reviewed by me 93156 93157 * page/animation/AnimationBase.cpp: 93158 (WebCore::AnimationBase::propertiesEqual): 93159 added ensurePropertyMap() to this static function 93160 (WebCore::AnimationBase::getPropertyAtIndex): 93161 ditto 93162 (WebCore::AnimationBase::getNumProperties): 93163 ditto 93164 93165 2008-09-03 Kevin McCullough <kmccullough (a] apple.com> 93166 93167 Reviewed by Darin and Tim. 93168 93169 Remove most of the "zombie" mode from the profiler. Next we will need 93170 to remove the client callback mechanism in profiles. 93171 - These changes are a result of changes to JSCore. 93172 93173 * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html: 93174 * page/Console.cpp: 93175 (WebCore::retrieveLastCaller): 93176 (WebCore::Console::profileEnd): 93177 * page/InspectorController.cpp: 93178 (WebCore::InspectorController::stopUserInitiatedProfiling): 93179 93180 2008-09-03 Adele Peterson <adele (a] apple.com> 93181 93182 Reviewed by Darin Adler. 93183 93184 Test: fast/forms/search-display-none-cancel-button.html 93185 93186 Allow display:none to work on a search field's cancel button. Prepare for adding more style-ability for the results button too. 93187 93188 * css/html4.css: Set display:inline-block for these buttons. Now they can be overridden by a web author. 93189 93190 * rendering/RenderTextControl.cpp: 93191 (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers. 93192 (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly. This is now done in html4.css. 93193 (WebCore::RenderTextControl::createCancelButtonStyle): ditto. 93194 (WebCore::RenderTextControl::createSubtreeIfNeeded): 93195 Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class. 93196 (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers. 93197 (WebCore::RenderTextControl::subtreeHasChanged): ditto. 93198 (WebCore::RenderTextControl::calcHeight): ditto. 93199 (WebCore::RenderTextControl::nodeAtPoint): ditto. 93200 (WebCore::RenderTextControl::layout): ditto. 93201 (WebCore::RenderTextControl::calcPrefWidths): ditto. 93202 (WebCore::RenderTextControl::clientPaddingLeft): ditto. 93203 (WebCore::RenderTextControl::clientPaddingRight): ditto. 93204 93205 * rendering/TextControlInnerElements.cpp: 93206 (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp. 93207 (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto. 93208 (WebCore::TextControlInnerElement::attachInnerElement): Added. 93209 This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element. 93210 (WebCore::TextControlInnerTextElement::createRenderer): Added. Creates a RenderTextControlInnerBlock. 93211 * rendering/TextControlInnerElements.h: 93212 93213 2008-08-28 Alexey Proskuryakov <ap (a] webkit.org> 93214 93215 Reviewed by Maciej. 93216 93217 Elminate SQLiteAuthorizer class. 93218 93219 * WebCore.xcodeproj/project.pbxproj: 93220 * WebCore.vcproj/WebCore.vcproj: 93221 * GNUmakefile.am 93222 Removed SQLiteAuthorizer.h. 93223 93224 * platform/sql/SQLiteAuthorizer.cpp: 93225 * platform/sql/SQLiteAuthorizer.h: Removed. 93226 * platform/sql/SQLiteDatabase.cpp: 93227 (WebCore::SQLiteDatabase::authorizerFunction): 93228 (WebCore::SQLiteDatabase::setAuthorizer): 93229 * platform/sql/SQLiteDatabase.h: 93230 * storage/DatabaseAuthorizer.h: 93231 (WebCore::DatabaseAuthorizer::create): 93232 (WebCore::DatabaseAuthorizer::createView): 93233 (WebCore::DatabaseAuthorizer::createTempView): 93234 (WebCore::DatabaseAuthorizer::dropView): 93235 (WebCore::DatabaseAuthorizer::dropTempView): 93236 (WebCore::DatabaseAuthorizer::allowSelect): 93237 (WebCore::DatabaseAuthorizer::allowReindex): 93238 Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose. 93239 93240 2008-09-03 Dirk Schulze <vbs85 (a] gmx.de> 93241 93242 Reviewed by Mark Rowe. 93243 93244 WebKitGtk build fix. 93245 93246 * GNUmakefile.am: 93247 * page/animation/AnimationController.h: 93248 93249 2008-09-02 Robert Blaut <webkit (a] blaut.biz> 93250 93251 Reviewed by Geoff Garen. 93252 93253 Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913> 93254 Misplaced elements should not close DL lists. 93255 93256 Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html 93257 93258 * html/HTMLParser.cpp: 93259 (WebCore::HTMLParser::handleError): 93260 93261 2008-09-02 Glenn Wilson <wilsong (a] gmail.com> 93262 93263 Reviewed by Darin Adler. 93264 93265 Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360> 93266 Bug 15360: color:#{predefined colorName} is treated as colorName in Safari 93267 93268 We would inappropriately interpret and apply an invalid CSS "color" property 93269 when the value is a predefined color preceded by a '#' symbol. For example, 93270 style="color:#gray;" would apply the color gray when it should not. 93271 93272 In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space". 93273 This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be 93274 interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just 93275 an ignorable token. 93276 93277 To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as 93278 '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of 93279 CSSPrimitiveValue::CSS_PARSER_HEXCOLOR. 93280 93281 Test: css1/color_and_background/invalid_color.html 93282 93283 * css/CSSGrammar.y: 93284 93285 2008-09-02 Mihnea Ovidenie <mihnea (a] adobe.com> 93286 93287 Reviewed by Darin Adler. 93288 93289 Fix for https://bugs.webkit.org/show_bug.cgi?id=19964 93290 Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image 93291 93292 Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered. 93293 93294 Test: css3/khtml-background-size-0x0-bmp.html 93295 93296 * rendering/RenderBox.cpp: 93297 (WebCore::RenderBox::repaintLayerRectsForImage): 93298 93299 2008-09-02 Glenn Wilson <wilsong (a] gmail.com> 93300 93301 Reviewed by Eric Seidel. 93302 93303 Fix https://bugs.webkit.org/show_bug.cgi?id=20397 93304 Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash 93305 93306 The function checkForOrphanedUnits() would change the length of a list whose size was 93307 was already determined before the call to checkForOrphanedUnits was made. Later in 93308 the caller, the old size was being used for boundary management. 93309 93310 This has been fixed by moving the call to checkForOrphanedUnits() earlier in the 93311 calling function, before the size of the list is determined. 93312 93313 Test: fast/css/orphaned_units_crash.html 93314 93315 * css/CSSParser.cpp: 93316 (WebCore::CSSParser::parseValue): Moved call to checkForOrphanedUnits() earlier in the function. 93317 93318 2008-09-02 Dirk Schulze <vbs85 (a] gmx.de> 93319 93320 Reviewed by Darin Adler. 93321 93322 Fallback on invalid fill or stroke styles in Canvas was 93323 transparent black. Changed it to last valid style. 93324 93325 Canvas fillStyle() and strokeStyle() needs fallback 93326 https://bugs.webkit.org/show_bug.cgi?id=20474 93327 93328 Tests: fast/canvas/canvas-invalid-fillstyle.html 93329 fast/canvas/canvas-invalid-strokestyle.html 93330 93331 * html/CanvasStyle.cpp: 93332 (WebCore::CanvasStyle::applyStrokeColor): 93333 (WebCore::CanvasStyle::applyFillColor): 93334 93335 2008-09-02 Dirk Schulze <vbs85 (a] gmx.de> 93336 93337 Reviewed by Darin Adler. 93338 93339 Fix https://bugs.webkit.org/show_bug.cgi?id=20468 93340 Updated drawImage() in canvas to match the current specification. 93341 93342 Test: fast/canvas/drawImage-with-negative-source-destination.html 93343 93344 * html/CanvasRenderingContext2D.cpp: 93345 (WebCore::normalizeRect): 93346 (WebCore::CanvasRenderingContext2D::drawImage): 93347 93348 2008-08-26 Mark Rowe <mrowe (a] apple.com> 93349 93350 Reviewed by Darin Adler. 93351 93352 <rdar://problem/5768210> Switch back to the system version of SQLite 93353 93354 Use the system version of SQLite when it is new enough to provide the functionality 93355 that WebCore requires. 93356 93357 * Configurations/Base.xcconfig: 93358 * Configurations/DebugRelease.xcconfig: 93359 * Configurations/WebCore.xcconfig: 93360 93361 2008-09-02 Dan Bernstein <mitz (a] apple.com> 93362 93363 - build fix 93364 93365 * page/animation/AnimationBase.h: 93366 93367 2008-09-02 Chris Marrin <cmarrin (a] apple.com> 93368 93369 Reviewed by Dave Hyatt. 93370 93371 AnimationController.cpp should be split into separate files 93372 https://bugs.webkit.org/show_bug.cgi?id=20604 93373 93374 Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon 93375 recommendation of Dave Hyatt. 93376 93377 * GNUmakefile.am: 93378 * WebCore.pro: 93379 * WebCore.vcproj/WebCore.vcproj: 93380 * WebCore.xcodeproj/project.pbxproj: 93381 * WebCoreSources.bkl: 93382 Build files. 93383 93384 * page/AnimationController.cpp: Removed. 93385 * page/AnimationController.h: Removed. 93386 * page/animation: Added. 93387 * page/animation/AnimationBase.cpp: Added. 93388 * page/animation/AnimationBase.h: Added. 93389 * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp. 93390 * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h. 93391 * page/animation/CompositeAnimation.cpp: Added. 93392 * page/animation/CompositeAnimation.h: Added. 93393 * page/animation/ImplicitAnimation.cpp: Added. 93394 * page/animation/ImplicitAnimation.h: Added. 93395 * page/animation/KeyframeAnimation.cpp: Added. 93396 * page/animation/KeyframeAnimation.h: Added. 93397 93398 2008-09-02 Dan Bernstein <mitz (a] apple.com> 93399 93400 - release build fix 93401 93402 * platform/graphics/cg/GraphicsContextCG.cpp: 93403 (WebCore::calculateDrawingMode): 93404 93405 2008-09-02 Timothy Hatcher <timothy (a] apple.com> 93406 93407 Make console functions log the correct resource URL and 93408 line number for where the call originated. 93409 93410 https://bugs.webkit.org/show_bug.cgi?id=17234 93411 <rdar://problem/5732837> 93412 93413 Reviewed by Kevin McCullough. 93414 93415 Test: manual-tests/inspector/console-call-line-numbers.html 93416 93417 * bindings/js/JSConsoleCustom.cpp: 93418 (WebCore::JSConsole::count): Call the impl. 93419 (WebCore::JSConsole::timeEnd): Ditto. 93420 * manual-tests/inspector/console-call-line-numbers.html: Added. 93421 * manual-tests/inspector/resources/script-console-calls.js: Added. 93422 * page/Console.cpp: 93423 (WebCore::retrieveLastCaller): Helper to get the URL and line. 93424 (WebCore::Console::error): Call retrieveLastCaller to get the URL and 93425 line number to pass to addMessageToConsole. 93426 (WebCore::Console::info): Ditto. 93427 (WebCore::Console::log): Ditto. 93428 (WebCore::Console::assertCondition): Ditto. 93429 (WebCore::Console::count): Ditto. 93430 (WebCore::Console::timeEnd): Ditto. 93431 (WebCore::Console::warn): Ditto. 93432 * page/Console.h: 93433 * page/Console.idl: Make count and timeEnd custom. 93434 93435 2008-09-02 Timothy Hatcher <timothy (a] apple.com> 93436 93437 Removed IDL files from WebCore's framework resources. 93438 93439 * WebCore.xcodeproj/project.pbxproj: 93440 93441 2008-09-02 Dan Bernstein <mitz (a] apple.com> 93442 93443 Reviewed by Dave Hyatt. 93444 93445 - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang 93446 93447 * html/HTMLParser.cpp: 93448 (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a 93449 cap on the number of consecutive identical residual style tags to 93450 reopen. 93451 (WebCore::HTMLParser::popBlock): Ditto. 93452 93453 2008-09-02 Alexey Proskuryakov <ap (a] webkit.org> 93454 93455 Reviewed by Adam Roben. 93456 93457 A little database quota management cleanup. 93458 93459 * storage/OriginQuotaManager.cpp: 93460 (WebCore::OriginQuotaManager::OriginQuotaManager): 93461 (WebCore::OriginQuotaManager::lock): 93462 (WebCore::OriginQuotaManager::unlock): 93463 (WebCore::OriginQuotaManager::trackOrigin): 93464 (WebCore::OriginQuotaManager::tracksOrigin): 93465 (WebCore::OriginQuotaManager::addDatabase): 93466 (WebCore::OriginQuotaManager::removeDatabase): 93467 (WebCore::OriginQuotaManager::removeOrigin): 93468 (WebCore::OriginQuotaManager::markDatabase): 93469 (WebCore::OriginQuotaManager::diskUsage): 93470 * storage/OriginQuotaManager.h: 93471 Changed to assert that a lock is taken more directly and reliably. Removed comments about 93472 main/background threads, as this is likely to stop being true with synchronous Database calls 93473 being made on worker threads. 93474 93475 * storage/OriginUsageRecord.cpp: 93476 (WebCore::OriginUsageRecord::OriginUsageRecord): 93477 (WebCore::OriginUsageRecord::addDatabase): 93478 (WebCore::OriginUsageRecord::removeDatabase): 93479 (WebCore::OriginUsageRecord::markDatabase): 93480 (WebCore::OriginUsageRecord::diskUsage): 93481 * storage/OriginUsageRecord.h: 93482 (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry): 93483 Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and 93484 can be replaced with a single boolean for OriginUsageRecord. 93485 Added assertions for string parameters being unshared. 93486 93487 93488 2008-09-01 Adam Barth <abarth (a] webkit.org> 93489 93490 Reviewed by Sam Weinig. 93491 93492 https://bugs.webkit.org/show_bug.cgi?id=19760 93493 93494 Make granting LoadLocalResources conditional on a policy. 93495 93496 * WebCore.base.exp: 93497 * dom/Document.cpp: 93498 (WebCore::Document::initSecurityContext): 93499 * loader/FrameLoader.cpp: 93500 (WebCore::FrameLoader::setLocalLoadPolicy): 93501 (WebCore::FrameLoader::restrictAccessToLocal): 93502 * loader/FrameLoader.h: 93503 (WebCore::FrameLoader::): 93504 * platform/SecurityOrigin.cpp: 93505 (WebCore::SecurityOrigin::grantLoadLocalResources): 93506 * platform/SecurityOrigin.h: 93507 93508 2008-09-01 Dean Jackson <dino (a] apple.com> 93509 93510 Reviewed by Sam Weinig. 93511 93512 https://bugs.webkit.org/show_bug.cgi?id=20571 93513 Make sure Window object can assign Animation/Transition event 93514 listeners via attributes. 93515 93516 Also added a bunch of transition event tests, although 93517 only transition-end-event-window is directly relevant to this patch. 93518 93519 (WebCore::JSDOMWindowBase::put): 93520 93521 Tests: transitions/transition-end-event-all-properties.html 93522 transitions/transition-end-event-attributes.html 93523 transitions/transition-end-event-container.html 93524 transitions/transition-end-event-left.html 93525 transitions/transition-end-event-multiple-01.html 93526 transitions/transition-end-event-multiple-02.html 93527 transitions/transition-end-event-multiple-03.html 93528 transitions/transition-end-event-multiple-04.html 93529 transitions/transition-end-event-nested.html 93530 transitions/transition-end-event-transform.html 93531 transitions/transition-end-event-window.html 93532 93533 2008-09-01 Dean Jackson <dino (a] apple.com> 93534 93535 Reviewed by Sam Weinig 93536 93537 Code styling cleanup. 93538 93539 * bindings/js/JSDOMWindowBase.cpp: 93540 (WebCore::JSDOMWindowBase::getValueProperty): 93541 (WebCore::JSDOMWindowBase::put): 93542 93543 2008-09-01 Geoffrey Garen <ggaren (a] apple.com> 93544 93545 Reviewed by Darin Adler. 93546 93547 First cut at inline caching for access to vanilla JavaScript properties. 93548 93549 Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs 93550 to WebCore classes, and PutPropertySlot& arguments to put functions. 93551 93552 (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with 93553 inline caching for global properties, so global assignment can be optimized. 93554 93555 * ForwardingHeaders/kjs/StructureID.h: Added. 93556 * bindings/js/JSDOMBinding.h: 93557 (WebCore::DOMObject::DOMObject): 93558 * bindings/js/JSDOMWindowBase.cpp: 93559 (WebCore::JSDOMWindowBase::put): 93560 * bindings/js/JSDOMWindowBase.h: 93561 * bindings/js/JSDOMWindowCustom.h: 93562 (WebCore::JSDOMWindow::customPut): 93563 * bindings/js/JSDOMWindowShell.cpp: 93564 (WebCore::JSDOMWindowShell::JSDOMWindowShell): 93565 (WebCore::JSDOMWindowShell::put): 93566 * bindings/js/JSDOMWindowShell.h: 93567 * bindings/js/JSEventTargetBase.h: 93568 (WebCore::JSEventTargetBase::put): 93569 * bindings/js/JSEventTargetNode.h: 93570 (WebCore::JSEventTargetNode::put): 93571 * bindings/js/JSHTMLAppletElementCustom.cpp: 93572 (WebCore::JSHTMLAppletElement::customPut): 93573 * bindings/js/JSHTMLEmbedElementCustom.cpp: 93574 (WebCore::JSHTMLEmbedElement::customPut): 93575 * bindings/js/JSHTMLInputElementBase.cpp: 93576 (WebCore::JSHTMLInputElementBase::put): 93577 * bindings/js/JSHTMLInputElementBase.h: 93578 * bindings/js/JSHTMLObjectElementCustom.cpp: 93579 (WebCore::JSHTMLObjectElement::customPut): 93580 * bindings/js/JSHistoryCustom.cpp: 93581 (WebCore::JSHistory::customPut): 93582 * bindings/js/JSInspectedObjectWrapper.cpp: 93583 (WebCore::JSInspectedObjectWrapper::wrap): 93584 (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper): 93585 * bindings/js/JSInspectedObjectWrapper.h: 93586 * bindings/js/JSInspectorCallbackWrapper.cpp: 93587 (WebCore::JSInspectorCallbackWrapper::wrap): 93588 (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper): 93589 * bindings/js/JSInspectorCallbackWrapper.h: 93590 * bindings/js/JSLocationCustom.cpp: 93591 (WebCore::JSLocation::customPut): 93592 * bindings/js/JSPluginElementFunctions.cpp: 93593 (WebCore::runtimeObjectCustomPut): 93594 * bindings/js/JSPluginElementFunctions.h: 93595 * bindings/js/JSQuarantinedObjectWrapper.cpp: 93596 (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): 93597 (WebCore::JSQuarantinedObjectWrapper::put): 93598 * bindings/js/JSQuarantinedObjectWrapper.h: 93599 * bindings/js/JSStorageCustom.cpp: 93600 (WebCore::JSStorage::customPut): 93601 * bindings/objc/WebScriptObject.mm: 93602 (-[WebScriptObject setValue:forKey:]): 93603 * bindings/scripts/CodeGeneratorJS.pm: 93604 * bridge/NP_jsobject.cpp: 93605 (_NPN_SetProperty): 93606 * bridge/jni/jni_jsobject.mm: 93607 (JavaJSObject::setMember): 93608 * bridge/objc/objc_class.mm: 93609 (KJS::Bindings::ObjcClass::fallbackObject): 93610 * bridge/objc/objc_runtime.h: 93611 * bridge/objc/objc_runtime.mm: 93612 (ObjcFallbackObjectImp::ObjcFallbackObjectImp): 93613 (ObjcFallbackObjectImp::put): 93614 * bridge/runtime.cpp: 93615 (KJS::Bindings::Instance::createRuntimeObject): 93616 * bridge/runtime_array.cpp: 93617 (RuntimeArray::put): 93618 * bridge/runtime_array.h: 93619 * bridge/runtime_object.cpp: 93620 (RuntimeObjectImp::RuntimeObjectImp): 93621 (RuntimeObjectImp::put): 93622 * bridge/runtime_object.h: 93623 93624 2008-09-01 Dirk Schulze <vbs85 (a] gmx.de> 93625 93626 Reviewed by Eric Seidel. 93627 93628 Fixed border-radius for Cairo. 93629 93630 * platform/graphics/cairo/GraphicsContextCairo.cpp: 93631 (WebCore::GraphicsContext::strokeArc): 93632 93633 2008-09-01 Dirk Schulze <vbs85 (a] gmx.de> 93634 93635 Reviewed by Eric Seidel. 93636 93637 Added canvas's globalAlpha to cairo. 93638 93639 * platform/graphics/GraphicsContext.h: 93640 * platform/graphics/cairo/GraphicsContextCairo.cpp: 93641 (WebCore::GraphicsContext::fillPath): 93642 (WebCore::GraphicsContext::strokePath): 93643 (WebCore::GraphicsContext::setAlpha): 93644 (WebCore::GraphicsContext::getAlpha): 93645 * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: 93646 (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): 93647 * platform/graphics/cairo/ImageCairo.cpp: 93648 (WebCore::BitmapImage::draw): 93649 93650 2008-08-31 Simon Hausmann <hausmann (a] webkit.org> 93651 93652 Unreviewed Qt build fix. 93653 93654 * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of 93655 the .h file 93656 93657 2008-08-30 Darin Adler <darin (a] apple.com> 93658 93659 Reviewed by Maciej. 93660 93661 - adopt some new JavaScriptCore functions where appropriate 93662 93663 * bindings/js/JSDOMWindowBase.cpp: 93664 (WebCore::windowProtoFuncAToB): Adopted jsEmptyString. 93665 (WebCore::windowProtoFuncBToA): Ditto. 93666 * bindings/js/JSEventListener.cpp: 93667 (WebCore::JSLazyEventListener::eventParameterName): Adopted 93668 jsNontrivialString. 93669 * bindings/js/JSSVGLazyEventListener.cpp: 93670 (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto. 93671 93672 2008-08-29 Brady Eidson <beidson (a] apple.com> 93673 93674 Reviewed by Anders' rubberstamp 93675 93676 Style cleanup to match MediaTokenizer::writeRawData() 93677 93678 * loader/PluginDocument.cpp: 93679 (WebCore::PluginTokenizer::writeRawData): 93680 93681 2008-08-29 Brady Eidson <beidson (a] apple.com> 93682 93683 Reviewed by Anders 93684 93685 https://bugs.webkit.org/show_bug.cgi?id=20556 93686 <rdar://problem/6181817> REGRESSION (r35946): media/video-click-dlbclick-standalone.html [sic] fails because load never fires 93687 93688 Fix regression I introducted in 35946 93689 Already covered by media/video-click-dlbclick-standalone.html 93690 93691 * loader/MediaDocument.cpp: 93692 (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early! 93693 (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called. Also add 93694 an ASSERT signifying that this method should only be called once, to more closely follow the 93695 PluginDocument case. 93696 93697 2008-08-29 Beth Dakin <bdakin (a] apple.com> 93698 93699 Reviewed by Sam Weinig. 93700 93701 Fix for <rdar://problem/6181588> 93702 93703 This patch makes hit testing take into account the new concept of a 93704 disconnected frame, in which some of the content may not be 93705 visible. The current hit testing mechanism starts at a target frame 93706 and drills down for a HitTestResult. In some cases, drilling down 93707 will find a non-visible result. When this happens, we need to try 93708 again, starting at a higher level -- namely, starting at the main 93709 frame. 93710 93711 * editing/Editor.cpp: 93712 (WebCore::Editor::insideVisibleArea): New function that tests if a 93713 point is inside the visible area for a disconnected frame. 93714 * editing/Editor.h: 93715 * page/EventHandler.cpp: 93716 (WebCore::EventHandler::hitTestResultAtPoint): 93717 93718 2008-08-29 Adele Peterson <adele (a] apple.com> 93719 93720 Reviewed by Adam Roben. 93721 93722 Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp 93723 93724 * GNUmakefile.am: 93725 * WebCore.pro: 93726 * WebCore.vcproj/WebCore.vcproj: 93727 * WebCore.xcodeproj/project.pbxproj: 93728 * WebCoreSources.bkl: 93729 * html/HTMLTextFieldInnerElement.cpp: Removed. 93730 * html/HTMLTextFieldInnerElement.h: Removed. 93731 * rendering/RenderTextControl.cpp: 93732 (WebCore::RenderTextControl::createSubtreeIfNeeded): 93733 * rendering/RenderTextControl.h: 93734 * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp. 93735 (WebCore::TextControlInnerElement::TextControlInnerElement): 93736 (WebCore::TextControlInnerTextElement::TextControlInnerTextElement): 93737 (WebCore::TextControlInnerTextElement::defaultEventHandler): 93738 (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement): 93739 (WebCore::SearchFieldResultsButtonElement::defaultEventHandler): 93740 (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement): 93741 (WebCore::SearchFieldCancelButtonElement::defaultEventHandler): 93742 * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h. 93743 93744 2008-08-29 Eric Seidel <eric (a] webkit.org> 93745 93746 Rubber-stamped by aroben. 93747 93748 Add GraphicsContext.h include to GraphcisContextPrivate.h 93749 93750 GraphicsContextPrivate uses StrokeStyle which is defined 93751 in GraphicsContext.h but it doesn't include that header. 93752 CoreGraphics build doesn't fail here due to the order 93753 it happens to include files. 93754 93755 * platform/graphics/GraphicsContextPrivate.h: 93756 93757 2008-08-29 Eric Seidel <eric (a] webkit.org> 93758 93759 Reviewed by hyatt. 93760 93761 Fix GeneratedImage to respect Image's refcounting 93762 Fixing potential crashers (future if not current) 93763 https://bugs.webkit.org/show_bug.cgi?id=20567 93764 93765 I don't know if it's possible to make the current code 93766 crash, thus I've not made a test. 93767 93768 * css/CSSGradientValue.cpp: 93769 (WebCore::CSSGradientValue::image): 93770 * css/CSSImageGeneratorValue.cpp: 93771 (WebCore::CSSImageGeneratorValue::removeClient): 93772 (WebCore::CSSImageGeneratorValue::getImage): 93773 * css/CSSImageGeneratorValue.h: 93774 * platform/graphics/GeneratedImage.h: 93775 (WebCore::GeneratedImage::GeneratedImage): 93776 * rendering/style/RenderStyle.cpp: 93777 (WebCore::RenderStyle::setContent): 93778 * rendering/style/RenderStyle.h: 93779 93780 2008-08-29 Eric Carlson <eric.carlson (a] apple.com> 93781 93782 Reviewed by Adele. 93783 93784 Fix for <rdar://problem/6093767> 93785 https://bugs.webkit.org/show_bug.cgi?id=20526 93786 93787 Don't allow video to render until unsupported track types have been disabled. 93788 93789 * platform/graphics/win/QTMovieWin.cpp: 93790 (QTMovieWinPrivate::task): 93791 (QTMovieWinPrivate::drawingComplete): 93792 (QTMovieWinPrivate::clearGWorld): 93793 93794 2008-08-29 Eric Carlson <eric.carlson (a] apple.com> 93795 93796 Reviewed by Adele. 93797 93798 Fix for https://bugs.webkit.org/show_bug.cgi?id=20525 93799 <rdar://problem/6169301> 93800 93801 Return the size of the movie data instead of 1000. 93802 93803 Test: media/progress-event-total.html 93804 93805 * platform/graphics/win/QTMovieWin.cpp: 93806 (QTMovieWin::dataSize): 93807 93808 2008-08-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 93809 93810 Reviewed by Eric Seidel. 93811 93812 [janitor/qt] Start replacing port specific getters with the generic native getter 93813 To get the native presentation of an image we currently have platform 93814 specific #ifdef's and a generic getter using NativeImagePtr. This patch 93815 extends this to the ImageBuffer and updates the Qt platform to get rid 93816 of the special #ifdefs. 93817 93818 https://bugs.webkit.org/attachment.cgi?id=22861 93819 93820 * platform/graphics/BitmapImage.h: 93821 * platform/graphics/Image.h: 93822 * platform/graphics/qt/ImageQt.cpp: 93823 * platform/graphics/qt/StillImageQt.cpp: 93824 * platform/graphics/qt/StillImageQt.h: 93825 * platform/qt/ClipboardQt.cpp: 93826 (WebCore::ClipboardQt::createDragImage): 93827 (WebCore::ClipboardQt::declareAndWriteDragImage): 93828 * platform/qt/CursorQt.cpp: 93829 * platform/qt/PasteboardQt.cpp: 93830 (WebCore::Pasteboard::writeImage): 93831 93832 2008-08-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 93833 93834 Reviewed by Simon. 93835 93836 [svg/qt] Stop crashing... when no RenderPath/RenderObject is given... 93837 93838 * svg/graphics/qt/SVGPaintServerQt.cpp: 93839 (WebCore::SVGPaintServer::renderPath): 93840 * svg/graphics/qt/SVGPaintServerSolidQt.cpp: 93841 (WebCore::SVGPaintServerSolid::setup): 93842 93843 2008-08-29 Holger Hans Peter Freyther <zecke (a] selfish.org> 93844 93845 Reviewed by Simon. 93846 93847 [network/qt] Implement defering of loading ResourceHandle's 93848 This is needed otherwise we end in an ASSERT in the MainResourceLoader. The 93849 implementation is simply not forwarding anything to the 93850 ResourceHandleClient until we are allowed to. This might lead to a deadlock 93851 in Qt as we do not empty the QNetworkReply input buffer and wait until we 93852 are allowed to read. If that happens we are forced to buffer the data 93853 within QNetworkReplyHandler, for now this is not done. 93854 93855 Manual test: 93856 - Open http://acid3.acidtests.org 93857 - Wait for the test to complete 93858 - Click on the Reference Rendering link 93859 - Be fast and see the results of acid3 93860 => assert 93861 93862 * platform/network/qt/QNetworkReplyHandler.cpp: 93863 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 93864 (WebCore::QNetworkReplyHandler::setLoadMode): 93865 (WebCore::QNetworkReplyHandler::finish): 93866 (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 93867 (WebCore::QNetworkReplyHandler::forwardData): 93868 (WebCore::QNetworkReplyHandler::start): 93869 (WebCore::QNetworkReplyHandler::resetState): 93870 (WebCore::QNetworkReplyHandler::sendQueuedItems): 93871 * platform/network/qt/QNetworkReplyHandler.h: 93872 (WebCore::QNetworkReplyHandler::): 93873 * platform/network/qt/ResourceHandleQt.cpp: 93874 (WebCore::ResourceHandle::start): 93875 (WebCore::ResourceHandle::loadResourceSynchronously): 93876 (WebCore::ResourceHandle::setDefersLoading): 93877 93878 2008-08-29 Simon Hausmann <hausmann (a] webkit.org> 93879 93880 Reviewed by Holger. 93881 93882 Don't crash when drawing patterns with the HTML canvas. Patterns 93883 remain unimplemented but at least they don't crash anymore. This is 93884 done by changing the PlatformPatternPtr to be a brush for the Qt 93885 platform. 93886 93887 * platform/graphics/Pattern.h: 93888 * platform/graphics/qt/GraphicsContextQt.cpp: 93889 (WebCore::GraphicsContext::fillPath): 93890 (WebCore::GraphicsContext::strokePath): 93891 (WebCore::GraphicsContext::fillRect): 93892 * platform/graphics/qt/PatternQt.cpp: 93893 (WebCore::Pattern::createPlatformPattern): 93894 93895 2008-08-29 Simon Hausmann <hausmann (a] webkit.org> 93896 93897 Fix the Qt build, fontSelector() is not used by the Qt port yet 93898 and we just return 0 in Font::fontSelector(). 93899 93900 * platform/graphics/Font.h: 93901 93902 2008-08-28 Alp Toker <alp (a] nuanti.com> 93903 93904 GTK+ dist/build fix. List newly added header files. 93905 93906 * GNUmakefile.am: 93907 93908 2008-08-28 Simon Fraser <simon.fraser (a] apple.com> 93909 93910 Reviewed by Dave Hyatt 93911 93912 Various WebKitCSSTransformValue-related fixes 93913 https://bugs.webkit.org/show_bug.cgi?id=20562 93914 93915 Test: css3/transform-value-types.html 93916 93917 * bindings/js/JSCSSValueCustom.cpp: 93918 (WebCore::toJS): 93919 * css/CSSValue.h: 93920 * css/WebKitCSSTransformValue.cpp: 93921 (WebCore::WebKitCSSTransformValue::cssText): 93922 * css/WebKitCSSTransformValue.h: 93923 (WebCore::WebKitCSSTransformValue::): 93924 * css/WebKitCSSTransformValue.idl: 93925 93926 2008-08-28 Dan Bernstein <mitz (a] apple.com> 93927 93928 Reviewed by Steve Falkenburg. 93929 93930 - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred 93931 93932 * platform/win/SharedTimerWin.cpp: 93933 (WebCore::TimerWindowWndProc): 93934 93935 2008-08-28 David Hyatt <hyatt (a] apple.com> 93936 93937 RenderStyle cleanup. 93938 93939 Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files. 93940 93941 Reviewed by Adam 93942 93943 * css/CSSImageGeneratorValue.cpp: 93944 * css/CSSImageValue.cpp: 93945 * css/CSSStyleSelector.cpp: 93946 * rendering/RenderImageGeneratedContent.cpp: 93947 * rendering/style/NinePieceImage.cpp: Added. 93948 * rendering/style/NinePieceImage.h: Added. 93949 * rendering/style/RenderStyle.cpp: 93950 (WebCore::FillLayer::operator==): 93951 (WebCore::FillLayer::containsImage): 93952 (WebCore::StyleInheritedData::operator==): 93953 (WebCore::RenderStyle::contentDataEquivalent): 93954 * rendering/style/RenderStyle.h: 93955 * rendering/style/StyleCachedImage.cpp: Added. 93956 * rendering/style/StyleCachedImage.h: Added. 93957 * rendering/style/StyleGeneratedImage.cpp: Added. 93958 * rendering/style/StyleGeneratedImage.h: Added. 93959 * rendering/style/StyleImage.h: Added. 93960 93961 2008-08-28 Simon Fraser <simon.fraser (a] apple.com> 93962 93963 Reviewed by Dave Hyatt 93964 93965 Make all the 'isFoo()' methods on CSSValue const, 93966 and fix the subclasses. 93967 93968 https://bugs.webkit.org/show_bug.cgi?id=20561 93969 93970 * css/CSSTimingFunctionValue.h: 93971 * css/CSSValue.h: 93972 (WebCore::CSSValue::isFontValue): 93973 (WebCore::CSSValue::isImageGeneratorValue): 93974 (WebCore::CSSValue::isImageValue): 93975 (WebCore::CSSValue::isImplicitInitialValue): 93976 * css/CSSValueList.h: 93977 * css/FontValue.h: 93978 93979 2008-08-28 David Hyatt <hyatt (a] apple.com> 93980 93981 The great RenderStyle cleanup begins! 93982 93983 Move LengthBox and LengthSize out of RenderStyle and into Length. 93984 93985 Reviewed by Adam 93986 93987 * rendering/Length.h: 93988 (WebCore::): 93989 (WebCore::Length::Length): 93990 (WebCore::Length::operator==): 93991 (WebCore::Length::operator!=): 93992 (WebCore::Length::value): 93993 (WebCore::Length::rawValue): 93994 (WebCore::Length::percent): 93995 (WebCore::Length::type): 93996 (WebCore::Length::quirk): 93997 (WebCore::Length::setValue): 93998 (WebCore::Length::setRawValue): 93999 (WebCore::Length::calcValue): 94000 (WebCore::Length::calcMinValue): 94001 (WebCore::Length::calcFloatValue): 94002 (WebCore::Length::isUndefined): 94003 (WebCore::Length::isZero): 94004 (WebCore::Length::isPositive): 94005 (WebCore::Length::isNegative): 94006 (WebCore::Length::isAuto): 94007 (WebCore::Length::isRelative): 94008 (WebCore::Length::isPercent): 94009 (WebCore::Length::isFixed): 94010 (WebCore::Length::isStatic): 94011 (WebCore::Length::isIntrinsicOrAuto): 94012 (WebCore::Length::blend): 94013 (WebCore::LengthBox::LengthBox): 94014 (WebCore::LengthBox::operator=): 94015 (WebCore::LengthBox::operator==): 94016 (WebCore::LengthBox::operator!=): 94017 (WebCore::LengthBox::nonZero): 94018 (WebCore::LengthSize::LengthSize): 94019 * rendering/style/RenderStyle.h: 94020 94021 2008-08-28 David Hyatt <hyatt (a] apple.com> 94022 94023 Reviewed by Darin 94024 94025 https://bugs.webkit.org/show_bug.cgi?id=18091 94026 94027 font-size should be animatable using -webkit-transition. 94028 94029 * page/AnimationController.cpp: 94030 (WebCore::AnimationControllerPrivate::ensurePropertyMap): 94031 * rendering/style/RenderStyle.h: 94032 (WebCore::RenderStyle::setFontSize): 94033 94034 2008-08-28 Brad Garcia <bgarcia (a] google.com> 94035 94036 Reviewed by Dan Bernstein. 94037 94038 https://bugs.webkit.org/show_bug.cgi?id=20549 94039 Correctly determine when cursor is over a resizable border within 94040 a nested frameset. 94041 94042 * rendering/RenderFrameSet.cpp: 94043 (WebCore::RenderFrameSet::canResizeRow): 94044 (WebCore::RenderFrameSet::canResizeColumn): 94045 94046 2008-08-28 Simon Fraser <simon.fraser (a] apple.com> 94047 94048 Reviewed by Eric Seidel 94049 94050 Add RuleTypes to CSSRule.idl for keyframes and keyframe rules. 94051 https://bugs.webkit.org/show_bug.cgi?id=20552 94052 94053 Test: animations/animation-css-rule-types.html 94054 94055 * css/CSSRule.idl: 94056 94057 2008-08-28 Anders Carlsson <andersca (a] apple.com> 94058 94059 Reviewed by Kevin and Darin. 94060 94061 <rdar://problem/6182541> 94062 https://bugs.webkit.org/show_bug.cgi?id=20202 94063 Missing http status line from the http headers. 94064 94065 Add a status line to the header string. 94066 94067 * plugins/PluginStream.cpp: 94068 (WebCore::PluginStream::startStream): 94069 94070 2008-08-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 94071 94072 Rubber-stamped by Darin Adler. 94073 94074 https://bugs.webkit.org/show_bug.cgi?id=17261 94075 94076 Make it possible to theme the default Url icon and enable this for 94077 the Qt port. To have a minimal usage of #ifdef in the code the setting 94078 of the icon was moved to a new method which comes in two flavors. 94079 94080 * loader/icon/IconDatabase.cpp: 94081 (WebCore::loadDefaultIconRecord): Load or set the default icon 94082 (WebCore::IconDatabase::defaultIcon): 94083 94084 2008-08-28 Holger Hans Peter Freyther <zecke (a] selfish.org> 94085 94086 Unreviewed compile fix 94087 94088 * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions 94089 94090 2008-08-28 Adam Roben <aroben (a] apple.com> 94091 94092 Windows (and others?) build fix 94093 94094 * page/Chrome.cpp: Added a missing #include. 94095 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo. 94096 94097 2008-08-27 Eric Seidel <eric (a] webkit.org> 94098 94099 Reviewed by Oliver Hunt. 94100 94101 Qt and Cairo support from krit (and blind stab @ wx compile support) 94102 https://bugs.webkit.org/show_bug.cgi?id=20373 94103 94104 * platform/graphics/cairo/GraphicsContextCairo.cpp: 94105 (WebCore::GraphicsContext::fillPath): 94106 (WebCore::GraphicsContext::strokePath): 94107 (WebCore::GraphicsContext::drawPath): 94108 (WebCore::GraphicsContext::fillRect): 94109 (WebCore::GraphicsContext::setPlatformFillColor): 94110 (WebCore::GraphicsContext::setPlatformStrokeColor): 94111 (WebCore::GraphicsContext::setPlatformStrokeStyle): 94112 (WebCore::GraphicsContext::strokeRect): 94113 (WebCore::GraphicsContext::setImageInterpolationQuality): 94114 (WebCore::GraphicsContext::imageInterpolationQuality): 94115 (WebCore::GraphicsContext::setPlatformFillPattern): 94116 (WebCore::GraphicsContext::setPlatformStrokePattern): 94117 (WebCore::GraphicsContext::setPlatformFillGradient): 94118 (WebCore::GraphicsContext::setPlatformStrokeGradient): 94119 * platform/graphics/qt/GraphicsContextQt.cpp: 94120 (WebCore::GraphicsContext::fillPath): 94121 (WebCore::GraphicsContext::strokePath): 94122 (WebCore::GraphicsContext::fillRect): 94123 (WebCore::GraphicsContext::strokeRect): 94124 (WebCore::GraphicsContext::clipToImageBuffer): 94125 (WebCore::GraphicsContext::setPlatformFillPattern): 94126 (WebCore::GraphicsContext::setPlatformStrokePattern): 94127 (WebCore::GraphicsContext::setPlatformFillGradient): 94128 (WebCore::GraphicsContext::setPlatformStrokeGradient): 94129 (WebCore::GraphicsContext::setImageInterpolationQuality): 94130 (WebCore::GraphicsContext::imageInterpolationQuality): 94131 * platform/graphics/wx/GraphicsContextWx.cpp: 94132 (WebCore::GraphicsContext::clipToImageBuffer): 94133 (WebCore::GraphicsContext::setImageInterpolationQuality): 94134 (WebCore::GraphicsContext::imageInterpolationQuality): 94135 (WebCore::GraphicsContext::fillPath): 94136 (WebCore::GraphicsContext::strokePath): 94137 (WebCore::GraphicsContext::drawPath): 94138 (WebCore::GraphicsContext::fillRect): 94139 (WebCore::GraphicsContext::setPlatformFillPattern): 94140 (WebCore::GraphicsContext::setPlatformStrokePattern): 94141 (WebCore::GraphicsContext::setPlatformFillGradient): 94142 94143 2008-08-27 Eric Seidel <eric (a] webkit.org> 94144 94145 Reviewed by Oliver Hunt. 94146 94147 Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it. 94148 https://bugs.webkit.org/show_bug.cgi?id=20373 94149 94150 Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient() 94151 94152 Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't 94153 have to store large Gradient objects in the GraphicsContextState 94154 94155 Made Pattern RefCounted for the same reason. 94156 94157 Many updates to GraphicsContext to support easier drawing with 94158 Patterns and Gradients. 94159 94160 * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h 94161 * bindings/js/JSCanvasRenderingContext2DCustom.cpp: 94162 (WebCore::toJS): 94163 * css/CSSGradientValue.cpp: 94164 (WebCore::CSSGradientValue::createGradient): 94165 * css/CSSGradientValue.h: 94166 * html/CanvasGradient.cpp: 94167 (WebCore::CanvasGradient::CanvasGradient): 94168 * html/CanvasGradient.h: 94169 (WebCore::CanvasGradient::gradient): 94170 (WebCore::CanvasGradient::addColorStop): 94171 (WebCore::CanvasGradient::getColor): 94172 * html/CanvasPattern.cpp: 94173 * html/CanvasPattern.h: 94174 (WebCore::CanvasPattern::pattern): 94175 (WebCore::CanvasPattern::originClean): 94176 * html/CanvasRenderingContext2D.cpp: 94177 (WebCore::CanvasRenderingContext2D::State::State): 94178 (WebCore::CanvasRenderingContext2D::setStrokeStyle): 94179 (WebCore::CanvasRenderingContext2D::setFillStyle): 94180 (WebCore::CanvasRenderingContext2D::fill): 94181 (WebCore::CanvasRenderingContext2D::stroke): 94182 (WebCore::CanvasRenderingContext2D::fillRect): 94183 (WebCore::CanvasRenderingContext2D::strokeRect): 94184 * html/CanvasRenderingContext2D.h: 94185 * html/CanvasStyle.cpp: 94186 (WebCore::CanvasStyle::applyStrokeColor): 94187 (WebCore::CanvasStyle::applyFillColor): 94188 * html/CanvasStyle.h: 94189 * platform/graphics/GeneratedImage.h: 94190 (WebCore::GeneratedImage::GeneratedImage): 94191 * platform/graphics/Generator.h: 94192 * platform/graphics/Gradient.h: 94193 (WebCore::Gradient::create): 94194 * platform/graphics/GraphicsContext.cpp: 94195 (WebCore::GraphicsContext::fillRule): 94196 (WebCore::GraphicsContext::setFillRule): 94197 (WebCore::GraphicsContext::setStrokePattern): 94198 (WebCore::GraphicsContext::setFillPattern): 94199 (WebCore::GraphicsContext::setStrokeGradient): 94200 (WebCore::GraphicsContext::setFillGradient): 94201 * platform/graphics/GraphicsContext.h: 94202 * platform/graphics/GraphicsContextPrivate.h: 94203 (WebCore::): 94204 (WebCore::GraphicsContextState::GraphicsContextState): 94205 * platform/graphics/GraphicsTypes.h: 94206 * platform/graphics/Path.h: 94207 * platform/graphics/Pattern.h: 94208 (WebCore::Pattern::create): 94209 (WebCore::Pattern::tileImage): 94210 * platform/graphics/cg/GraphicsContextCG.cpp: 94211 (WebCore::GraphicsContext::drawRect): 94212 (WebCore::GraphicsContext::drawEllipse): 94213 (WebCore::GraphicsContext::drawConvexPolygon): 94214 (WebCore::calculateDrawingMode): 94215 (WebCore::GraphicsContext::drawPath): 94216 (WebCore::fillPathWithFillRule): 94217 (WebCore::GraphicsContext::fillPath): 94218 (WebCore::GraphicsContext::strokePath): 94219 (WebCore::GraphicsContext::fillRect): 94220 (WebCore::GraphicsContext::fillRoundedRect): 94221 (WebCore::GraphicsContext::setPlatformStrokePattern): 94222 (WebCore::GraphicsContext::setPlatformFillPattern): 94223 (WebCore::GraphicsContext::setPlatformStrokeGradient): 94224 (WebCore::GraphicsContext::setPlatformFillGradient): 94225 94226 2008-08-20 Eric Seidel <eric (a] webkit.org> 94227 94228 Reviewed by Darin and Alexey. 94229 94230 Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed 94231 with timeouts paused. 94232 https://bugs.webkit.org/show_bug.cgi?id=20469 94233 94234 I attempted to clean up the memory management of PausedTimeouts, I'm not 94235 sure the solution I came up with is "cleaner", but it's in some ways 94236 "safer", since it no longer uses raw pointers and manual new/delete. 94237 94238 This also now prevents CachedPage from needlessly creating Window 94239 objects when caching pages which didn't already have one. :) 94240 94241 I also made Chrome.cpp no longer depend on the JavaScript bindings 94242 (aka JSDOMWindowBase.h), since there was no real reason for it to. 94243 94244 * bindings/js/JSDOMWindowBase.cpp: 94245 (WebCore::JSDOMWindowBase::pauseTimeouts): 94246 (WebCore::JSDOMWindowBase::resumeTimeouts): 94247 * bindings/js/JSDOMWindowBase.h: 94248 * bindings/js/ScriptController.cpp: 94249 (WebCore::ScriptController::pauseTimeouts): 94250 (WebCore::ScriptController::resumeTimeouts): 94251 * bindings/js/ScriptController.h: 94252 * history/CachedPage.cpp: 94253 (WebCore::CachedPage::CachedPage): 94254 (WebCore::CachedPage::restore): 94255 * page/Chrome.cpp: 94256 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 94257 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 94258 * page/JavaScriptDebugServer.cpp: 94259 (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer): 94260 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 94261 94262 2008-08-27 Holger Hans Peter Freyther <zecke (a] selfish.org> 94263 94264 Unreviewed compile fix 94265 94266 Add the stub for the Qt port. 94267 94268 * WebCore.pro: 94269 * page/qt/AccessibilityObjectQt.cpp: Added. 94270 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 94271 94272 2008-08-27 Alp Toker <alp (a] nuanti.com> 94273 94274 Reviewed by Eric. 94275 94276 https://bugs.webkit.org/show_bug.cgi?id=20551 94277 [GTK] search popup crash 94278 94279 * platform/gtk/SearchPopupMenuGtk.cpp: 94280 (WebCore::SearchPopupMenu::enabled): 94281 Fix a search popup crasher by disabling the history popup since we 94282 don't support this feature yet in the GTK+ port. 94283 94284 2008-08-27 Alp Toker <alp (a] nuanti.com> 94285 94286 Reviewed by Eric. 94287 94288 https://bugs.webkit.org/show_bug.cgi?id=20551 94289 [GTK] curl crashers 94290 94291 * platform/network/curl/ResourceHandleManager.cpp: 94292 (WebCore::ResourceHandleManager::startScheduledJobs): 94293 Remove the resource handle from the pending list before starting the 94294 job, not afterwards. Fixes crashers in the test suite. 94295 94296 Test: fast/dom/clientWidthAfterDocumentIsRemoved.html 94297 Test: fast/encoding/char-encoding.html 94298 94299 2008-08-27 Dirk Schulze <vbs85 (a] gmx.de> 94300 94301 Reviewed by eseidel. 94302 94303 Fix canvas drawImage to support composite operations. 94304 Composite had no effect on canvas elements like these: 94305 http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html 94306 94307 [CAIRO] Canvas composite don't work on canvas-elements. 94308 https://bugs.webkit.org/show_bug.cgi?id=20548 94309 94310 * html/CanvasRenderingContext2D.cpp: 94311 (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call 94312 94313 2008-08-27 Mario Bensi <mbensi (a] pleyo.com> 94314 94315 Reviewed by Eric Seidel. 94316 94317 Fix the data content of an image with a base64. 94318 94319 * platform/network/curl/ResourceHandleManager.cpp: 94320 (WebCore::parseDataUrl): Remove the String and use only the data 94321 Vector because the data.latin1().data() convert the data content and 94322 the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is 94323 not drawn correctly. 94324 94325 2008-08-27 Antti Koivisto <antti (a] apple.com> 94326 94327 Reviewed by Eric Seidel. 94328 94329 Crash after OK in dialog box and reloading page in secure mode 94330 https://bugs.webkit.org/show_bug.cgi?id=20493 94331 94332 The new run loop spawned by a modal dialog causes a timer in the loader to run 94333 synchronously inside didFinishLoading() deleting "this" object. 94334 94335 Defer all WebCore timers when a modal dialog is up. They are not 94336 safe to execute. 94337 94338 * page/Chrome.cpp: 94339 (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): 94340 (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): 94341 94342 2008-08-27 Chris Marrin <cmarrin (a] apple.com> 94343 94344 Reviewed by Dave Hyatt 94345 94346 Memory leaks when animating transforms 94347 https://bugs.webkit.org/show_bug.cgi?id=20532 94348 94349 * rendering/style/RenderStyle.cpp: 94350 (WebCore::ScaleTransformOperation::blend): 94351 (WebCore::RotateTransformOperation::blend): 94352 (WebCore::SkewTransformOperation::blend): 94353 (WebCore::TranslateTransformOperation::blend): 94354 (WebCore::MatrixTransformOperation::blend): 94355 * rendering/style/RenderStyle.h: 94356 94357 2008-08-27 Timothy Hatcher <timothy (a] apple.com> 94358 94359 Add support for support for -webkit-appearance: default-button on the Mac platform. 94360 94361 <rdar://problem/6173530> 94362 94363 Reviewed by Dave Hyatt. 94364 94365 * WebCore.base.exp: Export new symbols. 94366 * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation. 94367 * platform/mac/WebCoreSystemInterface.mm: Ditto. 94368 * rendering/RenderButton.cpp: 94369 (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN). 94370 (WebCore::RenderButton::setStyle): Ditto. 94371 * rendering/RenderButton.h: Ditto. 94372 * rendering/RenderThemeMac.mm: 94373 (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance. 94374 (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return 94375 key if the button is default, otherwise reset the key equivalent. 94376 (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell: 94377 on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore 94378 the window's previous default button cell when finished. 94379 94380 2008-08-26 David Hyatt <hyatt (a] apple.com> 94381 94382 First cut at making form controls on OS X respect full page zoom. There are lots of bugs. 94383 94384 Reviewed by weinig 94385 94386 Added fast/forms/zoomed-controls.html 94387 94388 * css/CSSStyleSelector.cpp: 94389 (WebCore::addIntrinsicMargins): 94390 * rendering/RenderSlider.cpp: 94391 (WebCore::RenderSlider::calcPrefWidths): 94392 * rendering/RenderThemeMac.h: 94393 * rendering/RenderThemeMac.mm: 94394 (WebCore::RenderThemeMac::adjustRepaintRect): 94395 (WebCore::RenderThemeMac::inflateRect): 94396 (WebCore::RenderThemeMac::baselinePosition): 94397 (WebCore::RenderThemeMac::setControlSize): 94398 (WebCore::RenderThemeMac::sizeForFont): 94399 (WebCore::RenderThemeMac::sizeForSystemFont): 94400 (WebCore::RenderThemeMac::setFontFromControlSize): 94401 (WebCore::RenderThemeMac::paintCheckbox): 94402 (WebCore::RenderThemeMac::setCheckboxCellState): 94403 (WebCore::RenderThemeMac::paintRadio): 94404 (WebCore::RenderThemeMac::setRadioCellState): 94405 (WebCore::RenderThemeMac::setButtonPaddingFromControlSize): 94406 (WebCore::RenderThemeMac::adjustButtonStyle): 94407 (WebCore::RenderThemeMac::setButtonCellState): 94408 (WebCore::RenderThemeMac::paintButton): 94409 (WebCore::RenderThemeMac::paintMenuList): 94410 (WebCore::RenderThemeMac::paintMenuListButton): 94411 (WebCore::RenderThemeMac::popupInternalPaddingLeft): 94412 (WebCore::RenderThemeMac::popupInternalPaddingRight): 94413 (WebCore::RenderThemeMac::popupInternalPaddingTop): 94414 (WebCore::RenderThemeMac::popupInternalPaddingBottom): 94415 (WebCore::RenderThemeMac::setPopupButtonCellState): 94416 (WebCore::RenderThemeMac::paintSliderTrack): 94417 (WebCore::RenderThemeMac::paintSliderThumb): 94418 (WebCore::RenderThemeMac::adjustSliderThumbSize): 94419 (WebCore::RenderThemeMac::paintSearchField): 94420 (WebCore::RenderThemeMac::adjustSearchFieldStyle): 94421 (WebCore::RenderThemeMac::paintSearchFieldCancelButton): 94422 (WebCore::RenderThemeMac::paintSearchFieldResultsButton): 94423 94424 2008-08-27 Brady Eidson <beidson (a] apple.com> 94425 94426 Reviewed by Anders 94427 94428 <rdar://problem/6134133> - Crash when loading large movie as a standalone document 94429 94430 We hand off these loads to Quicktime which manages and spools the data itself, but we also continued 94431 to load and buffer the data for the movie in WebCore. With large media files, this results in blowing 94432 away the virtual address space and a crash. 94433 94434 * loader/EmptyClients.h: 94435 (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError): 94436 * loader/FrameLoaderClient.h: Added client method to get platform specific error for 94437 "plugin will handle load" 94438 94439 * loader/MediaDocument.cpp: 94440 (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data, 94441 and cancel the WebCore-managed load 94442 (WebCore::MediaTokenizer::writeRawData): 94443 (WebCore::MediaTokenizer::finish): 94444 94445 2008-08-26 Simon Fraser <simon.fraser (a] apple.com> 94446 94447 Reviewed by Eric Seidel 94448 94449 Linear timing functions should have control points 0, 0, 1, 1. 94450 https://bugs.webkit.org/show_bug.cgi?id=20535 94451 94452 * css/CSSStyleSelector.cpp: 94453 (WebCore::CSSStyleSelector::mapAnimationTimingFunction): 94454 * rendering/style/RenderStyle.h: 94455 94456 2008-08-27 Adam Roben <aroben (a] apple.com> 94457 94458 Windows build fix 94459 94460 * WebCore.vcproj/WebCore.vcproj: Fix file extension. 94461 94462 2008-08-26 Chris Fleizach <cfleizach (a] apple.com> 94463 94464 Reviewed by Beth Dakin. 94465 94466 <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown 94467 94468 Added platform-specific accessibilityIgnoreAttachment, which allows the platform 94469 to determine if an attachment is ignored through accessibility. Added equivalent 94470 methods in Gtk, Win and Mac 94471 94472 Test: accessibility/plugin.html 94473 94474 * GNUmakefile.am: 94475 * WebCore.vcproj/WebCore.vcproj: 94476 * WebCore.xcodeproj/project.pbxproj: 94477 * page/AccessibilityObject.h: 94478 * page/AccessibilityRenderObject.cpp: 94479 (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): 94480 * page/gtk/AccessibilityObjectAtk.cpp: Added. 94481 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 94482 * page/mac/AccessibilityObjectMac.mm: Added. 94483 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 94484 * page/mac/AccessibilityObjectWrapper.h: 94485 * page/win/AccessibilityObjectWin.cpp: Added. 94486 (WebCore::AccessibilityObject::accessibilityIgnoreAttachment): 94487 94488 2008-08-26 Chris Fleizach <cfleizach (a] apple.com> 94489 94490 Reviewed by Beth Dakin. 94491 94492 <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText 94493 94494 * page/mac/AccessibilityObjectWrapper.mm: 94495 (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]): 94496 (-[AccessibilityObjectWrapper accessibilityShowContextMenu]): 94497 94498 2008-08-26 Chris Fleizach <cfleizach (a] apple.com> 94499 94500 Reviewed by Darin Adler. 94501 94502 <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns 94503 94504 Tests: accessibility/table-notbody.html 94505 94506 * page/AccessibilityTable.cpp: 94507 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 94508 94509 2008-08-26 Sam Weinig <sam (a] webkit.org> 94510 94511 Reviewed by Beth Dakin. 94512 94513 Fix typo. 94514 94515 * dom/DOMCoreException.h: 94516 94517 2008-08-26 Sam Weinig <sam (a] webkit.org> 94518 94519 Reviewed by Oliver Hunt. 94520 94521 Fix https://bugs.webkit.org/show_bug.cgi?id=20479 94522 <rdar://problem/6167660> 94523 Take image redirects into account when tainting the canvas. 94524 94525 Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html 94526 94527 * html/CanvasRenderingContext2D.cpp: 94528 (WebCore::CanvasRenderingContext2D::drawImage): 94529 (WebCore::CanvasRenderingContext2D::drawImageFromRect): 94530 94531 2008-08-26 Sam Weinig <sam (a] webkit.org> 94532 94533 Reviewed by Darin Adler. 94534 94535 Change canvas tainting logic to ask the image if it contains 94536 any resources outside of its own origin. Since there is no 94537 way to determine if SVG images contain any resources outside its 94538 origin, we always assume it does. 94539 94540 * html/CanvasRenderingContext2D.cpp: 94541 (WebCore::CanvasRenderingContext2D::drawImage): 94542 (WebCore::CanvasRenderingContext2D::drawImageFromRect): 94543 * platform/graphics/BitmapImage.h: 94544 (WebCore::BitmapImage::hasSingleSecurityOrigin): 94545 * platform/graphics/GeneratedImage.h: 94546 (WebCore::GeneratedImage::hasSingleSecurityOrigin): 94547 * platform/graphics/Image.h: 94548 (WebCore::Image::hasSingleSecurityOrigin): 94549 * platform/graphics/cg/PDFDocumentImage.h: 94550 (WebCore::PDFDocumentImage::hasSingleSecurityOrigin): 94551 * svg/graphics/SVGImage.h: 94552 94553 2008-08-26 Maxime Britto <britto (a] apple.com> 94554 94555 Reviewed by Adele. 94556 94557 <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com) 94558 This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area. 94559 This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls. 94560 94561 * page/EventHandler.cpp: 94562 (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning 94563 * page/EventHandler.h: 94564 * rendering/RenderLayer.cpp: 94565 (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta 94566 (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so. 94567 * rendering/RenderLayer.h: 94568 * rendering/RenderObject.cpp: 94569 (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled 94570 (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method 94571 (WebCore::RenderObject::panScroll): No need to check for the layer anymore too. 94572 94573 2008-08-25 Julien Chaffraix <jchaffraix (a] webkit.org> 94574 94575 Reviewed by Darin Adler. 94576 94577 Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it 94578 https://bugs.webkit.org/show_bug.cgi?id=20247 94579 94580 <rdar://problem/6118218> 94581 94582 Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive 94583 check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute 94584 (case insensitive for HTML elements). 94585 94586 Test: fast/dom/Element/getAttribute-check-case-sensitivity.html 94587 94588 * dom/Element.cpp: 94589 (WebCore::Element::getAttribute): 94590 * dom/NamedAttrMap.cpp: 94591 (WebCore::NamedAttrMap::getNamedItem): 94592 (WebCore::NamedAttrMap::getAttributeItem): 94593 * dom/NamedAttrMap.h: 94594 94595 2008-08-25 Sam Weinig <sam (a] webkit.org> 94596 94597 Reviewed by Oliver Hunt. 94598 94599 Fix for https://bugs.webkit.org/show_bug.cgi?id=20514 94600 <rdar://problem/6174096> 94601 Treat SVG images as dirty when drawing to a canvas. 94602 94603 Test: http/tests/security/canvas-remote-read-svg-image.html 94604 94605 * html/CanvasRenderingContext2D.cpp: 94606 (WebCore::CanvasRenderingContext2D::drawImage): 94607 (WebCore::CanvasRenderingContext2D::drawImageFromRect): 94608 * platform/graphics/Image.h: 94609 (WebCore::Image::isSVGImage): 94610 * svg/graphics/SVGImage.h: 94611 (WebCore::SVGImage::isSVGImage): 94612 94613 2008-08-25 Sam Weinig <sam (a] webkit.org> 94614 94615 Reviewed by Mark Rowe. 94616 94617 Fix https://bugs.webkit.org/show_bug.cgi?id=20377 94618 Leak in XMLHttpRequest. 94619 94620 * xml/XMLHttpRequest.cpp: 94621 (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight): 94622 94623 2008-08-25 Brady Eidson <beidson (a] apple.com> 94624 94625 Reviewed by Anders 94626 94627 Speculative fix for <rdar://problem/6173217> 94628 94629 Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code. 94630 Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering 94631 the first null check invalid. 94632 94633 * loader/FrameLoader.cpp: 94634 (WebCore::FrameLoader::stopAllLoaders): 94635 94636 94637 2008-08-25 Kevin McCullough <kmccullough (a] apple.com> 94638 94639 Reviewed by Tim. 94640 94641 <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if 94642 there is no profile, can cause crash 94643 94644 * page/inspector/ProfilesPanel.js: 94645 94646 2008-08-25 Dean Jackson <dino (a] apple.com> 94647 94648 Reviewed by Dave Hyatt 94649 94650 Make sure 'inherit' is handled by transition property. 94651 https://bugs.webkit.org/show_bug.cgi?id=20513 94652 94653 Test: transitions/inherit.html 94654 Test: transitions/inherit-other-props.html 94655 94656 * css/CSSStyleSelector.cpp: 94657 fix macro to check existence of list before getting size 94658 94659 2008-08-25 Anders Carlsson <andersca (a] apple.com> 94660 94661 Reviewed by Mark. 94662 94663 <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37. 94664 94665 Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 94666 (safely) that any class that needs finalization on the main thread will also need to be deallocated 94667 on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of 94668 calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer. 94669 94670 * platform/mac/WebCoreObjCExtras.c: 94671 (WebCoreObjCFinalizeOnMainThread): 94672 94673 2008-08-25 Antti Koivisto <antti (a] apple.com> 94674 94675 Reviewed by Dan Bernstein. 94676 94677 Rename CachedResource::referenced() to CachedResource::hasClients() to 94678 match previous ref() -> addClient() rename. 94679 94680 * loader/Cache.cpp: 94681 (WebCore::Cache::pruneLiveResources): 94682 (WebCore::Cache::pruneDeadResources): 94683 (WebCore::Cache::remove): 94684 (WebCore::Cache::getStatistics): 94685 (WebCore::Cache::dumpLRULists): 94686 * loader/CachedResource.cpp: 94687 (WebCore::CachedResource::addClient): 94688 (WebCore::CachedResource::removeClient): 94689 (WebCore::CachedResource::setDecodedSize): 94690 (WebCore::CachedResource::setEncodedSize): 94691 * loader/CachedResource.h: 94692 (WebCore::CachedResource::hasClients): 94693 (WebCore::CachedResource::canDelete): 94694 94695 2008-08-25 Anthony Ricaud <rik24d (a] gmail.com> 94696 94697 Add a missing Inspector localized string for "other". 94698 94699 https://bugs.webkit.org/show_bug.cgi?id=20509 94700 94701 Reviewed by Tim Hatcher. 94702 94703 * English.lproj/localizedStrings.js: 94704 94705 2008-08-22 Kevin McCullough <kmccullough (a] apple.com> 94706 94707 Reviewed by Geoff, Mark and Tim. 94708 94709 <rdar://problem/6150623> JSProfiler: It would be nice if the profiles 94710 in the console said what file and line number they came from 94711 - Lay the foundation for getting line numbers and other data from the 94712 JavaScript engine. 94713 94714 * ForwardingHeaders/VM: Added. 94715 * ForwardingHeaders/VM/Machine.h: Added. 94716 * page/Console.cpp: Gather the line number and file information when 94717 profileEnd has been called, but don't use it until didFinishProfiling is 94718 called. We won't need to wait once we remove the profiler "zombie" mode 94719 which this patch helps pave the foundation for. 94720 (WebCore::Console::Console): 94721 (WebCore::Console::profileEnd): 94722 (WebCore::Console::finishedProfiling): 94723 * page/Console.h: 94724 * page/InspectorController.cpp: Modify calls to 94725 addProfileMessageToConsole to satisfy the new arguments it takes. 94726 (WebCore::InspectorController::finishedProfiling): 94727 (WebCore::InspectorController::addProfile): 94728 (WebCore::InspectorController::addProfileMessageToConsole): 94729 (WebCore::InspectorController::finishedProfiling): 94730 * page/InspectorController.h: 94731 94732 2008-08-25 Holger Hans Peter Freyther <zecke (a] selfish.org> 94733 94734 Reviewed by Simon. 94735 94736 [inspector] Update the WebKit.qrc Qt resources file 94737 Catchup with the changes in the directory. 94738 94739 * page/inspector/WebKit.qrc: 94740 94741 2008-08-25 Dirk Schulze <vbs85 (a] gmx.de> 94742 94743 Reviewed by Simon. 94744 94745 Transformed the radian to degree, to get rotate() 94746 in canvas work as expected. 94747 94748 [Qt] Canvas.rotate() doesn't work 94749 https://bugs.webkit.org/show_bug.cgi?id=20496 94750 94751 * platform/graphics/qt/GraphicsContextQt.cpp: 94752 (WebCore::GraphicsContext::rotate): 94753 94754 2008-08-24 Steve Falkenburg <sfalken (a] apple.com> 94755 94756 Add a "last chance" WM_TIMER to the Windows shared timer. 94757 94758 The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers. 94759 Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule 94760 timers if a timer with an earlier expiration is already pending. This results in no timers 94761 firing from that point on. 94762 94763 We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a 94764 buggy window message hook. 94765 94766 This timer will start when the first WM_TIMER is scheduled, and will 94767 fire every 5 seconds thereafter, causing any lost timers to be fired. 94768 94769 Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling 94770 and prevents the WebFrame leak. 94771 94772 Reviewed by Darin Adler, Geoff Garen. 94773 94774 * platform/win/SharedTimerWin.cpp: 94775 (WebCore::): 94776 (WebCore::TimerWindowWndProc): 94777 (WebCore::setSharedTimerFireTime): 94778 94779 2008-08-24 Dan Bernstein <mitz (a] apple.com> 94780 94781 Reviewed by Darin Adler. 94782 94783 - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold 94784 94785 Test: fast/css/font-property-priority.html 94786 94787 * css/CSSParser.cpp: 94788 (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag 94789 to the font-property-parsing functions. 94790 (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and 94791 changed to use it rather than the m_important member. 94792 (WebCore::CSSParser::parseFontVariant): Ditto. 94793 (WebCore::CSSParser::parseFontWeight): Ditto. 94794 * css/CSSParser.h: 94795 94796 2008-08-24 Timothy Hatcher <timothy (a] apple.com> 94797 94798 Fixes a bug where the Inspector's UI would not animate or 94799 fully function because JavaScript timeouts, intervals and 94800 CSS animation timers where not firing while paused at a 94801 a breakpoint in the inspected page. 94802 94803 https://bugs.webkit.org/show_bug.cgi?id=20042 94804 94805 Reviewed by Darin Adler. 94806 94807 Test: manual-tests/inspector/forzen-ui-while-paused.html 94808 94809 * page/JavaScriptDebugServer.cpp: 94810 (WebCore::JavaScriptDebugServer::pauseIfNeeded): 94811 Add a call to TimerBase::fireTimersInNestedEventLoop before 94812 spinning the EventLoop. 94813 94814 2008-08-24 Rob Buis <buis (a] kde.org> 94815 94816 Reviewed by Sam Weinig. 94817 94818 https://bugs.webkit.org/show_bug.cgi?id=20324 94819 A change in SVG Glyph wont show up 94820 94821 Invalidate the glyph cache when the d attribute is set. 94822 94823 Test: svg/custom/glyph-setting-d-attribute.svg 94824 94825 * svg/SVGGlyphElement.cpp: 94826 (WebCore::SVGGlyphElement::invalidateGlyphCache): 94827 (WebCore::SVGGlyphElement::parseMappedAttribute): 94828 (WebCore::SVGGlyphElement::insertedIntoDocument): 94829 (WebCore::SVGGlyphElement::removedFromDocument): 94830 * svg/SVGGlyphElement.h: 94831 94832 2008-08-24 Dan Bernstein <mitz (a] apple.com> 94833 94834 Reviewed by Sam Weinig. 94835 94836 - fix https://bugs.webkit.org/show_bug.cgi?id=13864 94837 <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths() 94838 94839 * rendering/RenderText.cpp: 94840 (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to 94841 beginWS and endWS before the early return to ensure that they are 94842 initialized in that case. 94843 94844 2008-08-23 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 94845 94846 Rubber-stamped by Mark Rowe. 94847 94848 Remove modelines. 94849 94850 * WebCore.pro: 94851 * bridge/testbindings.cpp: 94852 * dom/DocPtr.h: 94853 * loader/SubstituteData.h: 94854 * page/Chrome.cpp: 94855 * page/Chrome.h: 94856 * page/ChromeClient.h: 94857 * page/Frame.h: 94858 * page/FrameLoadRequest.h: 94859 * page/FrameTree.cpp: 94860 * page/FrameTree.h: 94861 * page/Page.h: 94862 * page/mac/ChromeMac.mm: 94863 * platform/network/HTTPHeaderMap.h: 94864 * platform/network/ResourceErrorBase.cpp: 94865 * platform/network/ResourceErrorBase.h: 94866 * platform/network/ResourceHandleInternal.h: 94867 * platform/network/ResourceRequestBase.cpp: 94868 * platform/network/ResourceRequestBase.h: 94869 * platform/network/ResourceResponseBase.cpp: 94870 * platform/network/ResourceResponseBase.h: 94871 * platform/network/cf/ResourceError.h: 94872 * platform/network/cf/ResourceRequest.h: 94873 * platform/network/cf/ResourceRequestCFNet.h: 94874 * platform/network/cf/ResourceResponse.h: 94875 * platform/network/cf/ResourceResponseCFNet.h: 94876 * platform/network/curl/ResourceError.h: 94877 * platform/network/curl/ResourceRequest.h: 94878 * platform/network/curl/ResourceResponse.h: 94879 * platform/network/mac/ResourceError.h: 94880 * platform/network/mac/ResourceErrorMac.mm: 94881 * platform/network/mac/ResourceRequest.h: 94882 * platform/network/mac/ResourceRequestMac.mm: 94883 * platform/network/mac/ResourceResponse.h: 94884 * platform/network/mac/ResourceResponseMac.mm: 94885 * platform/network/qt/ResourceError.h: 94886 * platform/network/qt/ResourceRequest.h: 94887 * platform/network/qt/ResourceResponse.h: 94888 * platform/network/soup/CookieJarSoup.cpp: 94889 * platform/network/soup/ResourceError.h: 94890 * platform/network/soup/ResourceRequest.h: 94891 * platform/network/soup/ResourceResponse.h: 94892 94893 2008-08-23 Dan Bernstein <mitz (a] apple.com> 94894 94895 Reviewed by Dave Hyatt. 94896 94897 - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline 94898 94899 Test: fast/table/vertical-align-baseline.html 94900 94901 * rendering/RenderTable.cpp: 94902 (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the 94903 baseline of the first table row, if there is one, -1 otherwise. 94904 * rendering/RenderTable.h: 94905 * rendering/RenderTableCell.cpp: 94906 (WebCore::RenderTableCell::baselinePosition): Changed to follow the 94907 CSS2.1 definition of the baseline of a table cell. 94908 * rendering/RenderTableSection.cpp: 94909 (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns 94910 the baseline of the first row in the section. 94911 * rendering/RenderTableSection.h: 94912 94913 2008-08-18 Jon Honeycutt <jhoneycutt (a] apple.com> 94914 94915 Add SPI to make a Windows WebView transparent. 94916 94917 Reviewed by Dan Bernstein. 94918 94919 * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that 94920 determines whether the created context has an alpha channel. 94921 * platform/graphics/win/GraphicsContextCGWin.cpp: 94922 (WebCore::CGContextWithHDC): 94923 94924 2008-08-22 Timothy Hatcher <timothy (a] apple.com> 94925 94926 Rolls out r35834 because it caused a regression in the Inspector's 94927 Console where some expressions always threw a syntax error. 94928 94929 https://bugs.webkit.org/show_bug.cgi?id=20487 94930 94931 * page/inspector/Console.js: 94932 (Console.prototype._evalInInspectedWindow): Removes parenthesis 94933 around the expression. 94934 94935 2008-08-22 Timothy Hatcher <timothy (a] apple.com> 94936 94937 Makes getStyleProperty return a value for the overflow property 94938 when overflow-x and overflow-y are equal. 94939 94940 https://bugs.webkit.org/show_bug.cgi?id=20485 94941 94942 Reviewed by Dan Bernstein. 94943 94944 Test: fast/css/overflow-property.html 94945 94946 * css/CSSMutableStyleDeclaration.cpp: 94947 (WebCore::CSSMutableStyleDeclaration::getPropertyValue): 94948 94949 2008-08-22 Timothy Hatcher <timothy (a] apple.com> 94950 94951 Fixes a bug where while editing in the Inspector the 94952 sidebar scroll position would jump to the top. 94953 94954 https://bugs.webkit.org/show_bug.cgi?id=20484 94955 94956 Reviewed by Darin Adler. 94957 94958 * page/inspector/treeoutline.js: 94959 (TreeOutline._removeChildren): Remove the offsetTop call that 94960 was forcing a layout, since layout causes scroll positions 94961 to be clamped to the new scrollHeight/Width. Layout will happen 94962 normally when needed. 94963 94964 2008-08-22 Kevin Ollivier <kevino (a] theolliviers.com> 94965 94966 wx build fix. Add AccessibilityTable sources. 94967 94968 * WebCoreSources.bkl: 94969 94970 2008-08-21 Dan Bernstein <mitz (a] apple.com> 94971 94972 Reviewed by Jon Honeycutt and Alexey Proskuryakov. 94973 94974 - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics 94975 94976 Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html 94977 94978 * platform/graphics/mac/SimpleFontDataMac.mm: 94979 (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported 94980 ascent and 100% to its reported descent. 94981 94982 2008-08-21 Kalle Vahlman <kalle.vahlman (a] movial.com> 94983 94984 Reviewed by Darin Adler. 94985 94986 https://bugs.webkit.org/show_bug.cgi?id=20267 94987 [GTK] Crash on some pages due to a plugin 94988 94989 Fix handling of badly formatted and empty plugin mime descriptions 94990 94991 * plugins/gtk/PluginPackageGtk.cpp: 94992 (WebCore::PluginPackage::fetchInfo): 94993 94994 2008-08-21 Kevin Watters <kevinwatters (a] gmail.com> 94995 94996 Reviewed by Darin Adler. 94997 94998 Follow other ports (and IE) in ImageSourceWx.cpp never to return an 94999 animated GIF frame duration of less than 50ms. 95000 95001 * platform/graphics/wx/ImageSourceWx.cpp: 95002 (WebCore::ImageSource::frameDurationAtIndex): 95003 95004 2008-08-21 Maxime Britto <britto (a] apple.com> 95005 95006 Reviewed by Kevin McCullough. 95007 95008 Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html 95009 https://bugs.webkit.org/show_bug.cgi?id=20451 95010 95011 rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451) 95012 When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe. 95013 This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't. 95014 95015 * page/EventHandler.cpp: 95016 (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists. 95017 95018 (WebCore::EventHandler::handleMousePressEvent): ditto 95019 95020 2008-08-21 Anthony Ricaud <rik24d (a] gmail.com> 95021 95022 Small optimization for when the dividers in the Inspector's 95023 Resources panel are updated. 95024 95025 Reviewed by Tim Hatcher. 95026 95027 * page/inspector/ResourcesPanel.js: 95028 (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded): 95029 Combind a for loop and clone the divider element. 95030 95031 2008-08-21 Chris Marrin <cmarrin (a] apple.com> 95032 95033 Allow 0 (without units) for Time eg. duration 95034 Fix for https://bugs.webkit.org/show_bug.cgi?id=20467 95035 95036 Reviewed by Dave Hyatt. 95037 95038 Test: css1/units/zero-duration-without-units.html 95039 95040 * css/CSSParser.cpp: 95041 (WebCore::CSSParser::validUnit): 95042 95043 2008-08-21 Timothy Hatcher <timothy (a] apple.com> 95044 95045 Make deleting all text while editing a DOM attribute in 95046 the Inspector delete the attribute. This also fixes 95047 an exception that would happen before. 95048 95049 https://bugs.webkit.org/show_bug.cgi?id=20472 95050 95051 Reviewed by Kevin McCullough. 95052 95053 * page/inspector/ElementsPanel.js: 95054 (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted): 95055 Don't check for hasAttributes on the parseElement, continuing 95056 through the function will correctly remove the attribute. 95057 If the parseElement is null, call _editingCancelled not 95058 editingCancelled, this fixes an exception. 95059 95060 2008-08-21 Timothy Hatcher <timothy (a] apple.com> 95061 95062 Update the Inspector's Metrics pane when editing in 95063 the Styles pane. This makes sure the metrics shown 95064 always match what the Styles pane shows. 95065 95066 https://bugs.webkit.org/show_bug.cgi?id=20470 95067 95068 Reviewed by Kevin McCullough. 95069 95070 * page/inspector/ElementsPanel.js: 95071 (WebInspector.ElementsPanel): Add event listeners for 95072 the "style edited" and "style property toggled" events, 95073 so the Metrics pane is updated. 95074 (WebInspector.ElementsPanel.prototype._stylesPaneEdited): 95075 Update the Metrics pane. 95076 * page/inspector/StylesSidebarPane.js: 95077 (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled): 95078 Dispatch the "style property toggled" event. 95079 (WebInspector.StylePropertyTreeElement.prototype.editingCancelled): 95080 Dispatch the "style edited" event when the CSS text is restored. 95081 (WebInspector.StylePropertyTreeElement.prototype.applyStyleText): 95082 Dispatch the "style edited" event. 95083 95084 2008-08-21 Timothy Hatcher <timothy (a] apple.com> 95085 95086 Make the Inspector's Metrics sidebar pane editable. 95087 95088 https://bugs.webkit.org/show_bug.cgi?id=17218 95089 rdar://problem/5732818 95090 95091 Reviewed by Kevin McCullough. 95092 95093 * page/inspector/ElementsPanel.js: 95094 (WebInspector.ElementsPanel): Add an event listener for 95095 the "metrics edited" event, so the Styles pane is updated. 95096 * page/inspector/MetricsSidebarPane.js: 95097 (WebInspector.MetricsSidebarPane.prototype.update): Remember the node 95098 so future updates work. Add a double click event listener for the 95099 metric values to start editing. 95100 (WebInspector.MetricsSidebarPane.prototype.startEditing): 95101 Call WebInspector.startEditing with some context. 95102 (WebInspector.MetricsSidebarPane.prototype.editingCancelled): 95103 (WebInspector.MetricsSidebarPane.prototype.editingCommitted): 95104 Set the user input on the elements inline style. Fire the 95105 "metrics edited" event. 95106 95107 2008-08-21 Steve Falkenburg <sfalken (a] apple.com> 95108 95109 Fix a race condition in Windows timer code. 95110 Timer function could end up being called with a 0 timer, leading to a Windows exception. 95111 95112 Don't post a timer message if one is already pending. 95113 95114 Reviewed by Ada Chan. 95115 95116 * platform/win/SharedTimerWin.cpp: 95117 (WebCore::TimerWindowWndProc): 95118 (WebCore::clearTimer): 95119 (WebCore::queueTimerProc): 95120 (WebCore::setSharedTimerFireTime): 95121 95122 2008-08-21 Anthony Ricaud <rik24d (a] gmail.com> 95123 95124 After trying to add the expression, try again with quotes for 95125 easier edition. 95126 95127 https://bugs.webkit.org/show_bug.cgi?id=20466 95128 95129 Reviewed by Tim Hatcher. 95130 95131 * page/inspector/ObjectPropertiesSection.js: Added an 95132 evaluateExpression function. 95133 95134 2008-08-21 Anthony Ricaud <rik24d (a] gmail.com> 95135 95136 Perform Inspector searches on search event to clear results when 95137 clicking the cross to empty it. Delete the lastQuery when the field 95138 is emptied in order to perform the search if exactly the same query 95139 is entered next. 95140 95141 https://bugs.webkit.org/show_bug.cgi?id=20462 95142 95143 Reviewed by Tim Hatcher. 95144 95145 * page/inspector/inspector.js: 95146 95147 2008-08-21 Marco Barisione <marco.barisione (a] collabora.co.uk> 95148 95149 Reviewed by Mark Rowe. 95150 95151 http://bugs.webkit.org/show_bug.cgi?id=19656 95152 [SOUP] The gio code should call didFail() instead of 95153 didFinishLoading() in case of error 95154 95155 In case of error call didFail() instead of didReceiveResponse() and 95156 didFinishLoading(). 95157 95158 * platform/network/soup/ResourceHandleSoup.cpp: 95159 (WebCore::networkErrorForFile): 95160 (WebCore::readCallback): 95161 (WebCore::openCallback): 95162 (WebCore::queryInfoCallback): 95163 95164 2008-08-20 Mark Rowe <mrowe (a] apple.com> 95165 95166 Reviewed by Jon Honeycutt. 95167 95168 Fix build failure. 95169 95170 * bridge/c/c_instance.cpp: 95171 (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned 95172 as that is what NPEnumerationFunctionPtr is declared as accepting. 95173 95174 2008-08-20 Mark Rowe <mrowe (a] apple.com> 95175 95176 Reviewed by Dan Bernstein. 95177 95178 Build fix. Handle kCGInterpolationMedium in switch statements if it is available. 95179 95180 * platform/graphics/GraphicsContext.h: 95181 (WebCore::): 95182 * platform/graphics/cg/GraphicsContextCG.cpp: 95183 (WebCore::GraphicsContext::setImageInterpolationQuality): 95184 (WebCore::GraphicsContext::imageInterpolationQuality): 95185 95186 2008-08-20 Dan Bernstein <mitz (a] apple.com> 95187 95188 Rubber-stamped by John Sullivan. 95189 95190 - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and 95191 rename related methods and variables accordingly. 95192 95193 * WebCore.base.exp: 95194 * page/FrameView.cpp: 95195 (WebCore::FrameViewPrivate::FrameViewPrivate): 95196 (WebCore::FrameView::shouldUpdateWhileOffscreen): 95197 (WebCore::FrameView::setShouldUpdateWhileOffscreen): 95198 * page/FrameView.h: 95199 * platform/ScrollView.h: 95200 * platform/mac/ScrollViewMac.mm: 95201 (WebCore::ScrollView::updateContents): 95202 95203 2008-08-20 Brady Eidson <beidson (a] apple.com> 95204 95205 Reviewed by Mitzpettel 95206 95207 <rdar://problem/6153432> - Many images broken in Mail 95208 95209 This can be traced back to the preload scanner. With that change, CachedResources are created a lot 95210 sooner than before and confuse the WebArchive machinery. 95211 95212 When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 95213 such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 95214 machinery and nothing is known about where the data will eventually come from. 95215 95216 * loader/DocumentLoader.cpp: 95217 (WebCore::DocumentLoader::subresource): Ignore a CachedResource if its preloadResult is 95218 CachedResource::PreloadReferenced. 95219 95220 2008-08-20 Holger Hans Peter Freyther <zecke (a] selfish.org> 95221 95222 Unreviewed compile fix 95223 95224 Catch up with the JSValue::type elimination. 95225 95226 * bridge/qt/qt_instance.cpp: 95227 (KJS::Bindings::QtRuntimeObjectImp::construct): 95228 (KJS::Bindings::QtInstance::defaultValue): 95229 * bridge/qt/qt_runtime.cpp: 95230 (KJS::Bindings::QtRuntimeConnectionMethod::call): 95231 95232 2008-08-20 Chris Teague <chris.teague (a] gmail.com> 95233 95234 Reviewed by Mark Rowe. 95235 95236 Fix https://bugs.webkit.org/show_bug.cgi?id=20449 95237 Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined 95238 95239 * ChangeLog: 95240 * loader/FrameLoader.cpp: 95241 (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady): 95242 95243 2008-08-20 Simon Fraser <simon.fraser (a] apple.com> 95244 95245 Reviewed by Dave Hyatt 95246 95247 getComputedStyle() for webkitTransform should return a transform 95248 that does not have the transform origin baked into it. 95249 https://bugs.webkit.org/show_bug.cgi?id=20464 95250 95251 Test: fast/css/getComputedStyle-transform.html 95252 95253 * css/CSSComputedStyleDeclaration.cpp: 95254 (WebCore::computedTransform): 95255 * rendering/style/RenderStyle.cpp: 95256 (WebCore::RenderStyle::applyTransform): 95257 * rendering/style/RenderStyle.h: 95258 95259 2008-08-20 Josh Aas <joshmoz (a] gmail.com> 95260 95261 Reviewed and landed by Anders. 95262 95263 <rdar://problem/6163636> 95264 rename NPCocoaEvent's "event" struct to "data" (20446) 95265 95266 * bridge/npapi.h: 95267 (_NPCocoaEvent::): 95268 95269 2008-08-20 Beth Dakin <bdakin (a] apple.com> 95270 95271 Reviewed by Darin Adler. 95272 95273 Fix for <rdar://problem/6145626> 95274 This patch fixes a number of remaining problems getting 95275 disconnected frames to work correctly with markAllMatchesForText() 95276 and findString(). Details inline. 95277 95278 This was a static helper function in Frame, but this patch requires 95279 the same functionality in Editor, so I just added it as a function 95280 on Node. 95281 * dom/Node.cpp: 95282 (WebCore::Node::isInShadowTree): 95283 * dom/Node.h: 95284 95285 * editing/Editor.cpp: 95286 (WebCore::Editor::insideVisibleArea): Returns false if 95287 excludeFromTextSearch() is true. 95288 95289 In a normal (non-disconnected) frame, findString returns a range of 95290 the document node if the text is not found in the frame. I changed 95291 firstVisibleRange and lastVisibleRange to match that behavior when 95292 the text is not found 95293 (WebCore::Editor::firstVisibleRange): 95294 (WebCore::Editor::lastVisibleRange): 95295 95296 Here are the bulk of the changes in the patch. A lot of text was 95297 not being found in disconnected frames because I failed to account 95298 for all of the possible problems associated with shadow trees. That 95299 is fixed here. 95300 (WebCore::Editor::nextVisibleRange): 95301 * editing/Editor.h: 95302 95303 excludeFromTextSearch() is new. It allows a WebKit client to mark a 95304 frame as not-text-searchable through SPI. 95305 * WebCore.base.exp: 95306 * page/Frame.cpp: 95307 (WebCore::Frame::excludeFromTextSearch): 95308 (WebCore::Frame::setExcludeFromTextSearch): 95309 (WebCore::FramePrivate::FramePrivate): 95310 * page/Frame.h: 95311 * page/FramePrivate.h: 95312 95313 (WebCore::Frame::findString): 95314 (WebCore::Frame::markAllMatchesForText): I kept running into an 95315 assertion failure in paining code because of the forced paint on 95316 empty visible rects. 95317 95318 2008-08-20 Timothy Hatcher <timothy (a] apple.com> 95319 95320 Adds a positon box to the Inspector's Metrics sidebar 95321 pane. When an element is not statically positioned, there 95322 is now a position box that show top, right, bottom and 95323 left computed values. 95324 95325 Reviewed by Kevin McCullough. 95326 95327 * English.lproj/localizedStrings.js: Updated the strings. 95328 * page/inspector/MetricsSidebarPane.js: 95329 (WebInspector.MetricsSidebarPane.prototype.update): 95330 Renamed the boxPartValue function to createBoxPartElement 95331 and made it create the entire element. Made it understand 95332 how to get position style properties. Don't use the figure dash 95333 when 0px is used for positions, since the 0 is meaningful there. 95334 Instead use the figure dash when a position is auto. 95335 * page/inspector/inspector.css: Added a new rule for position. 95336 95337 2008-08-20 Chris Fleizach <cfleizach (a] apple.com> 95338 95339 Reviewed by Beth Dakin 95340 95341 Qt build fix 95342 95343 * WebCore.pro: 95344 95345 2008-08-20 Dan Bernstein <mitz (a] apple.com> 95346 95347 Reviewed by Anders Carlsson. 95348 95349 - avoid using a deprecated NSScroller method on Leopard 95350 95351 * platform/mac/PlatformScrollBarMac.mm: 95352 (WebCore::PlatformScrollbar::updateThumbPosition): 95353 (WebCore::PlatformScrollbar::updateThumbProportion): 95354 95355 2008-08-20 Jan Michael Alonzo <jmalonzo (a] webkit.org> 95356 95357 Reviewed by Oliver Hunt. 95358 95359 Gtk build fix 95360 95361 * GNUmakefile.am: 95362 * page/AccessibilityTable.cpp: Change nil to 0 95363 (WebCore::AccessibilityTable::cellForColumnAndRow): 95364 95365 2008-08-19 Alexey Proskuryakov <ap (a] webkit.org> 95366 95367 Reviewed by Geoff Garen. 95368 95369 Bring back shared JSGlobalData and implicit locking, because too many clients rely on it. 95370 95371 * ForwardingHeaders/kjs/JSLock.h: Added. 95372 * WebCore.vcproj/WebCore.vcproj: 95373 * bindings/js/GCController.cpp: 95374 (WebCore::collect): 95375 (WebCore::GCController::gcTimerFired): 95376 (WebCore::GCController::garbageCollectNow): 95377 * bindings/js/JSCustomSQLStatementCallback.cpp: 95378 (WebCore::JSCustomSQLStatementCallback::handleEvent): 95379 * bindings/js/JSCustomSQLStatementErrorCallback.cpp: 95380 (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): 95381 * bindings/js/JSCustomSQLTransactionCallback.cpp: 95382 (WebCore::JSCustomSQLTransactionCallback::handleEvent): 95383 * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: 95384 (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): 95385 * bindings/js/JSCustomVoidCallback.cpp: 95386 (WebCore::JSCustomVoidCallback::handleEvent): 95387 * bindings/js/JSCustomXPathNSResolver.cpp: 95388 (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): 95389 * bindings/js/JSDOMWindowBase.cpp: 95390 (WebCore::DOMWindowTimer::~DOMWindowTimer): 95391 (WebCore::JSDOMWindowBase::clear): 95392 (WebCore::JSDOMWindowBase::timerFired): 95393 * bindings/js/JSEventCustom.cpp: 95394 (WebCore::toJS): 95395 * bindings/js/JSEventListener.cpp: 95396 (WebCore::JSAbstractEventListener::handleEvent): 95397 * bindings/js/JSNSResolver.cpp: 95398 (WebCore::JSNSResolver::lookupNamespaceURI): 95399 * bindings/js/JSNodeFilterCondition.cpp: 95400 (WebCore::JSNodeFilterCondition::acceptNode): 95401 * bindings/js/ScheduledAction.cpp: 95402 (WebCore::ScheduledAction::execute): 95403 * bindings/js/ScriptController.cpp: 95404 (WebCore::ScriptController::evaluate): 95405 (WebCore::ScriptController::clearWindowShell): 95406 (WebCore::ScriptController::createHTMLEventHandler): 95407 (WebCore::ScriptController::createSVGEventHandler): 95408 (WebCore::ScriptController::initScript): 95409 (WebCore::ScriptController::updateDocument): 95410 (WebCore::ScriptController::bindingRootObject): 95411 (WebCore::ScriptController::windowScriptNPObject): 95412 (WebCore::ScriptController::createScriptObjectForPluginElement): 95413 (WebCore::ScriptController::clearScriptObjects): 95414 * bindings/js/ScriptControllerMac.mm: 95415 (WebCore::ScriptController::windowScriptObject): 95416 * bindings/objc/WebScriptObject.mm: 95417 (_didExecute): 95418 (-[WebScriptObject callWebScriptMethod:withArguments:]): 95419 (-[WebScriptObject evaluateWebScript:]): 95420 (-[WebScriptObject setValue:forKey:]): 95421 (-[WebScriptObject valueForKey:]): 95422 (-[WebScriptObject removeWebScriptKey:]): 95423 (-[WebScriptObject stringRepresentation]): 95424 (-[WebScriptObject webScriptValueAtIndex:]): 95425 (-[WebScriptObject setWebScriptValueAtIndex:value:]): 95426 (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): 95427 * bridge/NP_jsobject.cpp: 95428 (_NPN_InvokeDefault): 95429 (_NPN_Invoke): 95430 (_NPN_Evaluate): 95431 (_NPN_GetProperty): 95432 (_NPN_SetProperty): 95433 (_NPN_RemoveProperty): 95434 (_NPN_HasProperty): 95435 (_NPN_HasMethod): 95436 (_NPN_Enumerate): 95437 * bridge/c/c_class.cpp: 95438 (KJS::Bindings::CClass::~CClass): 95439 (KJS::Bindings::CClass::methodsNamed): 95440 (KJS::Bindings::CClass::fieldNamed): 95441 * bridge/c/c_instance.cpp: 95442 (KJS::Bindings::CInstance::invokeMethod): 95443 (KJS::Bindings::CInstance::invokeDefaultMethod): 95444 (KJS::Bindings::CInstance::getPropertyNames): 95445 * bridge/c/c_runtime.cpp: 95446 (KJS::Bindings::CField::valueFromInstance): 95447 (KJS::Bindings::CField::setValueToInstance): 95448 * bridge/c/c_utility.cpp: 95449 (KJS::Bindings::convertValueToNPVariant): 95450 (KJS::Bindings::convertNPVariantToValue): 95451 * bridge/jni/jni_class.cpp: 95452 (JavaClass::JavaClass): 95453 (JavaClass::~JavaClass): 95454 * bridge/jni/jni_instance.cpp: 95455 (JavaInstance::stringValue): 95456 * bridge/jni/jni_jsobject.mm: 95457 (JavaJSObject::call): 95458 (JavaJSObject::eval): 95459 (JavaJSObject::getMember): 95460 (JavaJSObject::setMember): 95461 (JavaJSObject::removeMember): 95462 (JavaJSObject::getSlot): 95463 (JavaJSObject::setSlot): 95464 (JavaJSObject::toString): 95465 (JavaJSObject::convertValueToJObject): 95466 (JavaJSObject::convertJObjectToValue): 95467 * bridge/jni/jni_objc.mm: 95468 (KJS::Bindings::dispatchJNICall): 95469 * bridge/jni/jni_runtime.cpp: 95470 (appendClassName): 95471 (JavaMethod::signature): 95472 * bridge/jni/jni_runtime.h: 95473 (KJS::Bindings::JavaString::JavaString): 95474 (KJS::Bindings::JavaString::_commonInit): 95475 (KJS::Bindings::JavaString::~JavaString): 95476 (KJS::Bindings::JavaString::UTF8String): 95477 * bridge/jni/jni_utility.cpp: 95478 (KJS::Bindings::convertValueToJValue): 95479 * bridge/npruntime.cpp: 95480 (_NPN_GetStringIdentifier): 95481 * bridge/objc/objc_instance.mm: 95482 (ObjcInstance::moveGlobalExceptionToExecState): 95483 (ObjcInstance::invokeMethod): 95484 (ObjcInstance::invokeDefaultMethod): 95485 (ObjcInstance::setValueOfUndefinedField): 95486 (ObjcInstance::getValueOfUndefinedField): 95487 * bridge/objc/objc_runtime.mm: 95488 (ObjcField::valueFromInstance): 95489 (ObjcField::setValueToInstance): 95490 * bridge/objc/objc_utility.mm: 95491 (KJS::Bindings::convertValueToObjcValue): 95492 (KJS::Bindings::convertNSStringToString): 95493 (KJS::Bindings::convertObjcValueToValue): 95494 * bridge/qt/qt_instance.cpp: 95495 (KJS::Bindings::QtRuntimeObjectImp::removeFromCache): 95496 (KJS::Bindings::QtInstance::~QtInstance): 95497 (KJS::Bindings::QtInstance::getQtInstance): 95498 (KJS::Bindings::QtInstance::getRuntimeObject): 95499 * bridge/qt/qt_runtime.cpp: 95500 (KJS::Bindings::convertValueToQVariant): 95501 (KJS::Bindings::convertQVariantToValue): 95502 (KJS::Bindings::QtRuntimeMetaMethod::call): 95503 (KJS::Bindings::QtRuntimeConnectionMethod::call): 95504 (KJS::Bindings::QtConnectionObject::QtConnectionObject): 95505 (KJS::Bindings::QtConnectionObject::execute): 95506 * bridge/runtime.cpp: 95507 (KJS::Bindings::Instance::createRuntimeObject): 95508 * bridge/testbindings.cpp: 95509 (main): 95510 * bridge/testbindings.mm: 95511 (main): 95512 * bridge/testqtbindings.cpp: 95513 (main): 95514 * dom/Document.cpp: 95515 (WebCore::Document::~Document): 95516 * dom/Node.cpp: 95517 (WebCore::Node::setDocument): 95518 * history/CachedPage.cpp: 95519 (WebCore::CachedPage::CachedPage): 95520 (WebCore::CachedPage::restore): 95521 (WebCore::CachedPage::clear): 95522 * loader/FrameLoader.cpp: 95523 (WebCore::getString): 95524 * page/InspectorController.cpp: 95525 (WebCore::ConsoleMessage::ConsoleMessage): 95526 (WebCore::XMLHttpRequestResource::XMLHttpRequestResource): 95527 (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource): 95528 (WebCore::getResourceDocumentNode): 95529 (WebCore::search): 95530 (WebCore::inspectedWindow): 95531 (WebCore::wrapCallback): 95532 (WebCore::currentCallFrame): 95533 (WebCore::profiles): 95534 (WebCore::InspectorController::focusNode): 95535 (WebCore::InspectorController::inspectedWindowScriptObjectCleared): 95536 (WebCore::InspectorController::addDatabaseScriptResource): 95537 (WebCore::InspectorController::addScriptProfile): 95538 * page/JavaScriptCallFrame.cpp: 95539 (WebCore::JavaScriptCallFrame::evaluate): 95540 * page/JavaScriptProfileNode.cpp: 95541 (WebCore::getTotalTime): 95542 (WebCore::getSelfTime): 95543 (WebCore::getTotalPercent): 95544 (WebCore::getSelfPercent): 95545 (WebCore::getNumberOfCalls): 95546 (WebCore::getChildren): 95547 (WebCore::getVisible): 95548 * page/Page.cpp: 95549 * page/mac/FrameMac.mm: 95550 * plugins/PluginView.cpp: 95551 (WebCore::PluginView::start): 95552 (WebCore::getString): 95553 (WebCore::PluginView::performRequest): 95554 (WebCore::PluginView::bindingInstance): 95555 * plugins/gtk/PluginViewGtk.cpp: 95556 (WebCore::PluginView::paint): 95557 (WebCore::PluginView::handleKeyboardEvent): 95558 (WebCore::PluginView::handleMouseEvent): 95559 (WebCore::PluginView::setNPWindowRect): 95560 (WebCore::PluginView::stop): 95561 (WebCore::PluginView::init): 95562 * plugins/qt/PluginViewQt.cpp: 95563 (WebCore::PluginView::setNPWindowRect): 95564 (WebCore::PluginView::stop): 95565 (WebCore::PluginView::init): 95566 * plugins/win/PluginViewWin.cpp: 95567 (WebCore::PluginView::dispatchNPEvent): 95568 (WebCore::PluginView::handleKeyboardEvent): 95569 (WebCore::PluginView::handleMouseEvent): 95570 (WebCore::PluginView::setNPWindowRect): 95571 (WebCore::PluginView::stop): 95572 * xml/XMLHttpRequest.cpp: 95573 (WebCore::XMLHttpRequest::clearResponse): 95574 (WebCore::XMLHttpRequest::didFinishLoading): 95575 (WebCore::XMLHttpRequest::didReceiveData): 95576 95577 2008-08-19 Eric Seidel <eric (a] webkit.org> 95578 95579 Reviewed by Geoff Garen. 95580 95581 Add the beginnings of Skia graphics support to WebCore 95582 as I try to begin the long process of un-forking the changes 95583 needed to WebCore to make Andriod's WebCore build. 95584 95585 I'll follow this up with actual *Skia.cpp files in a separate patch. 95586 95587 * platform/graphics/AffineTransform.h: 95588 * platform/graphics/FloatPoint.h: 95589 * platform/graphics/FloatRect.h: 95590 * platform/graphics/Gradient.h: 95591 * platform/graphics/GraphicsContext.h: 95592 * platform/graphics/Image.h: 95593 * platform/graphics/ImageBuffer.h: 95594 * platform/graphics/ImageSource.h: 95595 * platform/graphics/IntPoint.h: 95596 * platform/graphics/IntRect.h: 95597 * platform/graphics/Path.h: 95598 * platform/graphics/Pattern.h: 95599 * svg/graphics/SVGPaintServerPattern.h: 95600 * svg/graphics/SVGPaintServerSolid.h: 95601 95602 2008-08-19 Steve Falkenburg <sfalken (a] apple.com> 95603 95604 Fix Windows build more. 95605 95606 * WebCore.vcproj/WebCore.vcproj: 95607 95608 2008-08-19 Steve Falkenburg <sfalken (a] apple.com> 95609 95610 Fix Windows build. 95611 95612 * page/AccessibilityRenderObject.cpp: 95613 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 95614 95615 2008-08-19 Chris Fleizach <cfleizach (a] apple.com> 95616 95617 Reviewed by Beth Dakin. 95618 95619 <rdar://problem/4003764> Expose tables as AXTables 95620 95621 Tests: accessibility/table-attributes.html 95622 accessibility/table-cell-spans.html 95623 accessibility/table-cells.html 95624 accessibility/table-detection.html 95625 accessibility/table-sections.html 95626 accessibility/table-with-rules.html 95627 95628 * WebCore.xcodeproj/project.pbxproj: 95629 * page/AXObjectCache.cpp: 95630 (WebCore::AXObjectCache::get): 95631 * page/AccessibilityObject.h: 95632 (WebCore::): 95633 (WebCore::AccessibilityObject::isDataTable): 95634 (WebCore::AccessibilityObject::isTableRow): 95635 (WebCore::AccessibilityObject::isTableColumn): 95636 (WebCore::AccessibilityObject::isTableCell): 95637 * page/AccessibilityRenderObject.cpp: 95638 (WebCore::AccessibilityRenderObject::canSetFocusAttribute): 95639 * page/AccessibilityTable.cpp: Added. 95640 (WebCore::AccessibilityTable::AccessibilityTable): 95641 (WebCore::AccessibilityTable::~AccessibilityTable): 95642 (WebCore::AccessibilityTable::create): 95643 (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): 95644 (WebCore::AccessibilityTable::clearChildren): 95645 (WebCore::AccessibilityTable::addChildren): 95646 (WebCore::AccessibilityTable::headerContainer): 95647 (WebCore::AccessibilityTable::columns): 95648 (WebCore::AccessibilityTable::rows): 95649 (WebCore::AccessibilityTable::rowHeaders): 95650 (WebCore::AccessibilityTable::columnHeaders): 95651 (WebCore::AccessibilityTable::cells): 95652 (WebCore::AccessibilityTable::columnCount): 95653 (WebCore::AccessibilityTable::rowCount): 95654 (WebCore::AccessibilityTable::cellForColumnAndRow): 95655 (WebCore::AccessibilityTable::roleValue): 95656 (WebCore::AccessibilityTable::accessibilityIsIgnored): 95657 (WebCore::AccessibilityTable::title): 95658 (WebCore::AccessibilityTable::isDataTable): 95659 * page/AccessibilityTable.h: Added. 95660 * page/AccessibilityTableCell.cpp: Added. 95661 (WebCore::AccessibilityTableCell::AccessibilityTableCell): 95662 (WebCore::AccessibilityTableCell::~AccessibilityTableCell): 95663 (WebCore::AccessibilityTableCell::create): 95664 (WebCore::AccessibilityTableCell::accessibilityIsIgnored): 95665 (WebCore::AccessibilityTableCell::rowIndexRange): 95666 (WebCore::AccessibilityTableCell::columnIndexRange): 95667 * page/AccessibilityTableCell.h: Added. 95668 (WebCore::AccessibilityTableCell::isTableCell): 95669 (WebCore::AccessibilityTableCell::roleValue): 95670 * page/AccessibilityTableColumn.cpp: Added. 95671 (WebCore::AccessibilityTableColumn::AccessibilityTableColumn): 95672 (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn): 95673 (WebCore::AccessibilityTableColumn::create): 95674 (WebCore::AccessibilityTableColumn::setParentTable): 95675 (WebCore::AccessibilityTableColumn::elementRect): 95676 (WebCore::AccessibilityTableColumn::size): 95677 (WebCore::AccessibilityTableColumn::children): 95678 (WebCore::AccessibilityTableColumn::headerObject): 95679 (WebCore::AccessibilityTableColumn::headerObjectForSection): 95680 (WebCore::AccessibilityTableColumn::addChildren): 95681 * page/AccessibilityTableColumn.h: Added. 95682 (WebCore::AccessibilityTableColumn::parentObject): 95683 (WebCore::AccessibilityTableColumn::roleValue): 95684 (WebCore::AccessibilityTableColumn::accessibilityIsIgnored): 95685 (WebCore::AccessibilityTableColumn::isTableColumn): 95686 (WebCore::AccessibilityTableColumn::setColumnIndex): 95687 (WebCore::AccessibilityTableColumn::columnIndex): 95688 * page/AccessibilityTableHeaderContainer.cpp: Added. 95689 (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer): 95690 (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer): 95691 (WebCore::AccessibilityTableHeaderContainer::create): 95692 (WebCore::AccessibilityTableHeaderContainer::children): 95693 (WebCore::AccessibilityTableHeaderContainer::elementRect): 95694 (WebCore::AccessibilityTableHeaderContainer::size): 95695 (WebCore::AccessibilityTableHeaderContainer::addChildren): 95696 * page/AccessibilityTableHeaderContainer.h: Added. 95697 (WebCore::AccessibilityTableHeaderContainer::roleValue): 95698 (WebCore::AccessibilityTableHeaderContainer::setParentTable): 95699 (WebCore::AccessibilityTableHeaderContainer::parentObject): 95700 (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored): 95701 * page/AccessibilityTableRow.cpp: Added. 95702 (WebCore::AccessibilityTableRow::AccessibilityTableRow): 95703 (WebCore::AccessibilityTableRow::~AccessibilityTableRow): 95704 (WebCore::AccessibilityTableRow::create): 95705 (WebCore::AccessibilityTableRow::accessibilityIsIgnored): 95706 (WebCore::AccessibilityTableRow::headerObject): 95707 * page/AccessibilityTableRow.h: Added. 95708 (WebCore::AccessibilityTableRow::isTableRow): 95709 (WebCore::AccessibilityTableRow::roleValue): 95710 (WebCore::AccessibilityTableRow::setRowIndex): 95711 (WebCore::AccessibilityTableRow::rowIndex): 95712 * page/mac/AccessibilityObjectWrapper.mm: 95713 (-[AccessibilityObjectWrapper accessibilityAttributeNames]): 95714 (RoleEntry::): 95715 (-[AccessibilityObjectWrapper roleDescription]): 95716 (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 95717 (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]): 95718 (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]): 95719 95720 2008-08-19 Steve Falkenburg <sfalken (a] apple.com> 95721 95722 Build fix. 95723 Add buildfailed support to stop builds early (preventing inaccurate error messages). 95724 Add missing post-build rule to Release. 95725 95726 * WebCore.vcproj/QTMovieWin.vcproj: 95727 95728 2008-08-19 Keishi Hattori <casey.hattori (a] gmail.com> 95729 95730 Added support for console.count in the inspector. 95731 95732 Reviewed by Geoff Garen. 95733 95734 * page/Console.cpp: 95735 (WebCore::Console::count): 95736 * page/Console.h: 95737 * page/Console.idl: Added console.count. 95738 * page/InspectorController.cpp: 95739 (WebCore::InspectorController::didCommitLoad): Clears m_counts. 95740 (WebCore::InspectorController::count): Updates the count number 95741 sing "title@source:line" as the identifier, and adds a 95742 message to the console. 95743 * page/InspectorController.h: Added m_counts. 95744 95745 2008-08-19 Keishi Hattori <casey.hattori (a] gmail.com> 95746 95747 Clear console.time timers when changing page. 95748 95749 Reviewed by Geoff Garen. 95750 95751 * page/InspectorController.cpp: 95752 (WebCore::InspectorController::didCommitLoad): 95753 95754 2008-08-19 Eric Carlson <eric.carlson (a] apple.com> 95755 95756 Reviewed by Adele. 95757 95758 Fix for <rdar://problem/6154695> Full-page movies flicker while playing 95759 https://bugs.webkit.org/show_bug.cgi?id=20404 95760 95761 Ignore setVisible() when visibility doesn't change. 95762 95763 * platform/graphics/mac/MediaPlayerPrivateQTKit.h: 95764 * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: 95765 (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): 95766 (WebCore::MediaPlayerPrivate::setVisible): 95767 95768 2008-08-19 Timothy Hatcher <timothy (a] apple.com> 95769 95770 Fixes a bug in the Profile view where switching sort order, then 95771 switching from heavy to tree mode would show the tree in the 95772 previous sort order. 95773 95774 https://bugs.webkit.org/show_bug.cgi?id=20441 95775 95776 Reviewed by Kevin McCullough. 95777 95778 * page/inspector/ProfileView.js: 95779 (WebInspector.ProfileView.prototype._changeView): Call _sortProfile 95780 on the next profile before assigning it to this.profile. 95781 (WebInspector.ProfileView.prototype._sortData): Call _sortProfile. 95782 (WebInspector.ProfileView.prototype._sortProfile): Moves from 95783 _sortData and takes a profile argument. If the profile passed in 95784 matches the this.profile, then call refresh. 95785 95786 2008-08-18 Timothy Hatcher <timothy (a] apple.com> 95787 95788 Changed the default sort order now that heavy view is the default. 95789 Also fixes a bug where the heavy profile was not sorted at first. 95790 95791 https://bugs.webkit.org/show_bug.cgi?id=20440 95792 95793 Reviewed by Kevin McCullough. 95794 95795 * page/inspector/ProfileView.js: 95796 (WebInspector.ProfileView): Changed the default sort column. Also assign 95797 heavyProfile to profile, so the sortSelfTimeDescending call happens 95798 on the heavy profile before assigning to this.profile. 95799 95800 2008-08-18 Timothy Hatcher <timothy (a] apple.com> 95801 95802 Add support for editing DOM properties and scope variables by double 95803 clicking a property to enter edit mode. 95804 95805 https://bugs.webkit.org/show_bug.cgi?id=20415 95806 95807 Reviewed by Kevin McCullough. 95808 95809 * page/inspector/ObjectPropertiesSection.js: 95810 (WebInspector.ObjectPropertiesSection): Set editable to true by default. 95811 (WebInspector.ObjectPropertiesSection.prototype.onpopulate): 95812 Factored out code into update, and calls update. 95813 (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate. 95814 Call removeChildren since this method can be called multiple times now. 95815 (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title 95816 gets made later in onattach. 95817 (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early 95818 if shouldRefreshChildren is true. Call removeChildren since this method can be 95819 called multiple times now. 95820 (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing. 95821 (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update. 95822 (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for 95823 this element (code moved from the constructor.) 95824 (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all 95825 sibling property elements. 95826 (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call 95827 WebInspector.startEditing after rememebring some context. 95828 (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft 95829 for the list element, since it might have scrolled during editing. 95830 (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded 95831 then restore the state from the context. Then call update to restore the title. 95832 (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled 95833 if the user input and the previous input are the same. Call editingEnded, then call applyExpression 95834 to commit the user input. 95835 (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression 95836 and stores the result on the object for the property name of this element. If the expression is 95837 empty, delete the property and remove the tree element. 95838 * page/inspector/ScopeChainSidebarPane.js: 95839 (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused 95840 property on each ObjectPropertiesSection. 95841 (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach 95842 since it is now implemented. 95843 * page/inspector/ScriptsPanel.js: 95844 (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument 95845 that defaults to true if omitted. It specifies whether to call update on the scope chain. 95846 * page/inspector/inspector.css: New styles. 95847 * page/inspector/treeoutline.js: 95848 (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren 95849 change. The nextSibling would exist but have a _listItemNode that didn't match the new parent. 95850 95851 2008-08-18 Timothy Hatcher <timothy (a] apple.com> 95852 95853 Surround the expression to be evaluated in parenthesis so the 95854 result of the eval is the result of the whole expression not 95855 the last potential sub-expression. So evaluating {x: 123} 95856 will show the Object not 123. 95857 95858 https://bugs.webkit.org/show_bug.cgi?id=20428 95859 95860 Reviewed by Kevin McCullough. 95861 95862 * page/inspector/Console.js: 95863 (Console.prototype._evalInInspectedWindow): Add parenthesis 95864 around the expression. And add couple comments. 95865 95866 2008-08-19 Kevin McCullough <kmccullough (a] apple.com> 95867 95868 Reviewed by Geoff. 95869 95870 -Implement a page() function to extract a common code pattern. 95871 95872 * WebCore.xcodeproj/project.pbxproj: 95873 * page/Console.cpp: 95874 (WebCore::Console::addMessage): 95875 (WebCore::Console::error): 95876 (WebCore::Console::info): 95877 (WebCore::Console::log): 95878 (WebCore::Console::dir): 95879 (WebCore::Console::assertCondition): 95880 (WebCore::Console::time): 95881 (WebCore::Console::timeEnd): 95882 (WebCore::Console::group): 95883 (WebCore::Console::groupEnd): 95884 (WebCore::Console::finishedProfiling): 95885 (WebCore::Console::warn): 95886 (WebCore::Console::framePage): 95887 * page/Console.h: 95888 95889 2008-08-12 Darin Adler <darin (a] apple.com> 95890 95891 Reviewed by Geoff. 95892 95893 - eliminate JSValue::type() 95894 95895 * bridge/c/c_instance.cpp: 95896 (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType 95897 argument instead of JSType argument. Removed unneeded code to handle 95898 boolean, since that's never passed. 95899 * bridge/c/c_instance.h: Ditto. 95900 95901 * bridge/c/c_utility.cpp: 95902 (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions 95903 instead of JSValue::type(). Removed unneeded code to handle 95904 "unspecified". 95905 95906 * bridge/jni/jni_instance.cpp: 95907 (JavaInstance::defaultValue): Take PreferredPrimitiveType argument 95908 instead of JSType argument. Removed unneeded code to handle boolean. 95909 * bridge/jni/jni_instance.h: Ditto. 95910 95911 * bridge/jni/jni_jsobject.mm: 95912 (JavaJSObject::convertValueToJObject): Use JSValue::is functions 95913 instead of JSValue::type(). 95914 95915 * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument 95916 instead of JSType argument. Removed unused argument. 95917 * bridge/objc/objc_instance.mm: 95918 (ObjcInstance::getValueOfUndefinedField): Removed unused argument. 95919 (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument 95920 instead of JSType argument. Removed unneeded code to handle boolean 95921 and another dead code path for unknown types. 95922 95923 * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument 95924 instead of JSType argument. Removed override of type() that caused 95925 the fallback object to return "UndefinedType" when there is no 95926 invokeUndefinedMethodFromWebScript:withArguments: method defined. 95927 That didn't accomplish much, since most checks for undefined don't 95928 ever call type(). 95929 * bridge/objc/objc_runtime.mm: 95930 (ObjcFallbackObjectImp::defaultValue): Ditto. 95931 95932 * bridge/qt/qt_instance.cpp: 95933 (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType 95934 argument instead of JSType argument. Removed unneeded code to handle 95935 boolean. 95936 * bridge/qt/qt_instance.h: Ditto. 95937 95938 * bridge/runtime.h: 95939 (KJS::Bindings::Instance::getValueOfUndefinedField): Removed 95940 unsed argument. 95941 * bridge/runtime_object.cpp: 95942 (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType 95943 argument instead of JSType argument. 95944 * bridge/runtime_object.h: Ditto. 95945 95946 2008-08-18 Maxime Britto <britto (a] apple.com> 95947 95948 Reviewed by Adele. 95949 95950 <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window 95951 Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning). 95952 We shouldn't be able to create another window while we are in pan scrolling. 95953 Other browsers behaviors : 95954 FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode 95955 IE7 : Keys are not disabled but stops immediately the panning. 95956 This patch matches FF3 behavior by disabling every key but the esc key. 95957 95958 * page/EventHandler.cpp: 95959 (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped. 95960 (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early. 95961 95962 2008-08-18 Dan Bernstein <mitz (a] apple.com> 95963 95964 Reviewed by Dave Hyatt. 95965 95966 - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received 95967 95968 Test: fast/replaced/max-width-percent.html 95969 95970 Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth(). 95971 When false, max-width is not factored into the 95972 calculation. 95973 Changed RenderReplaced and subclasses' calcPrefWidths() to call 95974 calcReplacedWidth(false) and then apply max-width only if it has a 95975 fixed, positive value. 95976 95977 * rendering/RenderBox.cpp: 95978 (WebCore::RenderBox::calcReplacedWidth): 95979 * rendering/RenderBox.h: 95980 * rendering/RenderImage.cpp: 95981 (WebCore::RenderImage::calcReplacedWidth): 95982 (WebCore::RenderImage::calcPrefWidths): 95983 * rendering/RenderImage.h: 95984 * rendering/RenderReplaced.cpp: 95985 (WebCore::RenderReplaced::calcPrefWidths): 95986 * rendering/RenderSVGRoot.cpp: 95987 (WebCore::RenderSVGRoot::calcPrefWidths): 95988 * rendering/RenderVideo.cpp: 95989 (WebCore::RenderVideo::calcReplacedWidth): 95990 (WebCore::RenderVideo::calcPrefWidths): 95991 * rendering/RenderVideo.h: 95992 95993 2008-08-18 Daniel Macks <dmacks (a] netspace.org> 95994 95995 Reviewed by Mark Rowe. 95996 95997 https://bugs.webkit.org/show_bug.cgi?id=20410 95998 More portable/self-documenting replacement for SIZE_MAX. 95999 96000 * platform/network/curl/FormDataStreamCurl.cpp: 96001 (WebCore::FormDataStream::read): 96002 96003 2008-08-18 Simon Fraser <simon.fraser (a] apple.com> 96004 96005 Reviewed by Dave Hyatt 96006 96007 Need to make sure we have an Animation in the AnimationList 96008 before setting the initial value. 96009 https://bugs.webkit.org/show_bug.cgi?id=20408 96010 96011 Test: fast/css/transition_shorthand_parsing.html 96012 96013 * css/CSSStyleSelector.cpp: 96014 96015 2008-08-18 Kevin McCullough <kmccullough (a] apple.com> 96016 96017 Reviewed by Tim. 96018 96019 <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there 96020 is another profile. 96021 96022 * page/inspector/ProfilesPanel.js: 96023 96024 2008-08-18 Kevin McCullough <kmccullough (a] apple.com> 96025 96026 Reviewed by Geoff. 96027 96028 <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears 96029 all console messages 96030 96031 * page/inspector/Console.js: 96032 96033 2008-08-18 Dirk Schulze <vbs85 (a] gmx.de> 96034 96035 Reviewed by Eric Seidel. 96036 96037 Fixed Canvas for Cairo. Stroke and fill colors didn't work after 96038 the canvas clean up. 96039 96040 https://bugs.webkit.org/show_bug.cgi?id=20405 96041 96042 * html/CanvasRenderingContext2D.cpp: 96043 (WebCore::CanvasRenderingContext2D::fill): 96044 (WebCore::CanvasRenderingContext2D::stroke): 96045 (WebCore::CanvasRenderingContext2D::fillRect): 96046 96047 2008-08-17 Timothy Hatcher <timothy (a] apple.com> 96048 96049 Complete in scope variables in the Console when paused. 96050 96051 https://bugs.webkit.org/show_bug.cgi?id=19115 96052 96053 Reviewed by Geoffrey Garen. 96054 96055 * page/inspector/Console.js: 96056 (WebInspector.Console.prototype.completions): If the expressionString 96057 is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame 96058 to get an object that declares all the in scope variables. That way 96059 "top level" expressions are completed. 96060 * page/inspector/ScriptsPanel.js: 96061 (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame): 96062 Return an object that has all the variables that are in scope for the 96063 selected call frame. The value of each property is just true. 96064 The return object is useful for quick lookups or auto completion. 96065 96066 2008-08-17 Cameron Zwarich <cwzwarich (a] uwaterloo.ca> 96067 96068 Not reviewed. 96069 96070 Speculative Qt build fix. 96071 96072 * bridge/qt/qt_runtime.cpp: 96073 (KJS::Bindings::convertValueToQVariant): 96074 (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod): 96075 96076 2008-08-17 Geoffrey Garen <ggaren (a] apple.com> 96077 96078 Reviewed by Cameron Zwarich. 96079 96080 Updated project files to XCode 3.1. 96081 96082 * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj: 96083 96084 2008-08-17 Geoffrey Garen <ggaren (a] apple.com> 96085 96086 Reviewed by Cameron Zwarich. 96087 96088 Made room for a free word in JSCell. 96089 96090 Changed JSDOMWindowBase to store its auxiliary data in a subclass of 96091 JSGlobalData, so the two could share a pointer. 96092 96093 Added a bunch of ASSERTs, to help catch over-sized objects. 96094 96095 2008-08-15 Mark Rowe <mrowe (a] apple.com> 96096 96097 Reviewed by Dan Bernstein. 96098 96099 Disable dead code stripping in debug builds. 96100 96101 * Configurations/Base.xcconfig: 96102 * WebCore.xcodeproj/project.pbxproj: 96103 96104 2008-08-15 Mark Rowe <mrowe (a] apple.com> 96105 96106 Rubber-stamped by Geoff Garen. 96107 96108 <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework 96109 96110 * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared 96111 between the Debug configuration and debug Production variant. 96112 * WebCore.xcodeproj/project.pbxproj: Enable the debug variant. 96113 96114 2008-08-15 Antti Koivisto <antti (a] apple.com> 96115 96116 Reviewed by Anders. 96117 96118 Don't start preloading body resources before the head is complete. This prevents 96119 body preloads from slowing down initial display when there is limited amount 96120 of bandwidth available. 96121 96122 Works by queuing up found body preloads to DocLoader and only issuing them 96123 after document has rendering. 96124 96125 With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s 96126 without affecting complete load time. 96127 96128 * html/PreloadScanner.cpp: 96129 (WebCore::PreloadScanner::PreloadScanner): 96130 (WebCore::PreloadScanner::scanningBody): 96131 (WebCore::PreloadScanner::emitTag): 96132 (WebCore::PreloadScanner::emitCSSRule): 96133 * html/PreloadScanner.h: 96134 * loader/DocLoader.cpp: 96135 (WebCore::DocLoader::preload): 96136 (WebCore::DocLoader::checkForPendingPreloads): 96137 (WebCore::DocLoader::requestPreload): 96138 * loader/DocLoader.h: 96139 * loader/loader.cpp: 96140 (WebCore::Loader::Host::didFinishLoading): 96141 (WebCore::Loader::Host::didFail): 96142 96143 2008-08-15 Ada Chan <adachan (a] apple.com> 96144 96145 Use item's computed style if the render style is 0 before falling back to the <select>'s style. 96146 This way style set on an <hr> within a <select> will be honored. 96147 96148 Reviewed by Dave Hyatt and Dan Bernstein. 96149 96150 * rendering/RenderMenuList.cpp: 96151 (WebCore::RenderMenuList::itemStyle): 96152 96153 2008-08-15 Antti Koivisto <antti (a] apple.com> 96154 96155 Reviewed by Oliver. 96156 96157 Some loader performance tweaks: 96158 - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets. 96159 Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue 96160 to not delay rendering. 96161 - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup 96162 can take long time when latency is high so it is good to get started early. 96163 - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the 96164 load queues. Issue remaining loads to the network layer. 96165 96166 * loader/loader.cpp: 96167 (WebCore::Loader::determinePriority): 96168 (WebCore::Loader::load): 96169 (WebCore::Loader::Host::servePendingRequests): 96170 * loader/loader.h: 96171 96172 2008-08-15 Timothy Hatcher <timothy (a] apple.com> 96173 96174 Detach the script debugger when the Web Inspector's window closes. 96175 This has always been the intended design, but never fully implemented. 96176 96177 https://bugs.webkit.org/show_bug.cgi?id=20402 96178 96179 Reviewed by Adam Roben. 96180 96181 * page/InspectorController.cpp: 96182 (WebCore::InspectorController::setWindowVisible): Call stopDebugging() 96183 if the window is no longer visible. 96184 96185 2008-08-15 Hvard Wall <hwall (a] trolltech.com> 96186 96187 Reviewed by Simon. 96188 96189 Fixes: compile with QT_NO_CONTEXTMENU 96190 96191 * platform/qt/PlatformMouseEventQt.cpp: 96192 (WebCore::PlatformMouseEvent::PlatformMouseEvent): 96193 * platform/qt/PlatformScrollBarQt.cpp: 96194 (WebCore::PlatformScrollbar::handleMouseMoveEvent): 96195 (WebCore::PlatformScrollbar::handleContextMenuEvent): 96196 96197 2008-08-15 Hvard Wall <hwall (a] trolltech.com> 96198 96199 Reviewed by Simon. 96200 96201 Fixes: compile with QT_NO_WHEELEVENT 96202 96203 * platform/qt/WheelEventQt.cpp: 96204 (WebCore::PlatformWheelEvent::PlatformWheelEvent): 96205 96206 2008-08-15 Keishi Hattori <casey.hattori (a] gmail.com> 96207 96208 Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector 96209 96210 https://bugs.webkit.org/show_bug.cgi?id=20210 96211 96212 Reviewed by Tim Hatcher. 96213 96214 * page/Console.cpp: 96215 (WebCore::Console::group): 96216 (WebCore::Console::groupEnd): 96217 * page/Console.h: 96218 (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel. 96219 * page/InspectorController.cpp: 96220 (WebCore::InspectorController::startGroup): Increments group level by 96221 one and adds console message with StartGroupMessaageLevel. 96222 (WebCore::InspectorController::endGroup): Decrements group level by one 96223 and adds console message with EndGroupMessaageLevel. 96224 * page/InspectorController.h: 96225 * page/inspector/Console.js: 96226 (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup 96227 if the message is StartGroupMessaageLevel. 96228 (WebInspector.ConsoleMessage.prototype.toMessageElement): 96229 (WebInspector.ConsoleGroup.prototype.addMessage): 96230 * page/inspector/inspector.js: 96231 96232 2008-08-15 Keishi Hattori <casey.hattori (a] gmail.com> 96233 96234 Adds support for console.dir to the Inspector 96235 96236 https://bugs.webkit.org/show_bug.cgi?id=19155 96237 96238 Reviewed by Tim Hatcher. 96239 96240 * bindings/js/JSConsoleCustom.cpp: 96241 (WebCore::JSConsole::dir): 96242 * page/Console.cpp: 96243 (WebCore::Console::dir): 96244 * page/Console.h: Added ObjectMessageLevel. 96245 * page/Console.idl: Added console.dir. 96246 * page/inspector/Console.js: 96247 (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an 96248 ObjectPropertiesSection if the MessageLevel is Object. 96249 * page/inspector/ObjectPropertiesSection.js: "in" operator can't be 96250 used on primitive data types. 96251 * page/inspector/inspector.css: 96252 96253 2008-08-15 Keishi Hattori <casey.hattori (a] gmail.com> 96254 96255 Adds support for clear() in the Inspector console. 96256 96257 https://bugs.webkit.org/show_bug.cgi?id=19873 96258 96259 Reviewed by Tim Hatcher. 96260 96261 * page/inspector/Console.js: 96262 96263 2008-08-15 Anthony Ricaud <rik24d (a] gmail.com> 96264 96265 Cmd-F on Mac or Ctrl-F on other platforms now focus the search field. 96266 96267 Platform distinction and modifier key matching adjusted 96268 by Daniel Jalkut <jalkut (a] red-sweater.com> 96269 96270 Bug 16313: text search (find) keybindings should work in the Web Inspector 96271 https://bugs.webkit.org/show_bug.cgi?id=16313 96272 96273 Reviewed by Tim Hatcher. 96274 96275 * page/inspector/inspector.js: Added a case for the F key 96276 96277 2008-08-15 Keishi Hattori <casey.hattori (a] gmail.com> 96278 96279 Fix for error when the string doesn't contain a webkit-profile link. 96280 96281 https://bugs.webkit.org/show_bug.cgi?id=20399 96282 96283 Reviewed by Tim Hatcher. 96284 96285 * page/inspector/inspector.js: 96286 96287 2008-08-15 Timothy Hatcher <timothy (a] apple.com> 96288 96289 Fixes two bugs where JavaScript could be executed from the page 96290 while the debugger is paused. 96291 96292 The first issue was JSLazyEventListener not checking the paused 96293 state before parsing the code. 96294 96295 The second issue was with the PageGroup version of 96296 JavaScriptDebugServer::setJavaScriptPaused always passing false 96297 to the Page version of JavaScriptDebugServer::setJavaScriptPaused, 96298 and not the paused argument. 96299 96300 https://bugs.webkit.org/show_bug.cgi?id=20284 96301 96302 Reviewed by Adam Roben. 96303 96304 * bindings/js/JSEventListener.cpp: 96305 (WebCore::JSLazyEventListener::parseCode): Check the paused 96306 state of the ScriptController. Return early if paused. 96307 * manual-tests/inspector/debugger-execution-while-paused.html: Added. 96308 * page/JavaScriptDebugServer.cpp: 96309 (WebCore::JavaScriptDebugServer::setJavaScriptPaused): 96310 Pass the paused argument to the Page version of setJavaScriptPaused. 96311 96312 2008-08-15 Alexey Proskuryakov <ap (a] webkit.org> 96313 96314 Reviewed by Geoff Garen. 96315 96316 JSStringRef is created context-free, but can get linked to one via an identifier table, 96317 breaking an implicit API contract. 96318 96319 * page/InspectorController.cpp: 96320 (WebCore::jsStringRef): 96321 (WebCore::InspectorController::didParseSource): 96322 (WebCore::InspectorController::failedToParseSource): 96323 * page/JavaScriptProfile.cpp: 96324 (WebCore::getTitleCallback): 96325 Updated for JavaScriptCore changes. 96326 96327 2008-08-14 Kevin Ollivier <kevino (a] theolliviers.com> 96328 96329 wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with 96330 an alternative that performs reasonably well. (GDI+ is too slow in many cases.) 96331 96332 * platform/graphics/AffineTransform.h: 96333 96334 2008-08-14 Eric Carlson <eric.carlson (a] apple.com> 96335 96336 Reviewed by Adele. 96337 96338 Fix for https://bugs.webkit.org/show_bug.cgi?id=20388 96339 <video> elements on Windows never becomes visible when a page is restored from the cache 96340 96341 Always pass "set" calls down to MediaPlayerPrivate instead of only when the 96342 value is different from the cached value. Let the implementation decide when 96343 to avoid work because nothing has changed. 96344 96345 * platform/graphics/MediaPlayer.cpp: 96346 (WebCore::MediaPlayer::setVolume): 96347 (WebCore::MediaPlayer::setRate): 96348 (WebCore::MediaPlayer::setRect): 96349 (WebCore::MediaPlayer::setVisible): 96350 96351 2008-08-14 Keishi Hattori <casey.hattori (a] gmail.com> 96352 96353 Make Firebug command line API respect predefined variables. 96354 96355 https://bugs.webkit.org/show_bug.cgi?id=20385 96356 96357 Reviewed by Tim Hatcher. 96358 96359 * page/inspector/Console.js: 96360 96361 2008-08-14 Sam Weinig <sam (a] webkit.org> 96362 96363 Reviewed by Geoffrey Garen and Timothy Hatcher. 96364 96365 Allow programatically setting the HTMLTokenizers time delay and chunk size 96366 which are used for determining how aggressively we yield. 96367 96368 * WebCore.base.exp: 96369 * html/HTMLTokenizer.cpp: 96370 (WebCore::HTMLTokenizer::begin): 96371 (WebCore::HTMLTokenizer::continueProcessing): 96372 * html/HTMLTokenizer.h: 96373 * page/Page.cpp: 96374 (WebCore::Page::Page): 96375 (WebCore::Page::setCustomHTMLTokenizerTimeDelay): 96376 (WebCore::Page::setCustomHTMLTokenizerChunkSize): 96377 * page/Page.h: 96378 (WebCore::Page::hasCustomHTMLTokenizerTimeDelay): 96379 (WebCore::Page::customHTMLTokenizerTimeDelay): 96380 (WebCore::Page::hasCustomHTMLTokenizerChunkSize): 96381 (WebCore::Page::customHTMLTokenizerChunkSize): 96382 96383 2008-08-14 Eric Seidel <eric (a] webkit.org> 96384 96385 Reviewed by Beth. 96386 96387 Move us one step closer to cross-platform svg/graphics code 96388 96389 * WebCore.xcodeproj/project.pbxproj: 96390 * html/CanvasStyle.cpp: 96391 * platform/graphics/Color.cpp: 96392 (WebCore::colorWithOverrideAlpha): 96393 * platform/graphics/Color.h: 96394 * svg/graphics/cg/CgSupport.cpp: 96395 (WebCore::applyStrokeStyleToContext): 96396 (WebCore::strokeBoundingBox): 96397 * svg/graphics/cg/SVGPaintServerSolidCg.cpp: 96398 (WebCore::SVGPaintServerSolid::setup): 96399 96400 2008-08-14 Eric Seidel <eric (a] webkit.org> 96401 96402 Reviewed by Alexey. 96403 96404 Remove un-need includes from HTMLCanvas and use the 96405 Gradient platform abstraction in one place in CanvasStyle 96406 96407 * html/CanvasRenderingContext2D.cpp: 96408 (WebCore::CanvasRenderingContext2D::fillRect): 96409 * html/CanvasStyle.cpp: 96410 * html/HTMLCanvasElement.cpp: 96411 96412 2008-08-14 Eric Seidel <eric (a] webkit.org> 96413 96414 Reviewed by Alexey. 96415 96416 Clean up GlyphBuffer.h, removing more #ifdefs 96417 96418 * platform/graphics/GlyphBuffer.h: 96419 (WebCore::GlyphBuffer::glyphAt): 96420 (WebCore::GlyphBuffer::advanceAt): 96421 (WebCore::GlyphBuffer::add): 96422 96423 2008-08-14 Eric Seidel <eric (a] webkit.org> 96424 96425 Reviewed by Sam. 96426 96427 Clean up AffineTransform.h, removing #ifdefs 96428 96429 * platform/graphics/AffineTransform.h: 96430 * platform/graphics/cairo/AffineTransformCairo.cpp: 96431 * platform/graphics/cg/AffineTransformCG.cpp: 96432 * platform/graphics/qt/AffineTransformQt.cpp: 96433 * platform/graphics/wx/AffineTransformWx.cpp: 96434 96435 2008-08-14 Dan Bernstein <mitz (a] apple.com> 96436 96437 - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size(). 96438 96439 * platform/graphics/cairo/ImageSourceCairo.cpp: 96440 (WebCore::ImageSource::frameSizeAtIndex): 96441 * platform/graphics/qt/ImageSourceQt.cpp: 96442 (WebCore::ImageSource::frameSizeAtIndex): 96443 * platform/graphics/wx/ImageSourceWx.cpp: 96444 (WebCore::ImageSource::frameSizeAtIndex): 96445 96446 2008-08-14 Dan Bernstein <mitz (a] apple.com> 96447 96448 Reviewed by Brady Eidson. 96449 96450 - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped 96451 96452 * platform/graphics/BitmapImage.cpp: 96453 (WebCore::BitmapImage::BitmapImage): Added initialization of 96454 m_hasUniformFrameSize. 96455 (WebCore::BitmapImage::cacheFrame): Added code to get the size of the 96456 cached frame for use in decoded size computation and for setting 96457 m_hasUniformFrameSize. 96458 (WebCore::BitmapImage::currentFrameSize): Added. 96459 (WebCore::BitmapImage::dataChanged): Added code to reset 96460 m_hasUniformFrameSize. 96461 * platform/graphics/BitmapImage.h: Added currentFrameSize() and 96462 m_hasUniformFrameSize. 96463 * platform/graphics/ImageSource.h: Added frameSizeAtIndex(). 96464 * platform/graphics/cg/ImageCG.cpp: 96465 (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This 96466 fixes the bug, which resulted from assuming that the frame being drawn 96467 was the same size as the first frame. 96468 * platform/graphics/cg/ImageSourceCG.cpp: 96469 (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and 96470 changed to get the size of the frame at the given index. 96471 (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0). 96472 96473 2008-08-13 Simon Fraser <simon.fraser (a] apple.com> 96474 96475 Reviewed by Eric Seidel 96476 96477 Fix @font-face inside @media rule crash. 96478 https://bugs.webkit.org/show_bug.cgi?id=20367 96479 96480 Test: fast/css/font-face-in-media-rule.html 96481 96482 * css/CSSStyleSelector.cpp: 96483 (WebCore::CSSRuleSet::addRulesFromSheet): 96484 96485 2008-08-14 Kevin Ollivier <kevino (a] theolliviers.com> 96486 96487 wx build fixes after recent changes to Canvas and Image classes. 96488 96489 * platform/graphics/Pattern.h: 96490 * platform/graphics/wx/GradientWx.cpp: 96491 (WebCore::Gradient::fill): 96492 * platform/graphics/wx/GraphicsContextWx.cpp: 96493 (WebCore::GraphicsContext::applyFillPattern): 96494 (WebCore::GraphicsContext::applyStrokePattern): 96495 * platform/graphics/wx/ImageBufferWx.cpp: 96496 (WebCore::ImageBuffer::image): 96497 * platform/graphics/wx/ImageWx.cpp: 96498 (WebCore::Image::loadPlatformResource): 96499 96500 2008-08-14 Maxime Britto <britto (a] apple.com> 96501 96502 Reviewed by Sam Weinig. 96503 96504 rdar://6102511 96505 When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored 96506 IE and FF are both preventing the keyboard event to interact with the page while scrolling. 96507 Some differences exist between them concerning the kind of key which is pressed : 96508 IE7 : every key leads to a stop of the panning 96509 FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive. 96510 For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too. 96511 96512 * page/EventHandler.cpp: 96513 (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event. 96514 96515 2008-08-14 Christian Dywan <christian (a] twotoasts.de> 96516 96517 Gtk+/ Cairo build fix, patch by Dirk Schulze. 96518 96519 * html/CanvasStyle.cpp: 96520 * platform/graphics/cairo/PatternCairo.cpp: 96521 (WebCore::Pattern::createPlatformPattern): 96522 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: 96523 96524 2008-08-14 Kevin McCullough <kmccullough (a] apple.com> 96525 96526 Reviewed by Tim. 96527 96528 <rdar://problem/6115819> Notify of profile in console 96529 96530 * page/InspectorController.cpp: 96531 (WebCore::InspectorController::addProfile): 96532 (WebCore::InspectorController::addProfileMessageToConsole): Called by 96533 addProfile this is the function that adds a message to the console that 96534 a profile finished. 96535 * page/InspectorController.h: 96536 * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match 96537 the console log to the profile in the web inspector. 96538 (WebCore::getUniqueIdCallback): 96539 (WebCore::ProfileClass): 96540 * page/inspector/ProfilesPanel.js: Created a map of all the profiles by 96541 Id to bring up the requested profile. Also select and reveal the 96542 profile in the profile panel. And created displayTitleForProfileLink() 96543 which formats a title taking into account if it's user initiated or if 96544 there are multiples. Lasty, I put the user initiated profile in a 96545 variable. 96546 * page/inspector/inspector.js: Make the profile title be a clickable 96547 link that will take the user to the identified profile. Also expose 96548 the count of user initiated profiles so they can be displayed in the 96549 console with the correct count. 96550 96551 2008-08-14 Timothy Hatcher <timothy (a] apple.com> 96552 96553 Avoid formating ConsoleMessages twice unless the message will be 96554 displayed in bubbles of a SourceFrame. 96555 96556 Reviewed by Kevin McCullough. 96557 96558 * page/inspector/Console.js: 96559 (WebInspector.ConsoleMessage): Only format the plain text message 96560 if the URL and line are valid and the level is error or warning. 96561 (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added. 96562 Helper to test for error or warning level. 96563 * page/inspector/SourceFrame.js: 96564 (WebInspector.SourceFrame.prototype.addMessage): Don't add the 96565 message if there is no message or valid line or if the msg 96566 isn't an error or warning. 96567 96568 2008-08-14 Jan Michael Alonzo <jmalonzo (a] webkit.org> 96569 96570 partial Gtk build fix, not reviewed 96571 96572 * platform/graphics/cairo/PatternCairo.cpp: 96573 96574 2008-08-13 Sam Weinig <sam (a] webkit.org> 96575 96576 Reviewed by Anders Carlsson. 96577 96578 Fix style issue. 96579 96580 * html/HTMLMediaElement.cpp: 96581 (WebCore::HTMLMediaElement::pickMedia): 96582 96583 2008-08-13 Nikolas Zimmermann <zimmermann (a] kde.org> 96584 96585 Build fix for Cairo, not reviewed. (exposed by gtk build slave) 96586 Continue Erics build fixes, after the Image cleanup. 96587 96588 * platform/graphics/cairo/ImageBufferCairo.cpp: 96589 (WebCore::ImageBuffer::image): 96590 96591 2008-08-13 Nikolas Zimmermann <zimmermann (a] kde.org> 96592 96593 Build fix for Qt, not reviewed. 96594 Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM. 96595 96596 * dom/XMLTokenizer.cpp: 96597 (WebCore::eventuallyMarkAsParserCreated): Was erre 96598 96599 2008-08-13 Nikolas Zimmermann <zimmermann (a] kde.org> 96600 96601 Build fix, not reviewed. 96602 Add ScriptElement.cpp to Gtk build. 96603 96604 * GNUmakefile.am: 96605 96606 2008-08-13 Nikolas Zimmermann <zimmermann (a] kde.org> 96607 96608 Reviewed by Eric. 96609 96610 Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372 96611 96612 Refactor HTMLScriptElement's code into a common base class: ScriptElement. 96613 SVGScriptElement will be converted to use ScriptElement in a follow-up patch. 96614 96615 This resolves code duplications and allows us to completly replace the old 96616 SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..) 96617 96618 As ScriptElement, doesn't actually inherit from Element, we may want to rename 96619 it, though StyleElement uses the same naming convention, so I left it as is for now. 96620 Eventually we'll rename both files in future. 96621 96622 No functional changes yet, as SVGScriptElement doesn't yet use the new base class. 96623 96624 * WebCore.pro: Add new ScriptElement.cpp to build. 96625 * WebCore.vcproj/WebCore.vcproj: Ditto. 96626 * WebCore.xcodeproj/project.pbxproj: Ditto. 96627 * WebCoreSources.bkl: Dutto. 96628 * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement 96629 (WebCore::ScriptElement::insertedIntoDocument): 96630 (WebCore::ScriptElement::removedFromDocument): 96631 (WebCore::ScriptElement::childrenChanged): 96632 (WebCore::ScriptElement::finishParsingChildren): 96633 (WebCore::ScriptElement::handleSourceAttribute): 96634 (WebCore::isSupportedJavaScriptLanguage): 96635 (WebCore::ScriptElementData::ScriptElementData): 96636 (WebCore::ScriptElementData::~ScriptElementData): 96637 (WebCore::ScriptElementData::requestScript): 96638 (WebCore::ScriptElementData::evaluateScript): 96639 (WebCore::ScriptElementData::stopLoadRequest): 96640 (WebCore::ScriptElementData::notifyFinished): 96641 (WebCore::ScriptElementData::ignoresLoadRequest): 96642 (WebCore::ScriptElementData::shouldExecuteAsJavaScript): 96643 (WebCore::ScriptElementData::scriptCharset): 96644 (WebCore::ScriptElementData::scriptContent): 96645 * dom/ScriptElement.h: Added. 96646 (WebCore::ScriptElement::ScriptElement): 96647 (WebCore::ScriptElement::~ScriptElement): 96648 (WebCore::ScriptElementData::element): 96649 (WebCore::ScriptElementData::createdByParser): 96650 (WebCore::ScriptElementData::setCreatedByParser): 96651 * dom/XMLTokenizer.cpp: 96652 (WebCore::isScriptElement): 96653 (WebCore::castToScriptElement): 96654 (WebCore::eventuallyMarkAsParserCreated): 96655 (WebCore::XMLTokenizer::startElementNs): 96656 (WebCore::XMLTokenizer::endElementNs): 96657 (WebCore::createXHTMLParserErrorHeader): 96658 (WebCore::XMLTokenizer::insertErrorMessageBlock): 96659 * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement. 96660 (WebCore::HTMLScriptElement::HTMLScriptElement): 96661 (WebCore::HTMLScriptElement::~HTMLScriptElement): 96662 (WebCore::HTMLScriptElement::isURLAttribute): 96663 (WebCore::HTMLScriptElement::setCreatedByParser): 96664 (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript): 96665 (WebCore::HTMLScriptElement::childrenChanged): 96666 (WebCore::HTMLScriptElement::parseMappedAttribute): 96667 (WebCore::HTMLScriptElement::finishParsingChildren): 96668 (WebCore::HTMLScriptElement::insertedIntoDocument): 96669 (WebCore::HTMLScriptElement::removedFromDocument): 96670 (WebCore::HTMLScriptElement::text): 96671 (WebCore::HTMLScriptElement::setText): 96672 (WebCore::HTMLScriptElement::setHtmlFor): 96673 (WebCore::HTMLScriptElement::setEvent): 96674 (WebCore::HTMLScriptElement::charset): 96675 (WebCore::HTMLScriptElement::src): 96676 (WebCore::HTMLScriptElement::type): 96677 (WebCore::HTMLScriptElement::scriptCharset): 96678 (WebCore::HTMLScriptElement::scriptContent): 96679 (WebCore::HTMLScriptElement::sourceAttributeValue): 96680 (WebCore::HTMLScriptElement::charsetAttributeValue): 96681 (WebCore::HTMLScriptElement::typeAttributeValue): 96682 (WebCore::HTMLScriptElement::languageAttributeValue): 96683 (WebCore::HTMLScriptElement::dispatchLoadEvent): 96684 (WebCore::HTMLScriptElement::dispatchErrorEvent): 96685 * html/HTMLScriptElement.h: 96686 * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet. 96687 * svg/SVGScriptElement.cpp: 96688 (WebCore::SVGScriptElement::SVGScriptElement): 96689 (WebCore::SVGScriptElement::scriptContent): 96690 (WebCore::SVGScriptElement::sourceAttributeValue): 96691 (WebCore::SVGScriptElement::charsetAttributeValue): 96692 (WebCore::SVGScriptElement::typeAttributeValue): 96693 (WebCore::SVGScriptElement::languageAttributeValue): 96694 (WebCore::SVGScriptElement::dispatchLoadEvent): 96695 (WebCore::SVGScriptElement::dispatchErrorEvent): 96696 * svg/SVGScriptElement.h: 96697 (WebCore::SVGScriptElement::setCreatedByParser): 96698 96699 2008-08-13 Eric Seidel <eric (a] webkit.org> 96700 96701 Attempt to fix the Gtk build, no review. 96702 96703 I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process. 96704 96705 * platform/graphics/GraphicsContext.h: 96706 * platform/graphics/cairo/GraphicsContextCairo.cpp: 96707 * platform/graphics/qt/GradientQt.cpp: 96708 * platform/graphics/qt/GraphicsContextQt.cpp: 96709 * platform/gtk/RenderThemeGtk.cpp: 96710 (WebCore::paintMozWidget): 96711 96712 2008-08-13 Eric Seidel <eric (a] webkit.org> 96713 96714 Yet another attempt to fix the Qt build, no review. 96715 96716 * platform/graphics/qt/GradientQt.cpp: 96717 * platform/graphics/qt/GraphicsContextQt.cpp: 96718 (WebCore::GraphicsContext::applyStrokePattern): 96719 (WebCore::GraphicsContext::applyFillPattern): 96720 96721 2008-08-13 Eric Seidel <eric (a] webkit.org> 96722 96723 Attempt to fix the Windows build, no review. 96724 96725 * platform/win/CursorWin.cpp: 96726 (WebCore::loadCursorByName): 96727 * platform/win/ScrollViewWin.cpp: 96728 (WebCore::ScrollView::paint): 96729 96730 2008-08-13 Eric Seidel <eric (a] webkit.org> 96731 96732 Attempt to fix the Windows build, no review. 96733 96734 * platform/win/CursorWin.cpp: 96735 (WebCore::loadCursorByName): 96736 * platform/win/ScrollViewWin.cpp: 96737 (WebCore::ScrollView::paint): 96738 96739 2008-08-13 Eric Seidel <eric (a] webkit.org> 96740 96741 Attempt to fix the Qt build, no review. 96742 96743 * platform/graphics/qt/ImageBufferQt.cpp: 96744 (WebCore::ImageBuffer::image): 96745 96746 2008-08-13 Eric Seidel <eric (a] webkit.org> 96747 96748 Attempt to fix the Windows build, no review. 96749 96750 * platform/graphics/win/ImageWin.cpp: 96751 (WebCore::Image::loadPlatformResource): 96752 * plugins/win/PluginViewWin.cpp: 96753 (WebCore::PluginView::paintMissingPluginIcon): 96754 96755 2008-08-13 Eric Seidel <eric (a] webkit.org> 96756 96757 Another attempt to fix the Qt build, no review. 96758 96759 * platform/graphics/qt/ImageQt.cpp: 96760 * platform/graphics/qt/StillImageQt.h: 96761 96762 2008-08-13 Eric Seidel <eric (a] webkit.org> 96763 96764 No review, build fix only. 96765 96766 Fix mac build, due to change in new code since my patch was written. 96767 96768 * svg/graphics/cg/SVGResourceMaskerCg.mm: 96769 (WebCore::SVGResourceMasker::applyMask): 96770 96771 2008-08-13 Eric Seidel <eric (a] webkit.org> 96772 96773 Build fix only, no review. 96774 96775 Attempt to fix the Qt build. 96776 96777 * platform/graphics/qt/ImageBufferQt.cpp: 96778 * platform/graphics/qt/StillImageQt.h: 96779 (WebCore::StillImage::create): 96780 (WebCore::StillImage::destroyDecodedData): 96781 (WebCore::StillImage::decodedSize): 96782 96783 2008-08-13 Eric Seidel <eric (a] webkit.org> 96784 96785 Build fix only, no review. 96786 96787 Attempt to fix the Qt build. 96788 96789 * html/CanvasStyle.cpp: 96790 (WebCore::CanvasStyle::applyStrokeColor): 96791 (WebCore::CanvasStyle::applyFillColor): 96792 96793 2008-08-13 Eric Seidel <eric (a] webkit.org> 96794 96795 Reviewed by Sam. 96796 96797 Match HTML5 spec by throwing INVALID_STATE_ERR when 96798 createPattern is called and the HTMLImageElement is not 96799 yet done loading the image (!isComplete) 96800 https://bugs.webkit.org/show_bug.cgi?id=20351 96801 96802 Test: http/misc/canvas-pattern-from-incremental-image.html 96803 96804 * html/CanvasRenderingContext2D.cpp: 96805 (WebCore::CanvasRenderingContext2D::createPattern): 96806 96807 2008-08-13 Eric Seidel <eric (a] webkit.org> 96808 96809 Reviewed by Niko. 96810 96811 Split out a Pattern class from CanvasPattern 96812 and remove all the Pattern-related #ifdefs 96813 (This will break non-mac platforms! I will fix them.) 96814 https://bugs.webkit.org/show_bug.cgi?id=20351 96815 96816 * GNUmakefile.am: 96817 * WebCore.pro: 96818 * WebCore.vcproj/WebCore.vcproj: 96819 * WebCore.xcodeproj/project.pbxproj: 96820 * WebCoreSources.bkl: 96821 * html/CanvasPattern.cpp: 96822 (WebCore::CanvasPattern::parseRepetitionType): 96823 (WebCore::CanvasPattern::CanvasPattern): 96824 * html/CanvasPattern.h: 96825 (WebCore::CanvasPattern::create): 96826 (WebCore::CanvasPattern::pattern): 96827 (WebCore::CanvasPattern::originClean): 96828 * html/CanvasRenderingContext2D.cpp: 96829 (WebCore::CanvasRenderingContext2D::createPattern): 96830 (WebCore::CanvasRenderingContext2D::applyStrokePattern): 96831 (WebCore::CanvasRenderingContext2D::applyFillPattern): 96832 * html/CanvasRenderingContext2D.h: 96833 * html/HTMLCanvasElement.cpp: 96834 * html/HTMLCanvasElement.h: 96835 * loader/FrameLoader.cpp: 96836 (WebCore::FrameLoader::createHistoryItem): 96837 * platform/graphics/GraphicsContext.h: 96838 * platform/graphics/cairo/GraphicsContextCairo.cpp: 96839 (WebCore::GraphicsContext::applyStrokePattern): 96840 (WebCore::GraphicsContext::applyFillPattern): 96841 * platform/graphics/cg/GraphicsContextCG.cpp: 96842 (WebCore::GraphicsContext::clipToImageBuffer): 96843 (WebCore::GraphicsContext::applyStrokePattern): 96844 (WebCore::GraphicsContext::applyFillPattern): 96845 96846 2008-08-13 Eric Seidel <eric (a] webkit.org> 96847 96848 Reviewed by Niko. 96849 96850 Make Images RefCounted (and clean up callers) 96851 https://bugs.webkit.org/show_bug.cgi?id=20351 96852 96853 * editing/DeleteButtonController.cpp: 96854 (WebCore::DeleteButtonController::createDeletionUI): 96855 * loader/CachedImage.cpp: 96856 (WebCore::CachedImage::CachedImage): 96857 (WebCore::brokenImage): 96858 (WebCore::nullImage): 96859 (WebCore::CachedImage::image): 96860 (WebCore::CachedImage::notifyObservers): 96861 (WebCore::CachedImage::createImage): 96862 * loader/CachedImage.h: 96863 * loader/icon/IconRecord.cpp: 96864 (WebCore::IconRecord::setImageData): 96865 (WebCore::IconRecord::loadImageFromResource): 96866 * loader/icon/IconRecord.h: 96867 * platform/graphics/BitmapImage.h: 96868 (WebCore::BitmapImage::create): 96869 * platform/graphics/GeneratedImage.h: 96870 * platform/graphics/Gradient.cpp: 96871 * platform/graphics/Gradient.h: 96872 * platform/graphics/Image.cpp: 96873 (WebCore::Image::nullImage): 96874 * platform/graphics/Image.h: 96875 * platform/graphics/ImageBuffer.h: 96876 * platform/graphics/cairo/ImageBufferCairo.cpp: 96877 (WebCore::ImageBuffer::image): 96878 * platform/graphics/cg/ImageBufferCG.cpp: 96879 (WebCore::ImageBuffer::image): 96880 (WebCore::ImageBuffer::getImageData): 96881 (WebCore::ImageBuffer::putImageData): 96882 * platform/graphics/cg/PDFDocumentImage.h: 96883 (WebCore::PDFDocumentImage::create): 96884 (WebCore::PDFDocumentImage::destroyDecodedData): 96885 (WebCore::PDFDocumentImage::decodedSize): 96886 * platform/graphics/gtk/ImageGtk.cpp: 96887 (WebCore::Image::loadPlatformResource): 96888 * platform/graphics/mac/ImageMac.mm: 96889 (WebCore::Image::loadPlatformResource): 96890 * rendering/RenderImage.cpp: 96891 * rendering/RenderLayer.cpp: 96892 (WebCore::RenderLayer::paintOverflowControls): 96893 * svg/graphics/SVGImage.cpp: 96894 (WebCore::SVGImage::nativeImageForCurrentFrame): 96895 * svg/graphics/SVGImage.h: 96896 (WebCore::SVGImage::create): 96897 (WebCore::SVGImage::destroyDecodedData): 96898 (WebCore::SVGImage::decodedSize): 96899 (WebCore::SVGImage::frameAtIndex): 96900 * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp: 96901 (WebCore::SVGPaintServerPattern::setup): 96902 * svg/graphics/cairo/SVGResourceMaskerCairo.cpp: 96903 (WebCore::SVGResourceMasker::applyMask): 96904 * svg/graphics/cg/SVGPaintServerPatternCg.cpp: 96905 (WebCore::patternCallback): 96906 * svg/graphics/cg/SVGResourceMaskerCg.mm: 96907 (WebCore::SVGResourceMasker::applyMask): 96908 96909 2008-08-13 Eric Seidel <eric (a] webkit.org> 96910 96911 Reviewed by Niko. 96912 96913 Remove #ifdefs from CanvasStyle by using platform/Color.h 96914 https://bugs.webkit.org/show_bug.cgi?id=20351 96915 96916 There are some down-sides to this commit. 96917 This commit limits us to 255 levels of grey for calls like: 96918 context.setStrokeStyle(.37, 1.0) 96919 previously CG might have used up to 32bits to store the grey level 96920 Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice. 96921 96922 Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited 96923 to RGBA32 (like all the rest of colors in WebCore), thus: 96924 context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as: 96925 context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32 96926 96927 If this is a problem for Dashboard, we can either roll out this commit 96928 or add a beefier Color abstraction, which can be used internally by GraphicsContext 96929 when keeping state, and then GraphicsContext can grow some additional set* routines 96930 for setting the a grey/float/whatever fill and stroke. 96931 96932 * html/CanvasRenderingContext2D.cpp: 96933 (WebCore::CanvasRenderingContext2D::setFillStyle): 96934 * html/CanvasStyle.cpp: 96935 (WebCore::CanvasStyle::CanvasStyle): 96936 (WebCore::colorWithOverrideAlpha): 96937 (WebCore::CanvasStyle::applyStrokeColor): 96938 (WebCore::CanvasStyle::applyFillColor): 96939 * html/CanvasStyle.h: 96940 * platform/graphics/Color.cpp: 96941 (WebCore::colorFloatToRGBAByte): 96942 (WebCore::makeRGBA32FromFloats): 96943 * platform/graphics/Color.h: 96944 96945 2008-08-13 Eric Carlson <eric.carlson (a] apple.com> 96946 96947 Reviewed by Adele Peterson. 96948 96949 Fix for <rdar://problem/6137931> 96950 https://bugs.webkit.org/show_bug.cgi?id=20360 96951 Remove all parameters from the MIME type before checking with the MIME type registry 96952 96953 Tests: media/video-source-type-params.html 96954 96955 * html/HTMLMediaElement.cpp: 96956 (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' 96957 to isSupportedMediaMIMEType() 96958 96959 2008-08-13 Beth Dakin <bdakin (a] apple.com> 96960 96961 Reviewed by Sam Weinig. 96962 96963 Fix for <rdar://problem/6141345> 96964 96965 This patch refines findString and markAllMatchesForText functions' 96966 interactions with disconnected frames. They no longer rely on 96967 knowing where a range is relative to the visible region and work 96968 with disconnected frames that contain frames. 96969 96970 * editing/Editor.cpp: 96971 (WebCore::Editor::insideVisibleArea): Now returns a bool instead of 96972 the visiblity enum. 96973 (WebCore::Editor::firstVisibleRange): This now returns the very 96974 first visible range in the document. It's no longer dependent on 96975 searching forward. 96976 (WebCore::Editor::lastVisibleRange): This now returns the very last 96977 visible range in the document. It's no longer dependent on 96978 searching backwards. 96979 (WebCore::Editor::nextVisibleRange): This returns the next visible 96980 range in the appropriate direction from the current range. 96981 * editing/Editor.h: 96982 * page/Frame.cpp: 96983 (WebCore::Frame::findString): 96984 (WebCore::Frame::markAllMatchesForText): 96985 96986 2008-08-13 Kevin Ollivier <kevino (a] theolliviers.com> 96987 96988 wx build fix for case-sensitive platforms, like Linux. 96989 96990 * WebCoreSources.bkl: 96991 96992 2008-08-13 Marco Barisione <marco.barisione (a] collabora.co.uk> 96993 96994 Reviewed by Holger Freyther. 96995 96996 http://bugs.webkit.org/show_bug.cgi?id=16881 96997 [GTK] PlatformScreenGtk is unimplemented 96998 96999 Original patch by Christian Dywan. 97000 97001 * platform/gtk/PlatformScreenGtk.cpp: 97002 (WebCore::screenDepth): 97003 (WebCore::screenDepthPerComponent): 97004 (WebCore::screenIsMonochrome): 97005 (WebCore::screenRect): 97006 (WebCore::screenAvailableRect): 97007 97008 2008-08-13 Jan Michael Alonzo <jmalonzo (a] webkit.org> 97009 97010 Reviewed by Holger Freyther. 97011 97012 http://bugs.webkit.org/show_bug.cgi?id=20318 97013 SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add 97014 97015 g_idle_add is the same as g_idle_add_full with a priority of 97016 G_PRIORITY_DEFAULT_IDLE, so we can safely use that. 97017 97018 * platform/gtk/SharedTimerGtk.cpp: 97019 (WebCore::setSharedTimerFireTime): 97020 97021 2008-08-13 Timothy Hatcher <timothy (a] apple.com> 97022 97023 Changed the InspectorController so it can be notified when the 97024 attached state of the Inspector changes in WebKit. 97025 97026 Reviewed by Kevin McCullough. 97027 97028 * WebCore.base.exp: Updated the symbol for setWindowVisible. 97029 * page/InspectorController.cpp: 97030 (WebCore::InspectorController::setWindowVisible): Added an attached argument, 97031 that defaults to false.Call setAttachedWindow with the attached argument. 97032 (WebCore::InspectorController::setAttachedWindow): Call the script version 97033 of setAttachedWindow. 97034 * page/InspectorController.h: 97035 * page/inspector/inspector.js: 97036 (WebInspector.setAttachedWindow): Set the attached property. 97037 97038 2008-08-12 Timothy Hatcher <timothy (a] apple.com> 97039 97040 Added a close button to the Inspector's toolbar when docked. 97041 97042 https://bugs.webkit.org/show_bug.cgi?id=14270 97043 97044 Reviewed by Kevin McCullough. 97045 97046 * page/InspectorController.cpp: 97047 (WebCore::closeWindow): Call InspectorController::closeWindow. 97048 (WebCore::InspectorController::windowScriptObjectAvailable): 97049 Added closeWindow to the script class. 97050 * page/InspectorController.h: 97051 * page/inspector/Images/closeButtons.png: Added. 97052 * page/inspector/inspector.css: Added and changed styles. 97053 * page/inspector/inspector.html: Added the close button. 97054 * page/inspector/inspector.js: 97055 (WebInspector.loaded): Added click event listener to the close button. 97056 (WebInspector.close): Call InspectorController.closeWindow. 97057 97058 2008-08-12 Timothy Hatcher <timothy (a] apple.com> 97059 97060 Make the docked Web Inspector resizable. This is the cross platform 97061 portion of the code. Each InspectorClient needs to implement the 97062 real resize code. 97063 97064 https://bugs.webkit.org/show_bug.cgi?id=14282 97065 97066 Reviewed by Kevin McCullough. 97067 97068 * loader/EmptyClients.h: Added an empty setAttachedWindowHeight. 97069 * page/InspectorClient.h: Added setAttachedWindowHeight. 97070 * page/InspectorController.cpp: 97071 (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight 97072 on the InspectorController. 97073 (WebCore::InspectorController::setAttachedWindowHeight): Call 97074 setAttachedWindowHeight on the client. 97075 (WebCore::InspectorController::windowScriptObjectAvailable): 97076 Added setAttachedWindowHeight to the script class. 97077 * page/InspectorController.h: 97078 * page/inspector/inspector.css: Make the cursor on the toolbar be 97079 row-resize when docked. 97080 * page/inspector/inspector.js: 97081 (WebInspector.loaded): Always add the toolbarDragStart event listener. 97082 (WebInspector.toolbarDragStart): Return early if we are not attached 97083 and not on Leopard. Call WebInspector.elementDragStart. 97084 (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd. 97085 (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight, 97086 otherwise call moveByUnrestricted. 97087 97088 2008-08-13 Simon Hausmann <hausmann (a] webkit.org> 97089 97090 Reviewed by Holger. 97091 97092 Initialize m_zoomsTextOnly in the Settings constructor. 97093 97094 * page/Settings.cpp: 97095 (WebCore::Settings::Settings): 97096 97097 2008-08-13 Brad Hughes <bhughes (a] trolltech.com> 97098 97099 Reviewed by Simon. 97100 97101 Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux 97102 97103 The latest upgrade of the intel compiler allows us to compile all of 97104 Qt with optimizations enabled (yay!). 97105 97106 * WebCore.pro: 97107 97108 2008-08-13 Prasanth Ullattil <prasanth.ullattil (a] trolltech.com> 97109 97110 Reviewed by Simon. 97111 97112 Fix QtWebKit not displaying content on 403 HTTP responses 97113 97114 Just like with 404 responses also display content with 403, as 97115 used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/ 97116 97117 * platform/network/qt/QNetworkReplyHandler.cpp: 97118 (WebCore::QNetworkReplyHandler::finish): 97119 97120 2008-08-13 Simon Hausmann <hausmann (a] webkit.org> 97121 97122 Reviewed by Holger. 97123 97124 Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994 97125 97126 Make the formatting of String::format() locale independent through the use of QString::vsprintf. 97127 97128 * platform/text/String.cpp: 97129 (WebCore::String::format): 97130 97131 2008-08-13 Simon Hausmann <hausmann (a] webkit.org> 97132 97133 Reviewed by Lars. 97134 97135 Fix QWebFrame::setHtml() not setting the new contents immediately. 97136 97137 Added a setter to the DocumentLoader to toggle the deferred loading of the main 97138 resource when it comes from substitute data. 97139 97140 Disable deferred loading of the main resource when we have valid substitute data, 97141 as used by QWebFrame::setHtml. 97142 97143 * loader/DocumentLoader.h: 97144 97145 2008-08-13 Mark Rowe <mrowe (a] apple.com> 97146 97147 Speculative GTK build fix. 97148 97149 * GNUmakefile.am: Add dependency info for JSSVGElementWrapperFactory.cpp. 97150 97151 2008-08-13 Thiago Macieira <tjmaciei (a] trolltech.com> 97152 97153 Reviewed by Simon. 97154 97155 Fix encoding of [ and ] in the host part of the URL 97156 97157 Until QUrl is fixed (making QUrl's tolerant parser more tolerant), we have to 97158 add this workaround to the QUrl <> WebCore::KURL conversion operator so that it 97159 doesn't encode [ and ] when they are found in the host part. That is, the 97160 following URL: 97161 http://[::1]/ 97162 is valid and should not be reencoded to: 97163 http://%5b::1%5d/ 97164 97165 * platform/qt/KURLQt.cpp: 97166 (WebCore::KURL::operator QUrl): 97167 97168 2008-08-12 Mihnea Ovidenie <mihnea (a] adobe.com> 97169 97170 Fix for https://bugs.webkit.org/show_bug.cgi?id=19891 97171 Broken HTML object elements cause de-reference of pointer to freed memory. 97172 If we fail to load an image for an object tag and we no longer believe the object tag points at 97173 an image, then clear m_imageLoader in the HTMLObjectElement so that we attempt to render the 97174 fall back content. 97175 97176 Reviewed by Dave Hyatt and Alexey Proskuryakov. 97177 97178 Test: http/tests/misc/object-image-error-with-onload.html 97179 97180 * html/HTMLObjectElement.cpp: 97181 (WebCore::HTMLObjectElement::renderFallbackContent): 97182 * page/Frame.cpp: 97183 (WebCore::Frame::Frame): 97184 97185 2008-08-12 Nikolas Zimmermann <zimmermann (a] kde.org> 97186 97187 Reviewed by Dave. 97188 97189 Fixes: https://bugs.webkit.org/show_bug.cgi?id=19798 97190 Masks are translated, and the mask images are swapped on the y-axis. 97191 97192 Turned out that http://trac.webkit.org/changeset/31830/trunk/WebCore/svg/graphics/cg/SVGResourceMaskerCg.mm 97193 is guilty. GraphicsContext::clipToImageBuffer() does some extra transformations that SVGResourcesMaskerCg does not want. 97194 97195 Long term goal is to remove the SVGResource*/SVGPaintServer* classes anyway, so it's okay to duplicate 97196 the "clip to image buffer" functionality, in the CG specific SVGResourceMaskerCg class - as it was before. 97197 97198 * svg/graphics/cg/SVGResourceMaskerCg.mm: 97199 (WebCore::SVGResourceMasker::applyMask): Changed back to use CG clipping again. 97200 97201 2008-08-12 Dan Bernstein <mitz (a] apple.com> 97202 97203 - WebCore part of <rdar://problem/6121636> 97204 Make fast*alloc() abort() on failure and add "try" variants that 97205 return NULL on failure. 97206 97207 Reviewed by Darin Adler. 97208 97209 * platform/Arena.cpp: 97210 (WebCore::ArenaAllocate): Removed null checking of fastMalloc()'s 97211 result. 97212 * platform/graphics/cg/ImageBufferCG.cpp: 97213 (WebCore::ImageBuffer::create): Changed to use tryFastCalloc(). 97214 97215 2008-08-12 Dan Bernstein <mitz (a] apple.com> 97216 97217 Reviewed by Darin Adler. 97218 97219 - fix https://bugs.webkit.org/show_bug.cgi?id=19348 97220 <rdar://problem/5978447> REGRESSION (r34193): Setting the size of a frame with javascript document.body.row no longer works 97221 97222 Test: fast/frames/frameset-style-recalc.html 97223 97224 * html/HTMLFrameSetElement.cpp: 97225 (WebCore::HTMLFrameSetElement::recalcStyle): Changed to call the base 97226 class implementation after marking for layout. 97227 97228 2008-08-12 Dan Bernstein <mitz (a] apple.com> 97229 97230 Reviewed by John Sullivan. 97231 97232 - move shouldUpdateWhenOffscreen from Settings to FrameView and rename it shouldUpdateWhileHidden 97233 97234 * WebCore.base.exp: 97235 * page/FrameView.cpp: 97236 (WebCore::FrameViewPrivate::FrameViewPrivate): 97237 (WebCore::FrameView::shouldUpdateWhileHidden): 97238 (WebCore::FrameView::setShouldUpdateWhileHidden): 97239 * page/FrameView.h: 97240 * page/Settings.cpp: 97241 * page/Settings.h: 97242 97243 2008-08-12 Adam Roben <aroben (a] apple.com> 97244 97245 Windows build fix 97246 97247 * bindings/js/JSSVGPODTypeWrapper.h: Align 97248 JSSVGDynamicPODTypeWrapper's and JSSVGStaticPODTypeWrapperWithParent's 97249 members on 16-byte boundaries to avoid an alignment warning. 97250 97251 2008-08-12 Nikolas Zimmermann <zimmermann (a] kde.org> 97252 97253 Reviewed by Oliver. 97254 97255 Add new dynamice-update layout tests covering SVGMarkerElement. 97256 Fix bug: SVGMarkerElement's SVG DOM function calls don't update rendering. 97257 Fix orientAngle/orientType confusion: "auto" orient should always return "0" as angle. 97258 97259 Tests: svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html 97260 svg/dynamic-updates/SVGMarkerElement-dom-markerUnits-attr.html 97261 svg/dynamic-updates/SVGMarkerElement-dom-markerWidth-attr.html 97262 svg/dynamic-updates/SVGMarkerElement-dom-orient-attr.html 97263 svg/dynamic-updates/SVGMarkerElement-dom-refX-attr.html 97264 svg/dynamic-updates/SVGMarkerElement-dom-refY-attr.html 97265 svg/dynamic-updates/SVGMarkerElement-svgdom-markerHeight-prop.html 97266 svg/dynamic-updates/SVGMarkerElement-svgdom-markerUnits-prop.html 97267 svg/dynamic-updates/SVGMarkerElement-svgdom-markerWidth-prop.html 97268 svg/dynamic-updates/SVGMarkerElement-svgdom-orientAngle-prop.html 97269 svg/dynamic-updates/SVGMarkerElement-svgdom-orientType-prop.html 97270 svg/dynamic-updates/SVGMarkerElement-svgdom-refX-prop.html 97271 svg/dynamic-updates/SVGMarkerElement-svgdom-refY-prop.html 97272 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAngle-call.html 97273 svg/dynamic-updates/SVGMarkerElement-svgdom-setOrientToAuto-call.html 97274 97275 * svg/SVGMarkerElement.cpp: 97276 (WebCore::SVGMarkerElement::SVGMarkerElement): 97277 (WebCore::SVGMarkerElement::parseMappedAttribute): 97278 (WebCore::SVGMarkerElement::svgAttributeChanged): 97279 (WebCore::SVGMarkerElement::childrenChanged): 97280 (WebCore::SVGMarkerElement::setOrientToAuto): 97281 (WebCore::SVGMarkerElement::setOrientToAngle): 97282 (WebCore::SVGMarkerElement::canvasResource): 97283 97284 2008-08-12 Nikolas Zimmermann <zimmermann (a] kde.org> 97285 97286 Reviewed by Oliver. 97287 97288 Add new dynamic-update layout tests covering SVGImageElement. 97289 Fix bug: SVGImageElement doesn't react on 'preserveAspectRatio' changes. 97290 97291 Tests: svg/dynamic-updates/SVGImageElement-dom-height-attr.html 97292 svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr.html 97293 svg/dynamic-updates/SVGImageElement-dom-width-attr.html 97294 svg/dynamic-updates/SVGImageElement-dom-x-attr.html 97295 svg/dynamic-updates/SVGImageElement-dom-y-attr.html 97296 svg/dynamic-updates/SVGImageElement-svgdom-height-prop.html 97297 svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop.html 97298 svg/dynamic-updates/SVGImageElement-svgdom-width-prop.html 97299 svg/dynamic-updates/SVGImageElement-svgdom-x-prop.html 97300 svg/dynamic-updates/SVGImageElement-svgdom-y-prop.html 97301 97302 * svg/SVGImageElement.cpp: 97303 (WebCore::SVGImageElement::svgAttributeChanged): 97304 97305 2008-08-11 Anthony Ricaud <rik24d (a] gmail.com> 97306 97307 Changed Option/Alt-Up or Down in CSS editing when the value is 97308 near zero to jump to the next integer. 97309 97310 Reviewed by Tim Hatcher. 97311 97312 https://bugs.webkit.org/show_bug.cgi?id=20326 97313 97314 * page/inspector/StylesSidebarPane.js: 97315 97316 2008-08-11 Anthony Ricaud <rik24d (a] gmail.com> 97317 97318 Changed the line highlight transition for an easier animation. 97319 97320 Reviewed by Tim Hatcher. 97321 97322 * page/inspector/SourceFrame.js: 97323 97324 2008-08-11 Keishi Hattori <casey.hattori (a] gmail.com> 97325 97326 Added support for some Firebug Command Line APIs. 97327 97328 Reviewed by Tim Hatcher. 97329 97330 https://bugs.webkit.org/show_bug.cgi?id=19867 97331 https://bugs.webkit.org/show_bug.cgi?id=19868 97332 https://bugs.webkit.org/show_bug.cgi?id=19869 97333 https://bugs.webkit.org/show_bug.cgi?id=19875 97334 https://bugs.webkit.org/show_bug.cgi?id=19876 97335 https://bugs.webkit.org/show_bug.cgi?id=19880 97336 97337 * page/inspector/Console.js: 97338 (WebInspector.Console.prototype._evalInInspectedWindow): 97339 Create an object on the inspected window that holds the console 97340 command line API functions. This object is used in a with statement 97341 around the typed expression. 97342 97343 2008-08-11 Nikolas Zimmermann <zimmermann (a] kde.org> 97344 97345 Reviewed by Antti. 97346 97347 Fixes: http://bugs.webkit.org/show_bug.cgi?id=17736 97348 97349 JS wrapper objects around SVG POD types, that contain other SVG POD types with writable properties 97350 failed to update. Modification of the values were completly ignored (ie. transform.matrix.a = 50, didn't take any effect) 97351 97352 Added tests: svg/custom/svg-modify-currentTranslate.html 97353 svg/custom/tearoffs-with-tearoffs.html 97354 svg/custom/immutable-properties.html 97355 97356 Fixed tests: svg/dynamic-updates/SVGLinearGradientElement-svgdom-gradientTransform-prop.html 97357 97358 * bindings/js/JSSVGPODTypeWrapper.h: 97359 (WebCore::JSSVGDynamicPODTypeWrapper::commitChange): 97360 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::create): 97361 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::commitChange): 97362 (WebCore::JSSVGStaticPODTypeWrapperWithPODTypeParent::JSSVGStaticPODTypeWrapperWithPODTypeParent): 97363 (WebCore::JSSVGStaticPODTypeWrapperWithParent::create): 97364 (WebCore::JSSVGStaticPODTypeWrapperWithParent::operator PODType): 97365 (WebCore::JSSVGStaticPODTypeWrapperWithParent::commitChange): 97366 (WebCore::JSSVGStaticPODTypeWrapperWithParent::JSSVGStaticPODTypeWrapperWithParent): 97367 * bindings/scripts/CodeGenerator.pm: 97368 * bindings/scripts/CodeGeneratorJS.pm: 97369 * svg/SVGSVGElement.idl: Add [Immutable] markers to SVG POD attributes, that contain POD types with writable attributes. 97370 * svg/SVGZoomEvent.idl: SVG specification explicitely demands these attributes to be readonly, even its content. 97371 97372 2008-08-11 Brady Eidson <beidson (a] apple.com> 97373 97374 Reviewed by John and Anders 97375 97376 Fix for <rdar://problem/6141797> 97377 97378 When WebArchives were entirely a WebKit concept, there was a guarantee that a WebResource 97379 would never have nil data. 97380 97381 When they were pushed down into WebCore, that guarantee was lost, subtly changing a few 97382 semantics with some WebKit applications. 97383 97384 The guarantee was a good one and should be restored. 97385 97386 Note that ApplicationCacheResource doesn't need any updates to follow this rule as it already 97387 creates an empty data object in the case of null data for its own purposes. 97388 97389 * loader/SubstituteResource.h: 97390 (WebCore::SubstituteResource::SubstituteResource): ASSERT that the data is not null. This 97391 well help any future subclassers not make this mistake. 97392 97393 * loader/archive/ArchiveResource.cpp: 97394 (WebCore::ArchiveResource::create): Return 0 if the data is null. 97395 97396 2008-08-11 Simon Fraser <simon.fraser (a] apple.com> 97397 97398 Reviewed by Dave Hyatt 97399 97400 https://bugs.webkit.org/show_bug.cgi?id=20328 97401 Fix a problem when an 'all' transition transition with more than 97402 one property changing is interrupted, and did some AnimationController 97403 cleanup. 97404 97405 Test: transitions/interrupted-all-transition.html 97406 97407 * page/AnimationController.cpp: 97408 (WebCore::ImplicitAnimation::ImplicitAnimation): 97409 (WebCore::AnimationControllerPrivate::blendProperties): 97410 (WebCore::CompositeAnimation::updateTransitions): 97411 (WebCore::CompositeAnimation::cleanupFinishedAnimations): 97412 (WebCore::CompositeAnimation::setTransitionStartTime): 97413 (WebCore::CompositeAnimation::overrideImplicitAnimations): 97414 (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations): 97415 (WebCore::ImplicitAnimation::animate): 97416 (WebCore::ImplicitAnimation::onAnimationEnd): 97417 (WebCore::ImplicitAnimation::sendTransitionEvent): 97418 (WebCore::ImplicitAnimation::affectsProperty): 97419 (WebCore::KeyframeAnimation::endAnimation): 97420 (WebCore::KeyframeAnimation::onAnimationEnd): 97421 97422 2008-08-11 Kevin McCullough <kmccullough (a] apple.com> 97423 97424 Reviewed by Tim. 97425 97426 - Because console messages have group levels now, newly created messages 97427 that do not specify the level lose their message since the number of 97428 arguments is wrong. 97429 97430 * page/inspector/Console.js: 97431 * page/inspector/Resource.js: 97432 97433 2008-08-11 Alp Toker <alp (a] nuanti.com> 97434 97435 Build fix. Add new files from r35666 (WebKitAnimationEvent). Also take 97436 the opportunity to sort the sources lists. 97437 97438 * GNUmakefile.am: 97439 97440 2008-08-11 Timothy Hatcher <timothy (a] apple.com> 97441 97442 Speed up the the JavaScript syntax highlighter by generating 97443 the finders only once per script instead of per line. 97444 97445 https://bugs.webkit.org/show_bug.cgi?id=20346 97446 97447 Reviewed by Adam Roben. 97448 97449 * page/inspector/SourceFrame.js: 97450 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): 97451 Removed, factored into syntaxHighlightJavascript as an inline function. 97452 (WebInspector.SourceFrame.prototype.syntaxHighlightJavascript): 97453 Pulled in the _syntaxHighlightJavascriptLine so it will create a closure. 97454 Generate the finders before iterating the lines. 97455 97456 2008-08-11 Adam Roben <aroben (a] apple.com> 97457 97458 Windows build fix 97459 97460 * WebCore.vcproj/WebCore.vcproj: Added JSWebKitAnimationEvent.cpp and 97461 JSWebKitTransitionEvent.cpp to the project. Let VS reformat the file, 97462 too. 97463 97464 2008-08-11 Dan Bernstein <mitz (a] apple.com> 97465 97466 Reviewed by Darin Adler. 97467 97468 - fix <rdar://problem/6131096> Reproducible crash in CounterNode::isReset under guard malloc 97469 97470 Test: fast/css/counters/invalidate-cached-counter-node.html 97471 97472 * rendering/RenderContainer.cpp: 97473 (WebCore::RenderContainer::invalidateCounters): Added. Invalidates all 97474 RenderCounters in :before and :after content. 97475 * rendering/RenderContainer.h: 97476 * rendering/RenderCounter.cpp: 97477 (WebCore::RenderCounter::isCounter): Renamed isRenderCounter() to this 97478 to match the RenderObject method. 97479 (WebCore::RenderCounter::invalidate): Added. Resets the cached 97480 CounterNode and invalidates the object's layout and preferred widths. 97481 (WebCore::destroyCounterNodeChildren): Added a call to 97482 invalidateCounters(). 97483 * rendering/RenderCounter.h: 97484 * rendering/RenderObject.h: 97485 (WebCore::RenderObject::invalidateCounters): 97486 97487 2008-08-11 Dean Jackson <dino (a] apple.com> 97488 97489 Implement CSS Animation and Transition Events 97490 https://bugs.webkit.org/show_bug.cgi?id=20337 97491 97492 Implement the events defined in the CSS Animations 97493 and Transitions specifications so code can react 97494 to animations and transitions. 97495 97496 Reviewed by Tim Hatcher and Dave Hyatt. 97497 97498 * DerivedSources.make: 97499 * GNUmakefile.am: 97500 * WebCore.pro: 97501 * WebCore.vcproj/WebCore.vcproj: 97502 * WebCore.xcodeproj/project.pbxproj: 97503 * WebCoreSources.bkl: 97504 Build configs for new files 97505 97506 * bindings/js/JSDOMWindowBase.cpp: 97507 * bindings/js/JSDOMWindowBase.h: 97508 * bindings/js/JSEventCustom.cpp: 97509 * dom/Document.h: 97510 * dom/Event.cpp: 97511 * dom/Event.h: 97512 * dom/EventTarget.cpp: 97513 * dom/EventTargetNode.cpp: 97514 * dom/EventTargetNode.h: 97515 * html/HTMLElement.cpp: 97516 * page/AnimationController.cpp: 97517 do all the new event stuff 97518 97519 * html/HTMLAttributeNames.in: 97520 the onwebkitanimation* and onwebkittransitionend attrs 97521 97522 * dom/WebKitAnimationEvent.cpp: Added. 97523 * dom/WebKitAnimationEvent.h: Added. 97524 * dom/WebKitAnimationEvent.idl: Added. 97525 * dom/WebKitTransitionEvent.cpp: Added. 97526 * dom/WebKitTransitionEvent.h: Added. 97527 * dom/WebKitTransitionEvent.idl: Added. 97528 New files for the events 97529 97530 * manual-tests/transition-events.html: Added. 97531 New testfile 97532 97533 2008-08-11 Adam Roben <aroben (a] apple.com> 97534 97535 Add a ForwardingHeader for wtf/NotFound.h 97536 97537 Rubberstamped by Darin Adler. 97538 97539 * ForwardingHeaders/wtf/NotFound.h: Added. 97540 97541 2008-08-11 Timothy Hatcher <timothy (a] apple.com> 97542 97543 Fixes a bug where error bubbles in JavaScript resources would 97544 be clobbered by the syntax highlighter. 97545 97546 https://bugs.webkit.org/show_bug.cgi?id=20345 97547 97548 Reviewed by Adam Roben. 97549 97550 * manual-tests/inspector/resources/script-error.js: Added. 97551 * manual-tests/inspector/styled-error-bubbles-in-scripts.html: Added. 97552 * page/inspector/SourceFrame.js: 97553 (WebInspector.SourceFrame.prototype._addMessageToSource): 97554 Check the nodeType and not the nodeName, this is less fragile. 97555 (WebInspector.SourceFrame.prototype._syntaxHighlightJavascriptLine): 97556 Check if the lastChild is an error bubble, if so remove it before 97557 getting the line's textContent. Add the error bubble back at the end. 97558 97559 == Rolled over to ChangeLog-2008-08-10 == 97560